From b93002b4ea50ff7e357da08abd10577347ce2d5f Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Thu, 11 Nov 2010 09:31:27 +0100 Subject: first steps towards version 2.0, yard documentation started, passes compound, dataset, feature, algorithm, fminer tests --- lib/opentox.rb | 106 +++++++++++++++++++++------------------------------------ 1 file changed, 38 insertions(+), 68 deletions(-) (limited to 'lib/opentox.rb') 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#' -- cgit v1.2.3