From 506952dff164c3535ece28859778260f69d748fa Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Tue, 16 Mar 2010 17:35:34 +0100 Subject: OWL-DL export added --- application.rb | 17 ----------------- lazar.rb | 29 ++++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/application.rb b/application.rb index b43b11f..14c4aa6 100644 --- a/application.rb +++ b/application.rb @@ -21,23 +21,6 @@ get '/?' do # get index of models Model.all.collect{|m| m.uri}.join("\n") + "\n" end -get '/:id/?' do - model = Model.get(params[:id]) - halt 404, "Model #{uri} not found." unless model - accept = request.env['HTTP_ACCEPT'] - accept = "application/rdf+xml" if accept == '*/*' or accept =~ /html/ or accept == '' or accept.nil? - case accept - when "application/rdf+xml" - response['Content-Type'] = 'application/rdf+xml' - model.owl - when /yaml/ - response['Content-Type'] = 'application/x-yaml' - model.yaml - else - halt 400, "Unsupported MIME type '#{accept}'" - end -end - delete '/:id/?' do begin Model.get(params[:id]).destroy! diff --git a/lazar.rb b/lazar.rb index ae32734..51a6c20 100644 --- a/lazar.rb +++ b/lazar.rb @@ -38,7 +38,7 @@ class Lazar < Model end if (classification != nil) - feature_uri = lazar.dependent_variable + "_lazar_prediction" + feature_uri = lazar.dependent_variable + "_lazar_classification" prediction.compounds << compound_uri prediction.features << feature_uri prediction.data[compound_uri] = [] unless prediction.data[compound_uri] @@ -72,6 +72,33 @@ class Lazar < Model end end + def to_owl + data = YAML.load(yaml) + owl = OpenTox::Owl.new 'Model', uri + owl.source = "http://github.com/helma/opentox-model" + #owl.algorithm = data.algorithm + owl.dependentVariable = data.activity_dataset_uri + owl.independentVariables = data.feature_dataset_uri + owl.rdf + end + +end + +get '/:id/?' do + model = Lazar.get(params[:id]) + halt 404, "Model #{uri} not found." unless model + accept = request.env['HTTP_ACCEPT'] + accept = "application/rdf+xml" if accept == '*/*' or accept =~ /html/ or accept == '' or accept.nil? + case accept + when "application/rdf+xml" + response['Content-Type'] = 'application/rdf+xml' + model.to_owl + when /yaml/ + response['Content-Type'] = 'application/x-yaml' + model.yaml + else + halt 400, "Unsupported MIME type '#{accept}'" + end end post '/?' do # create model -- cgit v1.2.3