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

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_uriObject



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

.prefixesObject



50
51
52
# File 'lib/active_sesame/testing.rb', line 50

def self.prefixes
  @@prefixes
end

.repository_uriObject



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_idObject



34
35
36
# File 'lib/active_sesame/testing.rb', line 34

def self.triple_store_id
  @@triple_store_id
end