summaryrefslogtreecommitdiff
path: root/lib/opentox.rb
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2012-07-26 16:23:44 +0200
committerChristoph Helma <helma@in-silico.ch>2012-07-26 16:23:44 +0200
commitfc0397cd0d51df4fe7c23f601c2f211c2ebfbf77 (patch)
tree6a1b4b9b90def519c608b6ce33cd3bba08796666 /lib/opentox.rb
parent65c67111098ba37171ac12f6215c20c2a321d1de (diff)
parameter settting for algorithms and models
Diffstat (limited to 'lib/opentox.rb')
-rw-r--r--lib/opentox.rb30
1 files changed, 29 insertions, 1 deletions
diff --git a/lib/opentox.rb b/lib/opentox.rb
index d3b73fb..2c4578f 100644
--- a/lib/opentox.rb
+++ b/lib/opentox.rb
@@ -50,6 +50,30 @@ module OpenTox
append predicate.to_s, values
end
+ def parameters
+ params = {}
+ query = RDF::Query.new({
+ :parameter => {
+ RDF.type => RDF::OT.Parameter,
+ :property => :value,
+ }
+ })
+ query.execute(@rdf).each do |solution|
+ params[solution.parameter] = {} unless params[solution.parameter]
+ params[solution.parameter][solution.property.to_s] = solution.value.to_s
+ end
+ params.values
+ end
+
+ def parameters=(parameters)
+ parameters.each do |param|
+ p_node = RDF::Node.new
+ @rdf << [RDF::URI.new(@uri), RDF::OT.parameters, p_node]
+ @rdf << [p_node, RDF.type, RDF::OT.Parameter]
+ param.each{ |p,o| @rdf << [p_node, p, o] }
+ end
+ end
+
# Append object metadata
# @param [String] Predicate URI
# @param [Array, String] Predicate value(s)
@@ -131,7 +155,11 @@ module OpenTox
end
end
- {:title => RDF::DC.title, :dexcription => RDF::DC.description}.each do |method,predicate|
+ {
+ :title => RDF::DC.title,
+ :dexcription => RDF::DC.description,
+ :type => RDF.type
+ }.each do |method,predicate|
send :define_method, method do
self.[](predicate)
end