diff options
author | mguetlein <martin.guetlein@gmail.com> | 2011-01-19 16:12:21 +0100 |
---|---|---|
committer | mguetlein <martin.guetlein@gmail.com> | 2011-01-19 16:12:21 +0100 |
commit | 7b06ce45180a5b2c0dd0095cd1a60ec974b46aa5 (patch) | |
tree | 39d34044b9879d1bd22df1cc9005fcbe6a0afb00 /lib | |
parent | bba009c7c59655392236e1cdaf873117bb59600f (diff) |
aa suport, rdf support
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/active_record_setup.rb | 8 | ||||
-rw-r--r-- | lib/format_util.rb | 28 | ||||
-rwxr-xr-x | lib/validation_db.rb | 26 |
3 files changed, 55 insertions, 7 deletions
diff --git a/lib/active_record_setup.rb b/lib/active_record_setup.rb index 404bfec..b43e692 100755 --- a/lib/active_record_setup.rb +++ b/lib/active_record_setup.rb @@ -33,11 +33,11 @@ class ActiveRecord::Base key = key+"s" unless self.column_names.include?(key) err = "no attribute found: '"+k.to_s+"'" - if $sinatra - $sinatra.halt 400,err - else +# if $sinatra +# $sinatra.halt 400,err +# else raise err - end +# end end end end diff --git a/lib/format_util.rb b/lib/format_util.rb index c1f5e7c..3d3a3e6 100644 --- a/lib/format_util.rb +++ b/lib/format_util.rb @@ -4,6 +4,7 @@ class String # :prediction_feature -> predictionFeature # :test_dataset_uri -> testDataset + # :validation_uris -> validation def to_rdf_format s = gsub(/_uri(s|)$/,"") s.gsub(/_./) do |m| @@ -18,6 +19,18 @@ class String end end + DC_KEYS = [ "title", "creator", "date", "format" ] + RDF_KEYS = [ "type" ] + + def to_owl_uri + if DC_KEYS.include?(self) + return DC.send(self) + elsif RDF_KEYS.include?(self) + return RDF.send(self) + else + return OT.send(self) + end + end end class Hash @@ -36,5 +49,20 @@ class Hash end return res end + + def keys_to_owl_uris + res = {} + keys.each do |k| + v = self[k] + if v.is_a?(Hash) + v = v.keys_to_owl_uris + elsif v.is_a?(Array) + v = v.collect{ |vv| vv.is_a?(Hash) ? vv.keys_to_owl_uris : vv } + end + res[k.to_s.to_owl_uri] = v + end + return res + end + end diff --git a/lib/validation_db.rb b/lib/validation_db.rb index 83b7e2f..4b852f9 100755 --- a/lib/validation_db.rb +++ b/lib/validation_db.rb @@ -80,16 +80,26 @@ module Lib property :regression_statistics, Object property :finished, Boolean, :default => false + attr_accessor :subjectid + + after :save, :check_policy + private + def check_policy + OpenTox::Authorization.check_policy(validation_uri, subjectid) + end + + public def date created_at end def validation_uri - $sinatra.url_for("/"+self.id.to_s, :full) + raise "no id" if self.id==nil + $url_provider.url_for("/"+self.id.to_s, :full) end def crossvalidation_uri - $sinatra.url_for("/crossvalidation/"+self.crossvalidation_id.to_s, :full) if self.crossvalidation_id + $url_provider.url_for("/crossvalidation/"+self.crossvalidation_id.to_s, :full) if self.crossvalidation_id end def self.classification_property?( property ) @@ -120,12 +130,22 @@ module Lib property :finished, Boolean, :default => false property :stratified, Boolean, :default => false + attr_accessor :subjectid + + after :save, :check_policy + private + def check_policy + OpenTox::Authorization.check_policy(crossvalidation_uri, subjectid) + end + + public def date created_at end def crossvalidation_uri - $sinatra.url_for("/crossvalidation/"+self.id.to_s, :full) if self.id + raise "no id" if self.id==nil + $url_provider.url_for("/crossvalidation/"+self.id.to_s, :full) if self.id end # convenience method to list all crossvalidations that are unique |