diff options
author | Christoph Helma <helma@in-silico.ch> | 2012-07-26 16:23:44 +0200 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2012-07-26 16:23:44 +0200 |
commit | fc0397cd0d51df4fe7c23f601c2f211c2ebfbf77 (patch) | |
tree | 6a1b4b9b90def519c608b6ce33cd3bba08796666 /lib/opentox.rb | |
parent | 65c67111098ba37171ac12f6215c20c2a321d1de (diff) |
parameter settting for algorithms and models
Diffstat (limited to 'lib/opentox.rb')
-rw-r--r-- | lib/opentox.rb | 30 |
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 |