Class: ActiveSesame::Repository
- Inherits:
-
Object
- Object
- ActiveSesame::Repository
- Defined in:
- lib/active_sesame/repository.rb
Constant Summary collapse
- @@prefixes =
{"xsd" => "http://www.w3.org/2001/XMLSchema#", "ss" => "http://study-stash.radiology.umm.edu/ontologies/study-stash.owl", "owl" => "http://www.w3.org/2002/07/owl", "rdf" => "http://www.w3.org/1999/02/22-rdf-syntax-ns", "rdfs" => "http://www.w3.org/2000/01/rdf-schema"}
Instance Attribute Summary collapse
-
#base_uri ⇒ Object
Returns the value of attribute base_uri.
-
#connector ⇒ Object
Returns the value of attribute connector.
-
#prefixes ⇒ Object
Returns the value of attribute prefixes.
-
#repository_location ⇒ Object
Returns the value of attribute repository_location.
-
#repository_uri ⇒ Object
Returns the value of attribute repository_uri.
-
#triple_store_id ⇒ Object
Returns the value of attribute triple_store_id.
Instance Method Summary collapse
- #add_prefix(prefix, uri) ⇒ Object
- #add_prefixes(prefix_hash) ⇒ Object
- #delete_by_pattern(subject, predicate, object) ⇒ Object
- #find(query, include_prefixes = true) ⇒ Object
- #find_by_sparql(query, include_prefixes = true) ⇒ Object
- #group_save(xml) ⇒ Object
-
#initialize(repository_type = SesameProtocol, options = {}) ⇒ Repository
constructor
A new instance of Repository.
- #prefixes_to_sparql ⇒ Object
- #save_triple(subject, predicate, object) ⇒ Object
- #sparql_base ⇒ Object
Constructor Details
#initialize(repository_type = SesameProtocol, options = {}) ⇒ Repository
Returns a new instance of Repository.
12 13 14 15 16 17 |
# File 'lib/active_sesame/repository.rb', line 12 def initialize(repository_type=SesameProtocol, ={}) self.send(:extend, repository_type) = .merge() .each {|key,value| send("#{key}=".to_sym, value) if respond_to?(key) } self.prefixes = @@prefixes end |
Instance Attribute Details
#base_uri ⇒ Object
Returns the value of attribute base_uri.
10 11 12 |
# File 'lib/active_sesame/repository.rb', line 10 def base_uri @base_uri end |
#connector ⇒ Object
Returns the value of attribute connector.
10 11 12 |
# File 'lib/active_sesame/repository.rb', line 10 def connector @connector end |
#prefixes ⇒ Object
Returns the value of attribute prefixes.
10 11 12 |
# File 'lib/active_sesame/repository.rb', line 10 def prefixes @prefixes end |
#repository_location ⇒ Object
Returns the value of attribute repository_location.
10 11 12 |
# File 'lib/active_sesame/repository.rb', line 10 def repository_location @repository_location end |
#repository_uri ⇒ Object
Returns the value of attribute repository_uri.
10 11 12 |
# File 'lib/active_sesame/repository.rb', line 10 def repository_uri @repository_uri end |
#triple_store_id ⇒ Object
Returns the value of attribute triple_store_id.
10 11 12 |
# File 'lib/active_sesame/repository.rb', line 10 def triple_store_id @triple_store_id end |
Instance Method Details
#add_prefix(prefix, uri) ⇒ Object
39 40 41 |
# File 'lib/active_sesame/repository.rb', line 39 def add_prefix(prefix, uri) self.prefixes = self.prefixes.merge({prefix => uri}) end |
#add_prefixes(prefix_hash) ⇒ Object
43 44 45 |
# File 'lib/active_sesame/repository.rb', line 43 def add_prefixes(prefix_hash) self.prefixes = self.prefixes.merge(prefix_hash) end |
#delete_by_pattern(subject, predicate, object) ⇒ Object
35 36 37 |
# File 'lib/active_sesame/repository.rb', line 35 def delete_by_pattern(subject, predicate, object) query_dispatch("statements", {:method => :delete, :body => {:subj => subject, :pred => predicate, :obj => object}}) end |
#find(query, include_prefixes = true) ⇒ Object
23 24 25 |
# File 'lib/active_sesame/repository.rb', line 23 def find(query, include_prefixes=true) ActiveSesame::ResultParser.tableize(find_by_sparql(query, include_prefixes)) end |
#find_by_sparql(query, include_prefixes = true) ⇒ Object
19 20 21 |
# File 'lib/active_sesame/repository.rb', line 19 def find_by_sparql(query, include_prefixes=true) query_dispatch("", :method => :get, :body => {:query => self.sparql_base + " " + self.prefixes_to_sparql + " " + query, :queryLn => "SPARQL"}) end |
#group_save(xml) ⇒ Object
27 28 29 |
# File 'lib/active_sesame/repository.rb', line 27 def group_save(xml) query_dispatch("statements", {:method => :post, "content-type" => "application/x-rdftransaction", :body => xml}) end |
#prefixes_to_sparql ⇒ Object
51 52 53 |
# File 'lib/active_sesame/repository.rb', line 51 def prefixes_to_sparql self.prefixes.keys.inject("") {|sparql,key| sparql += "PREFIX #{key}: <#{self.prefixes[key]}> " } end |
#save_triple(subject, predicate, object) ⇒ Object
31 32 33 |
# File 'lib/active_sesame/repository.rb', line 31 def save_triple(subject, predicate, object) query_dispatch("statements", {:method => :put, :body => {:subj => subject, :pred => predicate, :obj => object}}) end |
#sparql_base ⇒ Object
47 48 49 |
# File 'lib/active_sesame/repository.rb', line 47 def sparql_base "BASE <#{base_uri}>" end |