summaryrefslogtreecommitdiff
path: root/lazar.rb
diff options
context:
space:
mode:
authormr <mr@mrautenberg.de>2011-01-11 17:01:53 +0100
committermr <mr@mrautenberg.de>2011-01-11 17:01:53 +0100
commit6edd4387f6e1eaf0178321ca97d9814deb8f3e1f (patch)
tree69d13080ba6d2950c4687cea9749a720b1b49315 /lazar.rb
parent96356b0d439342b9132847b9f6c38cb7a10206c8 (diff)
get metadata for models / indenting
Diffstat (limited to 'lazar.rb')
-rw-r--r--lazar.rb30
1 files changed, 29 insertions, 1 deletions
diff --git a/lazar.rb b/lazar.rb
index ba34361..c37c629 100644
--- a/lazar.rb
+++ b/lazar.rb
@@ -20,6 +20,7 @@ end
# Get model representation
# @return [application/rdf+xml,application/x-yaml] Model representation
get '/:id/?' do
+
accept = request.env['HTTP_ACCEPT']
accept = "application/rdf+xml" if accept == '*/*' or accept == '' or accept.nil?
# workaround for browser links
@@ -47,6 +48,33 @@ get '/:id/?' do
end
end
+get '/:id/metadata.?:ext?' do
+
+ metadata = YAML.load(ModelStore.get(params[:id]).yaml).metadata
+
+ accept = request.env['HTTP_ACCEPT']
+ accept = "application/rdf+xml" if accept == '*/*' or accept == '' or accept.nil?
+ if params[:ext]
+ case params[:ext]
+ when "yaml"
+ accept = 'application/x-yaml'
+ when "rdf", "rdfxml"
+ accept = 'application/rdf+xml'
+ end
+ end
+ response['Content-Type'] = accept
+ case accept
+ when /yaml/
+ metadata.to_yaml
+ else #when /rdf/ and anything else
+ serializer = OpenTox::Serializer::Owl.new
+ serializer.add_metadata url_for("/#{params[:id]}",:full), metadata
+ serializer.to_rdfxml
+ end
+
+end
+
+
# Store a lazar model. This method should not be called directly, use OpenTox::Algorithm::Lazr to create a lazar model
# @param [Body] lazar Model representation in YAML format
# @return [String] Model URI
@@ -92,7 +120,7 @@ post '/:id/?' do
end
elsif dataset_uri
task = OpenTox::Task.create("Predict dataset",url_for("/#{@lazar.id}", :full)) do
- @lazar.predict_dataset(dataset_uri).uri
+ @lazar.predict_dataset(dataset_uri, subjectid).uri
end
halt 503,task.uri+"\n" if task.status == "Cancelled"
halt 202,task.uri