From 0c20a7e7841c2c85a4d3260d018017d350bc0953 Mon Sep 17 00:00:00 2001 From: gebele Date: Wed, 5 Jun 2013 16:37:06 +0200 Subject: simplify RDF::Writer method --- lib/opentox.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'lib/opentox.rb') 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 -- cgit v1.2.3