diff options
author | mguetlein <martin.guetlein@gmail.com> | 2011-01-25 16:27:39 +0100 |
---|---|---|
committer | mguetlein <martin.guetlein@gmail.com> | 2011-01-25 16:27:39 +0100 |
commit | 2528891633d838a383f5a0e07712a0a8ee839f32 (patch) | |
tree | 6e221f6d0e18d280e8011c7dff16bc1e0581281a /lib/parser.rb | |
parent | ddcf8597a13ea6f03c697c78d224376ff36c7ea3 (diff) | |
parent | dbd302164b74de2b241627bcc205de7245ea0da1 (diff) |
merged michas GET authorization
Diffstat (limited to 'lib/parser.rb')
-rw-r--r-- | lib/parser.rb | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/parser.rb b/lib/parser.rb index b727412..a913cf2 100644 --- a/lib/parser.rb +++ b/lib/parser.rb @@ -29,14 +29,14 @@ module OpenTox # Read metadata from opentox service # @return [Hash] Object metadata - def load_metadata + def load_metadata(subjectid=nil) if @dataset uri = File.join(@uri,"metadata") else uri = @uri end - + uri += "?subjectid=#{CGI.escape(subjectid)}" if subjectid statements = [] parameter_ids = [] `rapper -i rdfxml -o ntriples #{uri} 2>/dev/null`.each_line do |line| @@ -71,9 +71,9 @@ module OpenTox # Create a new OWL-DL dataset parser # @param uri Dataset URI # @return [OpenTox::Parser::Owl::Dataset] OWL-DL parser - def initialize(uri) + def initialize(uri, subjectid=nil) super uri - @dataset = ::OpenTox::Dataset.new(@uri) + @dataset = ::OpenTox::Dataset.new(@uri, subjectid) end # Read data from dataset service. Files can be parsed by setting #uri to a filename (after initialization with a real URI) @@ -87,12 +87,14 @@ module OpenTox # dataset = parser.load_uri # dataset.save # @return [Hash] Internal dataset representation - def load_uri + def load_uri(subjectid=nil) + uri = @uri + uri += "?subjectid=#{CGI.escape(subjectid)}" if subjectid data = {} feature_values = {} feature = {} other_statements = {} - `rapper -i rdfxml -o ntriples #{@uri} 2>/dev/null`.each_line do |line| + `rapper -i rdfxml -o ntriples #{uri} 2>/dev/null`.each_line do |line| triple = line.chomp.split(' ',3) triple = triple[0..2].collect{|i| i.sub(/\s+.$/,'').gsub(/[<>"]/,'')} case triple[1] @@ -122,8 +124,9 @@ module OpenTox # Read only features from a dataset service. # @return [Hash] Internal features representation - def load_features + def load_features(subjectid=nil) uri = File.join(@uri,"features") + uri += "?subjectid=#{CGI.escape(subjectid)}" if subjectid statements = [] features = Set.new `rapper -i rdfxml -o ntriples #{uri} 2>/dev/null`.each_line do |line| |