<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">OWLlink: DIG for OWL 2</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Thorsten</forename><surname>Liebig</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Ulm (Germany)</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Marko</forename><surname>Luther</surname></persName>
							<affiliation key="aff1">
								<orgName type="laboratory">DOCOMO Euro-Labs (Germany)</orgName>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="department">Racer Systems (Germany)</orgName>
								<orgName type="institution" key="instit1">University of Bozen-Bolzano (Italy)</orgName>
								<orgName type="institution" key="instit2">Hamburg University of Technology</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Olaf</forename><surname>Noppens</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Ulm (Germany)</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Mariano</forename><surname>Rodriguez</surname></persName>
							<affiliation key="aff1">
								<orgName type="laboratory">DOCOMO Euro-Labs (Germany)</orgName>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="department">Racer Systems (Germany)</orgName>
								<orgName type="institution" key="instit1">University of Bozen-Bolzano (Italy)</orgName>
								<orgName type="institution" key="instit2">Hamburg University of Technology</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Diego</forename><surname>Calvanese</surname></persName>
							<affiliation key="aff1">
								<orgName type="laboratory">DOCOMO Euro-Labs (Germany)</orgName>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="department">Racer Systems (Germany)</orgName>
								<orgName type="institution" key="instit1">University of Bozen-Bolzano (Italy)</orgName>
								<orgName type="institution" key="instit2">Hamburg University of Technology</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Michael</forename><surname>Wessel</surname></persName>
							<affiliation key="aff1">
								<orgName type="laboratory">DOCOMO Euro-Labs (Germany)</orgName>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="department">Racer Systems (Germany)</orgName>
								<orgName type="institution" key="instit1">University of Bozen-Bolzano (Italy)</orgName>
								<orgName type="institution" key="instit2">Hamburg University of Technology</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Ralf</forename><surname>Möller</surname></persName>
							<affiliation key="aff1">
								<orgName type="laboratory">DOCOMO Euro-Labs (Germany)</orgName>
							</affiliation>
							<affiliation key="aff2">
								<orgName type="department">Racer Systems (Germany)</orgName>
								<orgName type="institution" key="instit1">University of Bozen-Bolzano (Italy)</orgName>
								<orgName type="institution" key="instit2">Hamburg University of Technology</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Matthew</forename><surname>Horridge</surname></persName>
							<affiliation key="aff4">
								<orgName type="institution">University of Manchester (UK)</orgName>
								<address>
									<settlement>Clark &amp; Parsia</settlement>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Sean</forename><surname>Bechhofer</surname></persName>
							<affiliation key="aff4">
								<orgName type="institution">University of Manchester (UK)</orgName>
								<address>
									<settlement>Clark &amp; Parsia</settlement>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Dmitry</forename><surname>Tsarkov</surname></persName>
							<affiliation key="aff4">
								<orgName type="institution">University of Manchester (UK)</orgName>
								<address>
									<settlement>Clark &amp; Parsia</settlement>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Evren</forename><surname>Sirin</surname></persName>
						</author>
						<author>
							<affiliation key="aff3">
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">OWLlink: DIG for OWL 2</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">627D8DC8ADBD3E4C99D8AC202C0561FA</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T14:55+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The OWLlink interface provides an implementation-neutral mechanism for accessing OWL reasoner functionality. In contrast to its DL-oriented predecessor DIG, OWLlink relies on OWL 2 for the primitives of the modelling language, and is thus fully compatible with the forthcoming incarnation of OWL. The OWLlink core introduced in this document covers (i) basic reasoner management, (ii) assertion of axioms and (iii) elementary ask functionality. The OWLlink extension mechanism allows to easily add any required functionality in a controlled way to the core language. We introduce OWLlink by providing a structural specification and a concrete binding of the interface that defines how OWLlink messages can be encoded in XML and sent over HTTP.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>OWLlink provides a declarative interface to OWL reasoners. It is intended to be a lightweight mechanism giving client applications access to reasoning functionality provided by a server. The OWLlink core defines primitives for handling and manipulation of OWL Knowledge Bases (KBs), such as asserting axioms, as well as primitives for asking questions about KB entities.</p><p>Early attempts to standardize an interface for Description Logic (DL) systems go back to the late 90s. At that time, most DL systems (e. g., FaCT <ref type="bibr" target="#b0">[1]</ref> and RACER <ref type="bibr" target="#b1">[2]</ref>) provided proprietary interfaces using a Lisp-like syntax more or less compliant with the KRSS syntax <ref type="bibr" target="#b2">[3]</ref>. In 1999, Bechhofer et al. <ref type="bibr" target="#b3">[4]</ref> defined a CORBA-based interface to FaCT using XML syntax, enlarging the scope to more expressive DLs than covered by the KRSS specification. However, both interfaces are more or less system-oriented and were quoted as being a handicap for application developers.</p><p>The initial DIG 1.0 specification of 2002 <ref type="bibr" target="#b4">[5]</ref> was designed by the DL Implementation Group (DIG), a self-selecting assembly of researchers and developers associated with implementations of DL systems. Its intention was to overcome the limitations of the CORBA-FaCT interface, by adding support for assertional knowledge (not supported by FaCT at that time), reasoner identification and concrete domains, among others. Furthermore, the goal was to align with actual DL language fragments, such as those underlying DAML+OIL, and to provide an HTTP based interface for the client-server communication. The shortly following version DIG 1.1 of 2003 <ref type="bibr" target="#b5">[6]</ref> was quickly adopted by numerous reasoning engines, ontology editors and other applications. Despite its success there remained several shortcomings, such as limitations in the supported language fragment, a lack of elementary queries, and no mechanism to extend the protocol <ref type="bibr" target="#b6">[7]</ref>. Most of the identified issues were fixed in the draft specification of DIG 2.0 <ref type="bibr" target="#b7">[8]</ref> by adding the requested features and lifting the concept language to OWL 2 <ref type="bibr" target="#b8">[9]</ref>. Finally, DIG 2.0 has now been renamed into OWLlink to reflect the important shift from its DL roots to the XML-based cousin OWL and the lack of backwards compatibility to DIG.</p><p>Since syntax and semantic of the OWLlink language primitives are based on OWL 2, the effort to support the core protocol with respect to parsing is reduced. Consequently, OWLlink inherits all of its underlying language concepts such as punning<ref type="foot" target="#foot_0">1</ref> and the OWL 2 notion of structural equivalence. However, it does not support any parts of OWL 2 beyond the level of axioms. In particular, it does not support imports and the notion of an ontology. Client applications have to resolve any issues related to the handling of imports before passing a KB to an OWLlink server. Under this view, the OWLlink interface is by far more abstract in terms of implementation languages and internal representation models than frameworks that provide access to data structures representing OWL ontologies such as the Java specific OWL API <ref type="bibr" target="#b9">[10]</ref>. Furthermore, the OWLlink specification does not address issues such as stateful connections, transactions, authentication, encryption, compression, concurrency, multiple clients and so on. Yet some features (such as authentication, encryption and compression) might be transparently provided by the access protocol (e. g., HTTP/1.1).</p><p>OWLlink is specified in two parts: the first part defines the abstract protocol, and the second part defines a binding of the protocol into a concrete transport mechanism. The abstract protocol is introduced in Sect. 2 and Sect. 3, its binding to HTTP/1.1 and XML Schema is given in Sect. 4. The full specification can be found online. <ref type="foot" target="#foot_1">2</ref></p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Basic Protocol</head><p>OWLlink is a client-server protocol that makes a number of assumptions.</p><p>-The connection to the server is stateless and clients are not identified.</p><p>-OWLlink does not provide any support for modularity of Knowledge Bases. <ref type="foot" target="#foot_2">3</ref>-There is no explicit classification request. The server will decide when it is appropriate to, for example, compute the classification hierarchy of concepts.</p><p>The following definitions use a very limited subset of UML class diagram notation, reusing many UML classes provided by the OWL 2 specification <ref type="bibr" target="#b8">[9]</ref>. The names of abstract classes (that is, the classes that are not intended to be instantiated) are written in italic. The names of all OWL 2 UML classes are prefixed with ox. to emphasize that they are not defined in the OWLlink specification.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Sessions and Messages</head><p>An OWLlink session abstracts the actual bidirectional communication channel between the client and the server. It provides primitives to transport requests and responses. The actual implementation of a session is defined by the transport mechanism used to access a OWLlink server. OWLlink servers are allowed to service several clients concurrently; however, interaction within one session is not concurrent. A session is assumed to transport requests and responses sequentially ordered. Each request should be processed by the server such that the results are the same as if the requests were processed sequentially in the order they were dispatched.</p><p>The basic interaction pattern is that of request-response. Each request is paired with exactly one response. Depending on the transport mechanism, it might be inefficient to send individual requests to a server separately. Therefore, OWLlink requests are bundled into messages. A RequestMessage object encapsulates a list of Request objects, whereas a ResponseMessage object encapsulates a list of Response objects (cf. Fig. <ref type="figure" target="#fig_0">1</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Confirmation and Error Handling</head><p>Each request in OWLlink must be answered by a corresponding response. If a request has been processed successfully, the type of the response returned depends on the request and may contain additional data. If a request does not produce any specific data, the server should still return a Confirmation response (or subtype thereof) to the client. Any confirmation may carry a warning in terms of a string intended to be meaningful to a human user.</p><p>If a request fails for some reason, the server should return an Error response to the client containing a message specifying the cause for failure. Specific error classes are defined to report syntactic violations (SyntaxError), semantic problems (SemanticError) and issues regarding the management of a Knowledge Base (KBError). If a server cannot process a request, it should attempt to recover gracefully, and process other pending requests as if the error did not happen. If, however, this recovery is not possible, after sending the Error response, the server should close the session.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">Identification and Status</head><p>All OWLlink servers must support the GetDescription request, to allow clients to discover its identity and introspect its capabilities. The response to this request is a Description, providing information about the servers current state, A Configuration is either a Property or a Setting. While properties are read-only, settings can be adjusted per KB at any time via a Set request. The settings given in a Description indicate the servers defaults that hold for newly created KBs. The actual settings can be retrieved via GetSettings.</p><p>While OWLlink defines the general format of configurations, it does not provide specific details on available configurations -these will be defined on a per-server basis. However, the following configurations have to be supported by any OWLlink server.</p><p>selectedProfile A configuration that names the default profile of the server in case of a Description response and the active profile in a Settings response. Its type restricts the possible values to the list of language fragments supported by the server. Any well-defined DL fragment might be referenced by name in this list, including, but not limited to, the ones defined by the OWL 2 Profiles <ref type="bibr" target="#b10">[11]</ref> such as EL++, DL-Lite, OWL-R DL, etc.</p><p>ignoresAnnotations OWL 2 provides mechanisms for associating annotations with KB axioms and entities. If the management of annotations might incur unnecessary implementation and run-time overhead, this configuration allows to instruct an OWLlink server to ignore annotations.<ref type="foot" target="#foot_3">4</ref> ignoresDeclarations If a server is instructed to ignore declarations via this configuration, all received declaration axioms are treated as not being send.</p><p>In case a server deals with declarations a declaration axiom is treated as all other axioms (e.g. being sensible to structural equivalence). uniqueNameAssumption A configuration specifying whether the server employs the Unique Name Assumption (UNA) such that different names always refer to different entities in the world. <ref type="foot" target="#foot_4">5</ref></p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.4">Knowledge Base Management</head><p>Servers may manage several KBs simultaneously. Therefore, each KB is identified with a unique URI on creation. These URIs provide a handle that identifies the particular incarnation of the KB in the particular server. Most requests are derived from the KBRequest class, which requires a kb argument identifying the KB to which the request applies (cf. Fig. <ref type="figure" target="#fig_0">1</ref>). If a KB with the given URI cannot be found, the server should return a KBError object.</p><p>A new KB is allocated within the server by sending a CreateKB request. If the optional URI argument kb is given, the new KB is allocated with this URI, otherwise a fresh (server-generated) URI is used. However, if the given URI is already in use by another KB allocated before or the KB could not be allocated for some other reasons (e.g., a low memory condition), the response to the CreateKB request is a KBError. The optional name argument of a CreateKB request allows to associate a name with a KB on creation. Such KB names do not have to be unique and thus cannot be used to identify a certain KB. However, named KBs are published together with their identifying KB URI in the servers Description object to be accessible from multiple clients.</p><p>The use of unique URIs allows to sidestep some of the issues relating to multiple clients. If a client chooses not to share a KB URI with another client (either directly or by making it public through passing a name on creation), then the client can be sure that it is the only one interacting with that KB. <ref type="foot" target="#foot_5">6</ref>Different clients of the same server, like KB browsers or explanation tools, however, may want to share KBs by sharing URIs or making KBs public through naming -it is then the clients' responsibility to manage and coordinate this sharing. The possibility to pass an identifying URI along with a CreateKB followed by a mixture of arbitrary tell and ask request allows OWLlink KBs to stand alone -a situation that is useful, say for test suites and benchmarking.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.5">Extensions</head><p>Different reasoners support different language fragments and different reasoning facilities. To support these differences and future developments, OWLlink is extensible. Current candidates for extensions are:</p><p>Axiom Retraction Adds the ability to retract previously told axioms from KBs. Axiom retraction is sensitive to the rules of structural equivalence.<ref type="foot" target="#foot_6">7</ref> Told Information Retrieval Provides access to previous told KB entities by returning requested portions of axioms -structurally exactly as given in previous tell messages. <ref type="foot" target="#foot_7">8</ref>Ontology Based Data Access (OBDA) Extends OWLlink by the concepts of data source and mapping to support OBDA architectures facilitating the integration of data from existing data repositories.<ref type="foot" target="#foot_8">9</ref> </p><p>Other extensions are on the way such as a conjunctive query, a concrete domain interface, a non-standard inferences, and an explanation interface extension.</p><p>An extension consists of a set of documents specifying the additional messages, a structural specification providing sufficient information about their meaning, and a document per supported binding defining their syntax.</p><p>All documents must be available on the Web. A server reports the set of extensions supported for the binding used by a GetDescription request as part of the resulting Description object by listing their URIs without extension.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Tells &amp; Asks</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Tell Language</head><p>As mentioned before, OWLlink relies on the language primitives of OWL 2. With respect to the tell requests -those message parts which add axioms to a KBthis basically means that OWLlink refers to the various axioms about classes, properties or facts defined in Sect. 6 of the OWL 2 specification <ref type="bibr" target="#b8">[9]</ref>. As depicted in Fig. <ref type="figure" target="#fig_0">1</ref> a tell request contains a set of one or more OWL 2 axioms and will be answered with a OK response when successfully processed by the server.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Basic Asks</head><p>The OWLlink core includes a set of general requests for retrieving information about the KB. These so called basic asks cover common queries with respect to the given and inferred axioms of the KB. They substantially extend the query interface of DIG 1.1 with requests needed to be more aligned with OWL 2 or which have been missed by DIG user. In order to provide an informal overview the following table lists all of them. Their semantic and a detailed description of their corresponding responses is given in the OWLlink structural specification.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Within this table "[O|D]</head><p>" abbreviates that this query exists in two flavors, either for Object-as well as for DataProperties. Furthermore the "XXX" in Is[O|D]PropertyXXX is a wild-card for the various characteristics a property can have.</p><p>Responses of type SetOfXXXSynset consist of zero or more synsets of an OWL 2 entity such as Individual, Object-or DataProperty, or OWLClass. Such a synset is a set of one or more elements whose members are all equivalent to each other, i. e. for which mutual equivalence is entailed from the axioms of the KB. In case this information about equivalence sets is not needed (e. g. due to UNA) there are so called flattened variants for those asks which deal with return sets consisting of individuals.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">HTTP/XML Binding</head><p>The HTTP/XML binding of OWLlink uses HTTP as its underlying communication protocol for exchanging XML content between a reasoner and a client. Other bindings may utilize SOAP or a particular Remote Message Invocation protocol. Technically, within the HTTP/XML environment, the reasoner has to accept HTTP POST request and responds as appropriate according to the OWLlink specification. In order to alleviate the verbose nature of any XML-based protocol OWLlink servers should support the use of the standard compression technology for Content-Encoding of the HTTP/1.1 transport mechanism.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Sessions and Messages</head><p>An OWLlink session is mapped to an HTTP connection and is typically established upon sending the first request. HTTP servers are in general allowed to close the HTTP connection at their own discretion, which in effect terminates the OWLlink session. <ref type="foot" target="#foot_9">10</ref> In order to prevent this from happening, the client can include the keepAlive in the header of each HTTP request it sends.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">XML Schema</head><p>The XML schema is obtained by a straightforward translation of the objects from the structural specification: in general, the names of XML elements correspond to the names of the corresponding UML classes. It relies on the OWL 2 XML serialization for the primitives of the ontology language, and is therefore fully compatibly with OWL. As a result, implementors of the XML binding can re-use their implementation of OWL 2 parsers to read the OWL 2 specific contents of the tell and ask primitives.</p><p>Each OWLlink request (i. e., management, tell and ask primitives) must be acknowledged by a corresponding OWLlink response that are pooled within a RequestMessage respectively a ResponseMessage. Following a straightforward translation of the OWLlink specification into an XML schema the content body of a HTTP message is either the root element RequestMessage or a ResponseMessage containing requests resp. responses as can be seen in Fig. <ref type="figure" target="#fig_1">2</ref>  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Discussion</head><p>Strong evidence suggests that OWL 2 will become an important standard for representing ontologies. According to the W3C its featured usage is to enable applications to meaningfully process information by means of reasoning. However, from the application's point of view this requires not only a language standard for ontologies but also a standard way to interact with components which supply reasoning or other services. OWLlink adds this latter piece of the ontology infrastructure by providing an extensible protocol for communication with OWL reasoning systems. The OWLlink protocol facilitates client applications to configure a reasoner, to transmit OWL 2 axioms, and to access reasoning services via a set of basic queries. Furthermore, OWLlink is flexible in that it allows to add any desired functionality by defining a corresponding extension.</p><p>The current OWLlink specification is still a draft and obviously cannot be finalized before the OWL 2 language specification has reached W3C recommendation status. In the meantime the OWLlink specification itself has to undergo a process where interface details (e. g. server descriptions or the basic asks) need to be reviewed by potential server and client developers as well as users. Therefore, anyone who feels addressed by this initiative is requested to join the discussion and to provide feedback to the OWLlink working group<ref type="foot" target="#foot_10">11</ref> as well as to the developers of those OWL components they would like access via OWLlink.</p><p>In fact, the developers of the established and most widely used reasoning systems RacerPro, Pellet and FaCT++ attentively follow the development of OWLlink and some already have announced to support the protocol. 12 The developers of the QuOnto system are in the process of migrating their current OBDA extension for DIG 1.1 to the new OWLlink proposal (cf. Sect. 2.5). Various other developers of client applications, for example ontology editing and browsing tools such as the Protégé 4 or OntoTrack, also commited to adopt OWLlink. The same holds for the Java based OWL-API.</p><p>OWLlink provides a framework for accessing management and reasoning services around the forthcoming OWL 2. It is flexible to cope with future demands with respect to the underlying language as well as services. Beyond that it is designed on a structural level which enables many different bindings to concrete transport mechanisms. Besides the introduced XML/HTTP binding there are many other options. For instance there is a draft with respect to a binding aming at transporting OWL 2 functional prefix style syntax over HTTP (or a simple TCP socket connection). 13 The latter would provide a modern substitute for the outdated KRSS standard. Even an in-memory binding within one application, by mapping the OWLlink primitives to interfaces for instance, is a desired and sensible usage of OWLlink. In any case using OWLlink comes with the benefit of having a well-defined interface that allows to easily plug different OWL-aware components together.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Basic protocol objects</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. RequestMessage and ResponseMessage</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>. Some more detailed examples are given in Appendix A.</figDesc><table><row><cell>&lt;owllink:RequestMessage&gt;</cell><cell>&lt;owllink:ResponseMessage&gt;</cell></row><row><cell>[request #1]</cell><cell>[response #1]</cell></row><row><cell>[request #2]</cell><cell>[response #2]</cell></row><row><cell>[ ... ]</cell><cell>[ ... ]</cell></row><row><cell>[request #n]</cell><cell>[response #n]</cell></row><row><cell>&lt;/owllink:RequestMessage&gt;</cell><cell>&lt;/owllink:ResponseMessage&gt;</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">Punning eliminates the need for introducing names. Each name can independently be used as the name of a property, a class, a datatype, or an individual.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">http://www.owllink.org/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">A KB is a collection of facts and axioms.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_3">A server configured this way should still accept annotations.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_4">OWL does not make the UNA<ref type="bibr" target="#b8">[9]</ref>. Still, a client might choose to enable the UNA in case the reasoning performance is of utmost importance.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_5">This is not entirely the case, as there is a (very small) chance that a malicious client could guess a URI which is in use.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_6">http://www.owllink.org/ext/retraction-20081001/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="8" xml:id="foot_7">http://www.owllink.org/ext/told-access-20081001/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="9" xml:id="foot_8">http://obda.inf.unibz.it/owllink/obda-20081001/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="10" xml:id="foot_9">Note that closing an OWLlink session does not imply the release of any KB.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="11" xml:id="foot_10">There is a public discussion forum at http://www.owllink.org/forum/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="12" xml:id="foot_11">Racer System will release an OWLlink compatible version of RacerPro shortly after this OWLED'08.</note>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The following is an example of a request (and its response) containing a "testsuite" or "benchmark-style" OWLlink message starting with the creation of a KB which is followed by a mixture of tells and asks: &lt;!DOCTYPE ResponseMessage [ &lt;!ENTITY owl "http://www.w3.org/2002/07/owl#"&gt; ]&gt; &lt;RequestMessage xmlns="http://www.owllink.org/owllink-xml" xmlns:ol="http://www.owllink.org/owllink-xml" xmlns:ox="http://www.w3.org/ns/owl2-xml#"&gt; &lt;!--KB management --&gt; &lt;!--Some asks --&gt; &lt;CreateKB ol:kb="KB_1"/&gt; &lt;GetAllClasses ol:kb="KB_1"/&gt; &lt;CreateKB ol:kb="KB_2" &lt;GetEquivalentClasses ol:kb="KB_1"&gt; ol:name="My KB 2"/&gt; &lt;ox:OWLClass ox:URI="D"/&gt; &lt;!--Some tells in KB_1--&gt; &lt;/GetEquivalentClasses&gt; &lt;Tell ol:kb="KB_1"&gt; &lt;IsClassSubsumedBy ol:kb="KB_1"&gt; &lt;ox:SubClassOf&gt; &lt;ox:OWLClass ox:URI="&amp;owl;Thing"/&gt; &lt;ox:OWLClass ox:URI="B"/&gt; &lt;ox:OWLClass ox:URI="&amp;owl;Nothing"/&gt; &lt;ox:OWLClass ox:URI="A"/&gt; &lt;/IsClassSubsumedBy&gt; &lt;/ox:SubClassOf&gt; &lt;GetSubClasses ol:kb="KB_1"&gt; &lt;ox:SubClassOf&gt; &lt;ox:OWLClass ox:URI="C"/&gt; &lt;ox:OWLClass ox:URI="C"/&gt; &lt;/GetSubClasses&gt; &lt;ox:OWLClass ox:URI="A"/&gt; &lt;!--Some tells in another KB --&gt; &lt;/ox:SubClassOf&gt; &lt;Tell ol:kb="KB_2"&gt; &lt;ox:EquivalentClasses&gt; &lt;ox:SubClassOf&gt; &lt;ox:OWLClass ox:URI="D"/&gt; &lt;ox:OWLClass ox:URI="A"/&gt; &lt;ox:OWLClass ox:URI="E"/&gt; &lt;ox:OWLClass ox:URI="B"/&gt; &lt;/ox:EquivalentClasses&gt; &lt;/ox:SubClassOf&gt; &lt;ox:ClassAssertion&gt; &lt;/Tell&gt; &lt;ox:OWLClass ox:URI="A"/&gt; &lt;!--KB management --&gt; &lt;ox:Individual ox:URI="iA"/&gt; &lt;ReleaseKB ol:kb="KB_1"/&gt; &lt;/ox:ClassAssertion&gt; &lt;!--One more ask --&gt; &lt;/Tell&gt; &lt;GetAllClasses ol:kb="KB_1"/&gt; &lt;/RequestMessage&gt; &lt;!DOCTYPE ResponseMessage [ &lt;!ENTITY owl "http://www.w3.org/2002/07/owl#"&gt; ]&gt; &lt;ResponseMessage xmlns="http://www.owllink.org/owllink-xml" xmlns:ol="http://www.owllink.org/owllink-xml" xmlns:ox="http://www.w3.org/ns/owl2-xml#"&gt; &lt;!--KB management --&gt; &lt;/SetOfClasses&gt; &lt;KB ol:kb="KB_1"/&gt; &lt;BooleanResponse ol:result="false"/&gt; &lt;KB ol:kb="KB_2"/&gt; &lt;SetOfClassSynsets&gt; &lt;!--tell --&gt; &lt;ClassSynset&gt; &lt;OK/&gt; &lt;ox:OWLClass ox:URI="&amp;owl;Nothing"/&gt; &lt;!--ask --&gt; &lt;/ClassSynset&gt; &lt;SetOfClasses&gt; &lt;/SetOfClassSynsets&gt; &lt;ox:OWLClass ox:URI="A"/&gt; &lt;!--Some tells in another KB --&gt; &lt;ox:OWLClass ox:URI="B"/&gt; &lt;OK/&gt; &lt;ox:OWLClass ox:URI="C"/&gt; &lt;!--KB management --&gt; &lt;ox:OWLClass ox:URI="D"/&gt; &lt;OK/&gt; &lt;ox:OWLClass ox:URI="E"/&gt; &lt;!--One more ask --&gt; &lt;/SetOfClasses&gt; &lt;KBError errorMessage= &lt;SetOfClasses&gt; "KB KB_1 does not exist!"/&gt; &lt;ox:OWLClass ox:URI="E"/&gt; &lt;/ResponseMessage&gt;</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Using an expressive description logic: FaCT or fiction?</title>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 6th Int. Conf. on Principles of Knowledge Representation and Reasoning (KR&apos;98)</title>
				<meeting>of the 6th Int. Conf. on Principles of Knowledge Representation and Reasoning (KR&apos;98)</meeting>
		<imprint>
			<date type="published" when="1998">1998</date>
			<biblScope unit="page" from="636" to="647" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Description of the RACER system and its applications</title>
		<author>
			<persName><forename type="first">V</forename><surname>Haarslev</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Möller</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the Int. Workshop on Description Logics</title>
				<meeting>of the Int. Workshop on Description Logics</meeting>
		<imprint>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">F</forename><surname>Patel-Schneider</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Swartout</surname></persName>
		</author>
		<title level="m">Description-Logic knowledge representation system specification from the KRSS group</title>
				<imprint>
			<date type="published" when="1993">1993</date>
		</imprint>
	</monogr>
	<note>Working version (draft</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">A proposal for a Description Logic interface</title>
		<author>
			<persName><forename type="first">S</forename><surname>Bechhofer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Patel-Schneider</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Tessaris</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Intern. Workshop on Description Logics</title>
				<imprint>
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<author>
			<persName><forename type="first">S</forename><surname>Bechhofer</surname></persName>
		</author>
		<title level="m">The DIG Description Logic interface: DIG/1.0</title>
				<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
		<respStmt>
			<orgName>University of Manchester</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">The DIG Description Logic interface</title>
		<author>
			<persName><forename type="first">S</forename><surname>Bechhofer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Möller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Crowther</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the Int. Workshop on Description Logics (DL&apos;03)</title>
				<meeting>of the Int. Workshop on Description Logics (DL&apos;03)</meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">Implementation experience with the DIG 1.1 specification</title>
		<author>
			<persName><forename type="first">I</forename><surname>Dickinson</surname></persName>
		</author>
		<idno>HPL-2004-85</idno>
		<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
		<respStmt>
			<orgName>Hewlett-Packard</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">DIG2.0 -towards a flexible interface for Description Logic reasoners</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">Y</forename><surname>Turhan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Bechhofer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Kaplunova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Liebig</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Luther</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Möller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Noppens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Patel-Schneider</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Suntisrivaraporn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Weithöner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the OWL Experiences and Directions Workshop at the ISWC&apos;06</title>
				<meeting>of the OWL Experiences and Directions Workshop at the ISWC&apos;06</meeting>
		<imprint>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">OWL 2 Web Ontology Language: Structural specification and functional-style syntax</title>
		<author>
			<persName><forename type="first">B</forename><surname>Motik</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">F</forename><surname>Patel-Schneider</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">W3C Working Draft</title>
				<imprint>
			<publisher>World Wide Web Consortium</publisher>
			<date type="published" when="2008-04-11">11 April 2008. 2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">The OWL API</title>
		<author>
			<persName><forename type="first">M</forename><surname>Horridge</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Bechhofer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Noppens</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 3rd OWL Experiences and Directions Workshop at the ESWC&apos;07</title>
				<meeting>of the 3rd OWL Experiences and Directions Workshop at the ESWC&apos;07</meeting>
		<imprint>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">OWL 2 Web Ontology Language: Profiles</title>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">C</forename><surname>Grau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Motik</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Wu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Fokoue</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Lutz</surname></persName>
		</author>
		<ptr target="http://www.owllink.org/owllink-httpsexpr-20081001/" />
	</analytic>
	<monogr>
		<title level="m">W3C Working Draft</title>
				<imprint>
			<publisher>World Wide Web Consortium</publisher>
			<date type="published" when="2008-04-11">11 April 2008. 2008</date>
			<biblScope unit="volume">13</biblScope>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
