Module Owllink
In: lib/owllink.rb

Methods

Public Class methods

[Source]

     # File lib/owllink.rb, line 197
197:         def Owllink.abbreviates_iris?(session)
198:                 server = Owllink.get_server session
199:                 server.abbreviates_iris?
200:     end

[Source]

     # File lib/owllink.rb, line 186
186:         def Owllink.abbreviates_setting?(session)
187:                 server = Owllink.get_server session
188:                 server.abbreviates_setting?
189:     end

extends the given xml stream by

<owl:ClassAssertion>

  <owl:Class abbreviatedIRI="<class_iri>">
  <owl:NamedIndividual abbreviatedIRI="<individual_iri>"

</owl:ClassAssertion>

[Source]

    # File lib/owllink.rb, line 9
 9:         def Owllink.add_class_assertion(xml,class_iri,individual_iri)
10:                 xml.owl(:ClassAssertion) {
11:                         xml.owl(:Class, :abbreviatedIRI => "#{class_iri}""#{class_iri}")
12:                         xml.owl(:NamedIndividual, :abbreviatedIRI => "#{individual_iri}""#{individual_iri}")
13:                 }
14:     end

extends the given xml stream by

<owl:ObjectPropertyAssertion>

  <owl:ObjectProperty abbreviatedIRI="<objectproperty_iri>"/>
  <owl:NamedIndividual abbreviatedIRI="<source_individual_iri>"/>
  <owl:NamedIndividual abbreviatedIRI="<target_individual_iri>"/>

</owl:ObjectPropertyAssertion>

[Source]

    # File lib/owllink.rb, line 23
23:         def Owllink.add_objectproperty_assertion(xml,objectproperty_iri,source_individual_iri,target_individual_iri)
24:                 xml.owl(:ObjectPropertyAssertion) {
25:                         xml.owl(:ObjectProperty, :abbreviatedIRI => "#{objectproperty_iri}""#{objectproperty_iri}")
26:                         xml.owl(:NamedIndividual, :abbreviatedIRI => "#{source_individual_iri}""#{source_individual_iri}")
27:                         xml.owl(:NamedIndividual, :abbreviatedIRI => "#{target_individual_iri}""#{target_individual_iri}")
28:                 }
29:     end

extends the given xml stream by

<owl:ClassAssertion>

  <owl:ObjectExactCardinality cardinality="<cardinality>">
    <owl:ObjectProperty abbreviatedIRI="<objectproperty_iri>"/>
  </owl:ObjectExactCardinality>
  <owl:NamedIndividual abbreviatedIRI="<individual_iri>"/>

</owl:ClassAssertion>

[Source]

    # File lib/owllink.rb, line 39
39:         def Owllink.close_role(xml,individual_iri,objectproperty_iri,cardinality)
40:                 xml.owl(:ClassAssertion) {
41:                         xml.owl(:ObjectExactCardinality, :cardinality => "#{cardinality}""#{cardinality}") {
42:                                 xml.owl(:ObjectProperty, :abbreviatedIRI => "#{objectproperty_iri}""#{objectproperty_iri}")
43:                         }
44:                         xml.owl(:NamedIndividual, :abbreviatedIRI => "#{individual_iri}""#{individual_iri}")
45:                 }
46:     end

[Source]

     # File lib/owllink.rb, line 141
141:         def Owllink.connect(session)
142:                 server = Owllink.get_server session
143:                 server.connected = true
144:                 server.save
145:     end

[Source]

     # File lib/owllink.rb, line 136
136:         def Owllink.connected?(session)
137:                 server = Owllink.get_server session
138:                 server.connected?
139:     end

[Source]

     # File lib/owllink.rb, line 108
108:     def Owllink.delete_server(server)
109:         if server
110:           if server.initialized?
111:              kb = server.kb
112:                          if kb && !kb.empty?
113:                msg = Owllink.request_message {|xml| 
114:                                  xml.ReleaseKB(:kb => kb)
115:                }
116:                Owllink.post_request(msg)
117:              end
118:           end
119:           server.delete
120:         end
121:     end

[Source]

     # File lib/owllink.rb, line 224
224:         def Owllink.disconnect(session)
225:                 server = Owllink.get_server session
226:                 server.connected = false
227:                 server.save
228:     end

[Source]

     # File lib/owllink.rb, line 153
153:         def Owllink.get_kb(session)
154:                 server = Owllink.get_server session
155:                 server.kb
156:     end

[Source]

     # File lib/owllink.rb, line 164
164:         def Owllink.get_name(session)
165:                 server = Owllink.get_server session
166:                 server.name
167:     end

[Source]

     # File lib/owllink.rb, line 175
175:         def Owllink.get_owllink_version(session)
176:                 server = Owllink.get_server session
177:                 server.owllink_version
178:     end

[Source]

     # File lib/owllink.rb, line 97
 97:         def Owllink.get_server(session)
 98:             begin
 99:               Server.find(session[:server])
