summaryrefslogtreecommitdiff
path: root/lib/opentox.rb
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2013-06-05 19:41:48 +0200
committerChristoph Helma <helma@in-silico.ch>2013-06-05 19:41:48 +0200
commit128ef342e71337fc53b980e549d0a477a768c294 (patch)
tree41ec6a61110a2741152da8c52bfa8c2386a7b67e /lib/opentox.rb
parent183ccb509592f4a9cf0c473c5a3ebcd957f7bb70 (diff)
parent5dab9d972bedb4319de39ee17253902fb37f8667 (diff)
Merge branch 'development' of github.com:opentox/opentox-client into development
Diffstat (limited to 'lib/opentox.rb')
-rw-r--r--lib/opentox.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/opentox.rb b/lib/opentox.rb
index 8817798..0e44426 100644
--- a/lib/opentox.rb
+++ b/lib/opentox.rb
@@ -135,7 +135,9 @@ module OpenTox
@metadata[RDF.type] ||= eval("RDF::OT."+self.class.to_s.split('::').last)
@metadata[RDF::DC.date] ||= DateTime.now
@metadata.each do |predicate,values|
- [values].flatten.each { |value| @rdf << [RDF::URI.new(@uri), predicate, value] }
+ [values].flatten.each do |value|
+ predicate =~ /#{RDF::DC.date}|#{RDF::DC.title}|#{RDF::DC.description}/ ? @rdf.update([RDF::URI.new(@uri), predicate, value]) : @rdf << [RDF::URI.new(@uri), predicate, value]
+ end
end
@parameters.each do |parameter|
p_node = RDF::Node.new
@@ -160,7 +162,7 @@ module OpenTox
send :define_method, "to_#{format}".to_sym do
create_rdf
RDF::Writer.for(format).buffer(:encoding => Encoding::ASCII) do |writer|
- @rdf.each{|statement| writer << statement}
+ writer << @rdf
end
end
end
@@ -169,8 +171,8 @@ module OpenTox
prefixes = {:rdf => "http://www.w3.org/1999/02/22-rdf-syntax-ns#"}
['OT', 'DC', 'XSD', 'OLO'].each{|p| prefixes[p.downcase.to_sym] = eval("RDF::#{p}.to_s") }
create_rdf
- RDF::Turtle::Writer.for(:turtle).buffer(:prefixes => prefixes) do |writer|
- @rdf.each{|statement| writer << statement}
+ RDF::Writer.for(:turtle).buffer(:prefixes => prefixes) do |writer|
+ writer << @rdf
end
end