diff options
Diffstat (limited to 'lib/utils/rdf/dataset.rb')
-rw-r--r-- | lib/utils/rdf/dataset.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/utils/rdf/dataset.rb b/lib/utils/rdf/dataset.rb index e101b67..2cb32a9 100644 --- a/lib/utils/rdf/dataset.rb +++ b/lib/utils/rdf/dataset.rb @@ -47,7 +47,7 @@ module OpenTox # Query a dataset URI for ordered status # by loading its metadata (OpenTox compliant) # @param [String] uri Dataset uri - # @return [TrueClass,FalseClass] status Whether the dataset is ordered + # @return [TrueClass, FalseClass] status Whether the dataset is ordered def self.ordered?(uri) ds = OpenTox::Dataset.new # dummy ds.parse_rdfxml(RestClient.get([uri,"metadata"].join("/"),{:accept => "application/rdf+xml"})) @@ -57,5 +57,17 @@ module OpenTox query.execute(ds.rdf).size>0 end + # Load dataset URI from given RDF (slow) + # @param [String] rdf RDF + # @return [String] uri URI + def self.uri_from_rdf(rdf) + ds = OpenTox::Dataset.new # dummy + ds.parse_rdfxml(rdf) + query = RDF::Query.new do + pattern [:dataset, RDF.type, RDF::OT.Dataset] + end + query.execute(ds.rdf).collect { |s| s.dataset.to_s }[0] + end + end end |