100:             rescue 
101:                     server = Server.new
102:                         server.save
103:                         session[:server] = server.id
104:                         server
105:         end
106:     end

[Source]

     # File lib/owllink.rb, line 131
131:         def Owllink.get_server_id(session)
132:                 server = Owllink.get_server session
133:                 server.id
134:     end

[Source]

     # File lib/owllink.rb, line 219
219:         def Owllink.initialized?(session)
220:                 server = Owllink.get_server session
221:                 return server.initialized?
222:     end

sends the given OWLlink XML message string via HTTP to the configured reasoner

[Source]

    # File lib/owllink.rb, line 80
80:         def Owllink.post_request(message)
81:                 Rails.logger.info '---'
82:                 Rails.logger.info 'OWLlink Request:'
83:                 Rails.logger.info message
84:                 headers = {"User-Agent" => "Ruby v1.8"}
85:                 url = URI.parse(AppConfig.owllink_reasoner_url)
86:                 owllink = Net::HTTP.new(url.host,url.port)
87:                 resp, data = owllink.post((url.path.empty? ? "/" : url.path),message,headers)   
88:                 Rails.logger.info '-' 
89:                 Rails.logger.info 'OWLlink Reply: ' 
90:                 Rails.logger.info ' Code = ' + resp.code + '/' + resp.message
91:                 resp.each {|key, val| Rails.logger.info ' ' + key + ' = ' + val}
92:                 Rails.logger.info data
93:                 Rails.logger.info '---'
94:                 return data
95:     end

[Source]

     # File lib/owllink.rb, line 123
123:     def Owllink.release_server(session)
124:         begin
125:           Owllink.delete_server(Server.find(session[:server]))
126:           session[:server] = nil
127:             rescue 
128:         end
129:     end

wraps the given block within an OWLlink request message and returns the resulting XML as string accepts XML entities, namespace declarations as hash arguments defines the OWLlink namespace as default

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE RequestMessage [
   <!ENTITIY "<entity_key>" "<entity_value">
   ..
 ]>
 <RequestMessage xmlns="http://www.owllink.org/owllink-xml#"
    xmlns:<namespace_key>="<namespace_value>"
    ..>
   <body>
 </RequestMessage>

[Source]

    # File lib/owllink.rb, line 62
62:         def Owllink.request_message(options = {})
63:                 o = {:entities => {}, :namespaces => {}}.with_indifferent_access.merge!(options)
64:                 xml = Builder::XmlMarkup.new(:target => request_string = "", :indent => 2) 
65:                 xml.instruct!
66:                 if !o[:entities].empty?
67:                         xml.declare! :DOCTYPE, :RequestMessage do |x|
68:                                 o[:entities].each do |abbrev,uri| x.declare! :ENTITY, "#{abbrev}""#{abbrev}", uri end
69:                                 end
70:                         end
71:                 n = o[:namespaces].each_with_object({}) { |(k,v), h| h["\n  xmlns:#{k}""\n  xmlns:#{k}"] = v }
72:                 n["\n  xmlns""\n  xmlns"] = "http://www.owllink.org/owllink-xml#"
73:                 xml.RequestMessage(n) do |x| 
74:                         yield(x)
75:                         end
76:                 return request_string
77:     end

[Source]

     # File lib/owllink.rb, line 191
191:     def Owllink.set_abbreviates_iris(session,b)
192:                 server = Owllink.get_server session
193:                 server.abbreviates_iris = b
194:                 server.save
195:     end

[Source]

     # File lib/owllink.rb, line 180
180:     def Owllink.set_abbreviates_setting(session,b)
181:                 server = Owllink.get_server session
182:                 server.abbreviates_setting = b
183:                 server.save
184:     end

[Source]

     # File lib/owllink.rb, line 213
213:         def Owllink.set_initialized(session,b)
214:                 server = Owllink.get_server session
215:                 server.initialized = b
216:                 server.save
217:     end

[Source]

     # File lib/owllink.rb, line 147
147:         def Owllink.set_kb(session,kb)
148:                 server = Owllink.get_server session
149:                 server.kb = kb
150:                 server.save
151:     end

[Source]

     # File lib/owllink.rb, line 158
158:         def Owllink.set_name(session,name)
159:                 server = Owllink.get_server session
160:                 server.name = name
161:                 server.save
162:     end

[Source]

     # File lib/owllink.rb, line 169
169:         def Owllink.set_owllink_version(session,version)
170:                 server = Owllink.get_server session
171:                 server.owllink_version = version
172:                 server.save
173:     end

[Source]

     # File lib/owllink.rb, line 202
202:         def Owllink.set_supports_retraction(session,b)
203:                 server = Owllink.get_server session
204:                 server.supports_retraction = b
205:                 server.save
206:     end

[Source]

     # File lib/owllink.rb, line 208
208:         def Owllink.supports_retraction?(session)
209:                 server = Owllink.get_server session
210:                 server.supports_retraction?
211:     end

[Validate]