module SADI::BaseService
Public Instance Methods
input_classes()
click to toggle source
# File lib/sadi-rb/base_service.rb, line 33 def input_classes moby = RDF::Vocabulary.new('http://www.mygrid.org.uk/mygrid-moby-service#') solutions = RDF::Query.execute(service_description) do pattern [nil, moby.inputParameter, :param] pattern [:param, moby.objectType, :in_class] end solutions.map(&:in_class) end
input_objects(graph)
click to toggle source
# File lib/sadi-rb/base_service.rb, line 23 def input_objects(graph) input_classes.map do |cl| solutions = RDF::Query.execute(graph) do pattern [:obj, RDF.type, cl] end solutions.map(&:obj) end.flatten end
output_classes()
click to toggle source
# File lib/sadi-rb/base_service.rb, line 44 def output_classes moby = RDF::Vocabulary.new('http://www.mygrid.org.uk/mygrid-moby-service#') solutions = RDF::Query.execute(service_description) do pattern [nil, moby.outputParameter, :param] pattern [:param, moby.objectType, :out_class] end solutions.map(&:out_class) end
process_input(input, format)
click to toggle source
def self.classes
@classes
end
# File lib/sadi-rb/base_service.rb, line 19 def process_input(input, format) raise "Input processing should be implemented by service module" end
process_object(owl_graph, object)
click to toggle source
# File lib/sadi-rb/base_service.rb, line 63 def process_object(owl_graph, object) raise "Must implement a #process_input that takes an RDF::Graph or Repository as input and returns a new one" end
service_description(service)
click to toggle source
# File lib/sadi-rb/base_service.rb, line 55 def service_description(service) raise "Must implement a #service_description method returning an RDF::Graph or Repository" end
service_name()
click to toggle source
# File lib/sadi-rb/base_service.rb, line 67 def service_name raise "Must define a service name" end
service_owl(service)
click to toggle source
# File lib/sadi-rb/base_service.rb, line 59 def service_owl(service) raise "Must implement a #service_owl method returning an RDF::Graph or Repository" end