summaryrefslogtreecommitdiff
path: root/lib/opentox.rb
diff options
context:
space:
mode:
authorgebele <gebele@in-silico.ch>2013-06-05 16:37:06 +0200
committergebele <gebele@in-silico.ch>2013-06-05 16:37:06 +0200
commit0c20a7e7841c2c85a4d3260d018017d350bc0953 (patch)
tree461bf0d362f1b51103595fabacaa98e32a690318 /lib/opentox.rb
parent617ff7b6b8e59678655da80a7171f8656baf0022 (diff)
simplify RDF::Writer method
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 211fc7b..305b5d9 100644
--- a/lib/opentox.rb
+++ b/lib/opentox.rb
@@ -133,7 +133,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
@@ -158,7 +160,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
@@ -167,8 +169,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