diff options
Diffstat (limited to 'lib/utils/rdf/dataset.rb')
-rw-r--r-- | lib/utils/rdf/dataset.rb | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/lib/utils/rdf/dataset.rb b/lib/utils/rdf/dataset.rb deleted file mode 100644 index 2cb32a9..0000000 --- a/lib/utils/rdf/dataset.rb +++ /dev/null @@ -1,73 +0,0 @@ -=begin -* Name: dataset.rb -* Description: Dataset RDF tools -* Author: Andreas Maunz <andreas@maunz.de> -* Date: 10/2012 -=end - -module OpenTox - class Dataset - - # Load features via RDF (slow) - # @param [String] uri Dataset URI - # @return [Array] features Features in order - def find_features_rdf - query = RDF::Query.new do - pattern [:uri, RDF.type, RDF::OT.Feature] - pattern [:uri, RDF::OLO.index, :idx] - end - query.execute(@rdf).sort_by{|s| s.idx}.collect{|s| OpenTox::Feature.new(s.uri.to_s)} - end - - # Load compounds via RDF (slow) - # @param [String] uri Dataset URI - # @return [Array] compounds Compounds in order - def find_compounds_rdf - query = RDF::Query.new do - pattern [:uri, RDF.type, RDF::OT.Compound] - pattern [:uri, RDF::OLO.index, :idx] - end - query.execute(@rdf).sort_by{|s| s.idx}.collect{|s| OpenTox::Compound.new(s.uri.to_s)} - end - - # Load data entries via RDF (slow) - # @param [String] uri Dataset uri - # @return [Array] entries Data entries, ordered primarily over cols and secondarily over rows - def find_data_entries_rdf - query = RDF::Query.new do - pattern [:data_entry, RDF::OLO.index, :cidx] # compound index: now a free variable - pattern [:data_entry, RDF::OT.values, :vals] - pattern [:vals, RDF::OT.feature, :f] - pattern [:f, RDF::OLO.index, :fidx] - pattern [:vals, RDF::OT.value, :val] - end - query.execute(@rdf).order_by(:fidx, :cidx).collect { |s| s.val.to_s } - end - - # 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 - def self.ordered?(uri) - ds = OpenTox::Dataset.new # dummy - ds.parse_rdfxml(RestClient.get([uri,"metadata"].join("/"),{:accept => "application/rdf+xml"})) - query = RDF::Query.new do - pattern [:dataset, RDF.type, RDF::OT.OrderedDataset] - end - 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 |