diff options
author | Christoph Helma <helma@in-silico.ch> | 2012-03-14 11:14:50 +0100 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2012-03-14 11:14:50 +0100 |
commit | 87458637a9cdcee5066f2f3d087f8052fe89f064 (patch) | |
tree | bdfd7b14420550d1da120549bdeab5ef03ddb975 | |
parent | 625c88673e90053f898423dfc96bda1d6c0fa8eb (diff) |
dataset metadata fixed
-rw-r--r-- | lib/opentox.rb | 7 | ||||
-rw-r--r-- | test/dataset.rb | 12 |
2 files changed, 6 insertions, 13 deletions
diff --git a/lib/opentox.rb b/lib/opentox.rb index 342b04e..6ce9a12 100644 --- a/lib/opentox.rb +++ b/lib/opentox.rb @@ -31,8 +31,8 @@ module OpenTox pull if @rdf.empty? metadata = {} @rdf.query([RDF::URI.new(@uri),nil,nil]).collect do |statement| - metadata[statement.predicate] ||= [] - metadata[statement.predicate] << statement.object + metadata[statement.predicate.to_s] ||= [] + metadata[statement.predicate.to_s] << statement.object.to_s end metadata end @@ -42,7 +42,8 @@ module OpenTox # @return [Array] Values for supplied key def [](key) pull if @rdf.empty? - @rdf.query([RDF::URI.new(@uri),key,nil]).collect{|statement| statement.object} + result = @rdf.query([RDF::URI.new(@uri),key,nil]).collect{|statement| statement.object.to_s} + result.size == 1 ? result.first : result end # Save object at service diff --git a/test/dataset.rb b/test/dataset.rb index d2c8d57..aab08e9 100644 --- a/test/dataset.rb +++ b/test/dataset.rb @@ -20,23 +20,15 @@ class DatasetTest < Test::Unit::TestCase def test_create_from_file d = OpenTox::Dataset.from_file "http://ot-dev.in-silico.ch/dataset", File.join(File.dirname(__FILE__),"data","EPAFHM.mini.csv") assert_equal OpenTox::Dataset, d.class + assert_equal d.uri, d[RDF::XSD.anyURI] + assert_equal "EPAFHM.mini", d.metadata["http://purl.org/dc/elements/1.1/title"] # DC.title is http://purl.org/dc/terms/title d.delete assert_raise OpenTox::NotFoundError do d.get end end - =begin - def test_metadata - d = OpenTox::Dataset.from_file "http://ot-dev.in-silico.ch/dataset", "data/EPAFHM.mini.csv" - assert_equal OpenTox::Dataset, d.class - # TODO fix metadata retrieval - metadata = d.metadata - assert_equal RDF::OT.Dataset, metadata[RDF.type] - assert_equal dataset.uri, metadata[RDF::XSD.anyURI] - d.delete - end def test_save d = OpenTox::Dataset.create "http://ot-dev.in-silico.ch/dataset" d.metadata |