summaryrefslogtreecommitdiff
path: root/lib/opentox.rb
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2010-11-11 09:31:27 +0100
committerChristoph Helma <helma@in-silico.ch>2010-11-11 09:31:27 +0100
commitb93002b4ea50ff7e357da08abd10577347ce2d5f (patch)
tree840f1b8865032ce59917d8c5a3d6b2e499d19126 /lib/opentox.rb
parentd6811507c1c1339cc4fe7cdb429b9b34b97dc422 (diff)
first steps towards version 2.0, yard documentation started, passes compound, dataset, feature, algorithm, fminer tests
Diffstat (limited to 'lib/opentox.rb')
-rw-r--r--lib/opentox.rb106
1 files changed, 38 insertions, 68 deletions
diff --git a/lib/opentox.rb b/lib/opentox.rb
index 453ca66..7e1deec 100644
--- a/lib/opentox.rb
+++ b/lib/opentox.rb
@@ -1,79 +1,49 @@
module OpenTox
- # Generic OpenTox class
- module OtObject
-
- attr_reader :uri
- attr_accessor :metadata
-
- # Initialize OpenTox object with optional uri
- def initialize(uri=nil)
- @metadata = {}
- self.uri = uri if uri
- end
-
- # Set URI
- def uri=(uri)
- @uri = uri
- @metadata[XSD.anyUri] = uri
- end
-
- # Get title
- def title
- load_metadata unless @metadata[DC.title]
- @metadata[DC.title]
- end
-
- # Set title
- def title=(title)
- @metadata[DC.title] = title
- end
-
- # Get all objects from a service
- def self.all(uri)
- #def OtObject.all(uri)
- RestClientWrapper.get(uri,:accept => "text/uri-list").to_s.split(/\n/)
- end
-
- # Load metadata from URI
- def load_metadata
- #if (CONFIG[:yaml_hosts].include?(URI.parse(@uri).host))
- # TODO: fix metadata retrie
- #@metadata = YAML.load(RestClientWrapper.get(@uri, :accept => "application/x-yaml"))
- #else
- @metadata = Parser::Owl::Generic.new(@uri).metadata
- #end
- @metadata
- #Parser::Owl::Generic.new(@uri).metadata
- end
-
+ attr_reader :uri
+ attr_accessor :metadata, :parameters
+
+ # Initialize OpenTox object with optional uri
+ # @param [optional, String] URI
+ def initialize(uri=nil)
+ @metadata = {}
+ self.uri = uri if uri
end
- module Owl
-
- class Namespace
-
- def initialize(uri)
- @uri = uri
- end
+ # Set URI
+ # @param [String] URI
+ def uri=(uri)
+ @uri = uri
+ @metadata[XSD.anyURI] = uri
+ end
- def [](property)
- @uri+property.to_s
- end
+ # Get all objects from a service
+ # @return [Array] List of available URIs
+ def self.all(uri)
+ RestClientWrapper.get(uri,:accept => "text/uri-list").to_s.split(/\n/)
+ end
- def method_missing(property)
- @uri+property.to_s
- end
+ # Load (and return) metadata from object URI
+ # @return [Hash] Metadata
+ def load_metadata
+ @metadata = Parser::Owl::Generic.new(@uri).metadata
+ @metadata
+ end
- end
+ # Load parameters from URI
+ #def load_parameters
+ #@parameters = Parser::Owl::Generic.new(@uri).parameters
+ #@parameters
+ #end
+
+ # Get OWL-DL representation in RDF/XML format
+ # @return [application/rdf+xml] RDF/XML representation
+ def to_rdfxml
+ s = Serializer::Owl.new
+ s.add_metadata(@uri,@metadata)
+ #s.add_parameters(@uri,@parameters) if @parameters
+ s.to_rdfxml
end
end
-#
-# OWL Namespaces
-RDF = OpenTox::Owl::Namespace.new 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'
-OWL = OpenTox::Owl::Namespace.new 'http://www.w3.org/2002/07/owl#'
-DC = OpenTox::Owl::Namespace.new 'http://purl.org/dc/elements/1.1/'
-OT = OpenTox::Owl::Namespace.new 'http://www.opentox.org/api/1.1#'
-XSD = OpenTox::Owl::Namespace.new 'http://www.w3.org/2001/XMLSchema#'