From 87458637a9cdcee5066f2f3d087f8052fe89f064 Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Wed, 14 Mar 2012 11:14:50 +0100 Subject: dataset metadata fixed --- lib/opentox.rb | 7 ++++--- 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 -- cgit v1.2.3