Module | Owllink |
In: |
lib/owllink.rb
|
# File lib/owllink.rb, line 197 197: def Owllink.abbreviates_iris?(session) 198: server = Owllink.get_server session 199: server.abbreviates_iris? 200: end
# 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>
# 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>
# 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>
# 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
# 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
# File lib/owllink.rb, line 136 136: def Owllink.connected?(session) 137: server = Owllink.get_server session 138: server.connected? 139: end
# 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
# 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
# File lib/owllink.rb, line 153 153: def Owllink.get_kb(session) 154: server = Owllink.get_server session 155: server.kb 156: end
# File lib/owllink.rb, line 164 164: def Owllink.get_name(session) 165: server = Owllink.get_server session 166: server.name 167: end
# 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
# 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
# File lib/owllink.rb, line 131 131: def Owllink.get_server_id(session) 132: server = Owllink.get_server session 133: server.id 134: end
# 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
# 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
# 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>
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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