Module: ActiveSesame::Testing
- Defined in:
- lib/active_sesame/testing.rb
Constant Summary collapse
- @@repository_uri =
"http://localhost:8112/sesame/repositories"- @@triple_store_id =
"go-for-ryan"- @@location =
@@repository_uri + "/" + @@triple_store_id
- @@prefixes =
["PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>", "PREFIX ss: <http://study-stash.radiology.umm.edu/ontologies/study-stash.owl#>", "PREFIX owl: <http://www.w3.org/2002/07/owl#>", "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>", "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>"]
Class Method Summary collapse
- .add_prefix(prefix) ⇒ Object
- .base_uri ⇒ Object
- .delete_by_pattern(subject, predicate, object) ⇒ Object
- .encode_sparql(query) ⇒ Object
- .find_by_sparql(query, include_prefixes = true) ⇒ Object
- .group_save(xml) ⇒ Object
- .hash_to_get(hash) ⇒ Object
- .prefixes ⇒ Object
- .repository_uri ⇒ Object
- .rest_call(method_name, args = {}) ⇒ Object
- .save_triple(subject, predicate, object) ⇒ Object
-
.set_base_uri(base_uri) ⇒ Object
def self.base_uri uri_with_quacks = @@base.split(“ ”).last uri_with_quacks.slice(1,uri_with_quacks.length-2) end.
- .set_repository_uri(new_repository) ⇒ Object
- .set_triple_store_id(new_id) ⇒ Object
- .simple_rest_methods(*method_names) ⇒ Object
- .triple_store_id ⇒ Object
Class Method Details
.add_prefix(prefix) ⇒ Object
54 55 56 |
# File 'lib/active_sesame/testing.rb', line 54 def self.add_prefix(prefix) @@prefixes << prefix end |
.base_uri ⇒ Object
58 59 60 61 |
# File 'lib/active_sesame/testing.rb', line 58 def self.base_uri uri_with_quacks = @@base.split(" ").last uri_with_quacks.slice(1,uri_with_quacks.length-2) end |
.delete_by_pattern(subject, predicate, object) ⇒ Object
30 31 32 |
# File 'lib/active_sesame/testing.rb', line 30 def self.delete_by_pattern(subject, predicate, object) rest_call("statements", {:method => :delete, :body => {:subj => subject, :pred => predicate, :obj => object}}) end |
.encode_sparql(query) ⇒ Object
94 95 96 |
# File 'lib/active_sesame/testing.rb', line 94 def self.encode_sparql(query) URI.encode(query).gsub("?","%3f").gsub("/","%2f").gsub(":","%3a").gsub("\\","5C") end |
.find_by_sparql(query, include_prefixes = true) ⇒ Object
15 16 17 18 |
# File 'lib/active_sesame/testing.rb', line 15 def self.find_by_sparql(query, include_prefixes=true) #puts self.base_uri + " " + @@prefixes.join(" ") + " " + query rest_call("", :method => :get, :body => {:infer => "false", :queryLn => "SPARQL", :query => @@base + " " + @@prefixes.join(" ") + " " + query}) end |
.group_save(xml) ⇒ Object
20 21 22 23 24 |
# File 'lib/active_sesame/testing.rb', line 20 def self.group_save(xml) xml = "<transaction>#{xml}</transaction>" #puts xml rest_call("statements", {:method => :post, "content-type" => "application/x-rdftransaction", :body => xml}) end |
.hash_to_get(hash) ⇒ Object
98 99 100 |
# File 'lib/active_sesame/testing.rb', line 98 def self.hash_to_get(hash) (hash.inject("?") {|total,tuple| total += "#{tuple[0]}=#{tuple[1]}&"}).chop end |
.prefixes ⇒ Object
50 51 52 |
# File 'lib/active_sesame/testing.rb', line 50 def self.prefixes @@prefixes end |
.repository_uri ⇒ Object
42 43 44 |
# File 'lib/active_sesame/testing.rb', line 42 def self.repository_uri @@repository_uri end |
.rest_call(method_name, args = {}) ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/active_sesame/testing.rb', line 82 def self.rest_call(method_name, args={}) args[:body][:query] = encode_sparql(args[:body][:query]) if args[:body][:query] if args[:body] args[:body][:subj] = encode_sparql(args[:body][:subj]) if args[:body][:subj] if args[:body] args[:body][:pred] = encode_sparql(args[:body][:pred]) if args[:body][:pred] if args[:body] args[:body][:obj] = encode_sparql(args[:body][:obj]) if args[:body][:obj] if args[:body] [:get, :put, :delete].include?(args[:method]) ? vars_if_get = hash_to_get(args[:body]) : vars_if_get = "" method_name == "" ? slash = "" : slash = "/" puts @@location + slash + method_name.to_s + vars_if_get puts self.repository_uri + "/" + self.triple_store_id + slash + method_name.to_s + vars_if_get return open(self.repository_uri + "/" + self.triple_store_id + slash + method_name.to_s + vars_if_get, args).read end |
.save_triple(subject, predicate, object) ⇒ Object
26 27 28 |
# File 'lib/active_sesame/testing.rb', line 26 def self.save_triple(subject, predicate, object) rest_call("statements", {:method => :put, :body => {:subj => subject, :pred => predicate, :obj => object}}) end |
.set_base_uri(base_uri) ⇒ Object
def self.base_uri
uri_with_quacks = @@base.split(" ").last
uri_with_quacks.slice(1,uri_with_quacks.length-2)
end
68 69 70 |
# File 'lib/active_sesame/testing.rb', line 68 def self.set_base_uri(base_uri) @@base = "BASE <#{base_uri}>" end |
.set_repository_uri(new_repository) ⇒ Object
46 47 48 |
# File 'lib/active_sesame/testing.rb', line 46 def self.set_repository_uri(new_repository) @@repository_uri = new_repository end |
.set_triple_store_id(new_id) ⇒ Object
38 39 40 |
# File 'lib/active_sesame/testing.rb', line 38 def self.set_triple_store_id(new_id) @@triple_store_id = new_id.to_s end |
.simple_rest_methods(*method_names) ⇒ Object
72 73 74 75 76 77 |
# File 'lib/active_sesame/testing.rb', line 72 def self.simple_rest_methods(*method_names) method_names.each do |name| new_name = "self.#{name.to_s}" define_method(new_name) { return rest_call(name) } end end |
.triple_store_id ⇒ Object
34 35 36 |
# File 'lib/active_sesame/testing.rb', line 34 def self.triple_store_id @@triple_store_id end |