<?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">OWL SAIQL -An OWL DL Query Language for Ontology Extraction</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Alexander</forename><surname>Kubias</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Koblenz-Landau</orgName>
								<address>
									<postCode>56070</postCode>
									<settlement>Koblenz</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Simon</forename><surname>Schenk</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Koblenz-Landau</orgName>
								<address>
									<postCode>56070</postCode>
									<settlement>Koblenz</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Steffen</forename><surname>Staab</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Koblenz-Landau</orgName>
								<address>
									<postCode>56070</postCode>
									<settlement>Koblenz</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author role="corresp">
							<persName><forename type="first">Jeff</forename><forename type="middle">Z</forename><surname>Pan</surname></persName>
							<email>jpan@csd.abdn.ac.uk</email>
							<affiliation key="aff1">
								<orgName type="institution">The University of Aberdeen</orgName>
								<address>
									<postCode>AB24 3UE</postCode>
									<settlement>Aberdeen</settlement>
									<country key="GB">UK</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">OWL SAIQL -An OWL DL Query Language for Ontology Extraction</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">796BBF8225DD1684CB61C2CB03FACA89</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T02:10+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>
			<textClass>
				<keywords>
					<term>OWL</term>
					<term>Query Language</term>
					<term>Schema</term>
					<term>Ontology Extraction</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Existing approaches for querying OWL DL do either only operate on syntactic constructs without taking into account the semantics of OWL or do only have a restricted access to the T-Box. We present SAIQL, the novel Schema And Instance Query Language for OWL DL, that is well suited for ontology extraction. We describe its syntax and explain a basic evaluation strategy. We illustrate the use of SAIQL with an example for ontology extraction and re-use.</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>With the standardization of the Web Ontology Language OWL [1], the use and re-use of ontological knowledge has gained significant momentum. For using web ontologies it is crucial to be able to access web ontologies in an intuitive and versatile manner. In contrast to RDF, where SPARQL <ref type="bibr" target="#b12">[2]</ref> is providing access to RDF data and RDF schema information, a corresponding query language is missing for OWL. Existing OWL querying approaches, e.g. OWL-QL <ref type="bibr" target="#b13">[3]</ref>, have only a restricted access to the T-Box so that only named classes and individuals can be retrieved. Using SPARQL <ref type="bibr" target="#b12">[2]</ref> for querying OWL allows the user to query OWL A-Box and T-Box, but it is not aware of OWL semantics and it is very cumbersome, because of its triple semantics. In fact, we will give some examples of querying desiderata that cannot easily be fulfilled by SPARQL or OWL-QL.</p><p>The requirements for querying OWL naturally include conjunctive queries of the OWL A-Box <ref type="bibr">[4]</ref>, but as has also been recently argued for other ontology languages with explicitly queryable schema representations (cf. <ref type="bibr">[5]</ref>), the querying of schema as well as instance information constitutes an important feature of the querying language.</p><p>We illustrate our requirements for querying OWL with an application from ontology extraction (cf., <ref type="bibr" target="#b16">[6]</ref>) for re-using parts of an ontology. While implementations of ontology extraction algorithms are currently dominated by imperative style programming, re-using parts of an ontology would be greatly facilitated by a query language that would allow querying for schema and instance information. For instance, it is useful to ask for all individuals of classes, which are defined using a restriction with a certain property or having a specific subclass.</p><p>As one main contribution, our query language can handle class descriptions in addition to class names and individuals. The extraction of these class descriptions is of major importance as they provide the definition for a certain class name. Instead of extracting isolated class names and individuals like in OWL-QL, the class names, class descriptions and individuals are returned as OWL DL axioms. Thus, the result is a fully working OWL DL ontology.</p><p>In the following, we present our small example use case in ontology extraction and derive some requirements from it (section 2). We then discuss some of the foundations on which we build our approach in section 4. In section 5, we present the original querying language SAIQL (Schema And Instance Query Language) that is able to combine T-Box and A-Box querying in an integrated manner. Finally, we discuss some related work, before we conclude.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Use Case and Requirements</head><p>In our running example, we assume a large ontology, MotorOntology, parts of which we want to extract and re-use for a new information system about cars in order to save costs and ensure high quality (cf., <ref type="bibr" target="#b17">[7]</ref> on the benefits of ontology re-use). Naturally, we do not want to adopt the given ontology one by one, as we are only interested in schema and instance information related to cars.</p><p>For extracting our target ontology from MotorOntology (see an excerpt in Figure <ref type="figure" target="#fig_0">1</ref>), we are interested in all axioms that contain class names, which are subclasses of the cardinality restriction with the value 4 for the property hasWheel, and their descriptions. Additionally, we are interested in all axioms about individuals of these classes. Given the running example in Figure <ref type="figure" target="#fig_0">1</ref>, the class names Car, Convertible and Van and their descriptions should be delivered as class axioms. Furthermore, the individual axioms about c and v need to be extracted. From the presented use case we derive the following requirements: First, the query language should regard and use the semantics of OWL DL ontologies. By exploiting their semantics, additional knowledge can be inferred that is not explicitly stated in the ontology. Thus, in our running example the class Van could be returned as a subclass of Car without being explicitly mentioned as its subclass.</p><p>As a further requirement, the query language should not only retrieve class names and individuals, but also class descriptions. As shown in our use case, it is not sufficient to return the class Convertible without knowing its definition. We also want to retrieve the class description of the class Convertible, namely that it is a subclass of the class Car and that it has an existential restriction for the property hasConvertibleTop.</p><p>Instead of extracting isolated class names and individuals, we want to return the class names, class descriptions and individuals as OWL DL axioms so that the result is a fully working OWL DL ontology. Thus, it should be possible to use the result of a SAIQL query as an input for another SAIQL query.</p><p>As models of OWL ontologies are infinite in general, query answering might cause infinite results. In order to ensure finite answers to queries, we need to define privileged sets of class names, class descriptions and individuals that are used in query results. These sets should be determined by the concrete syntactic notation of the queried ontology, which is always finite.</p><p>Finally, we want to state join-like conditions on selected classes and individuals by using identical names for variables. Thus, it should be possible to select all classes ?X so that an individual ?i belongs to this class ?X and so that the same class ?X must be a subclass of another class ?Y .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">SAIQL in a Nutshell</head><p>In our running example, we want to extract the axioms for our target ontology from MotorOntology. As we are interested in all axioms about class names, which are subclasses of the cardinality restriction with value 4 for the property hasWheel, their descriptions and their individuals, the SAIQL query in figure 2 is formulated. Within this query, three variables ?i, ?X and ?Z are used. The variable ?i is treated as a placeholder for an individual, whereas the variable ?X is a placeholder for a class name and ?Z for a class description. Furthermore, the SAIQL query consists of four clauses: The CONSTRUCT clause determines the format of the extracted axioms, the FROM clause determines from which ontology axioms are extracted, the LET clause associates variables with value ranges and the WHERE clause constitutes the conditions under which axioms are extracted.</p><p>CONSTRUCT Class(?X partial ?Z); Individual(?i type(?X)) FROM MotorOntology LET IndividualName ?i; ClassName ?X; ClassDescription ?Z WHERE Class(?X partial restriction(hasWheel cardinality(4)))</p><p>AND Individual(?i type(?X)) AND Class(?X partial ?Z) Fig. <ref type="figure">2</ref>. SAIQL query for our example 4 Abstract Syntax and Semantics for OWL DL SAIQL is a query language for OWL DL. In this section, we repeat some of the foundations of OWL DL that we need for defining SAIQL.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Abstract Syntax for OWL DL</head><p>In the following, we present the abstract syntax for OWL DL by means of an extended BNF. The syntax is adopted from <ref type="bibr" target="#b18">[8]</ref>. For the sake of simplicity and consistency, the syntax is slightly simplified leaving out annotation properties and import commands. Additionally, some terms are renamed. For example, the term fact is called individualAxiom in order to be consistent with the rest of the paper. Furthermore, we omit datatypes and datatype properties. Based on this syntax, we will define the syntax of SAIQL. Below you find an excerpt of the OWL abstract syntax in EBNF: </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Excerpt of OWL DL semantics</head><p>In the following, we describe parts of the model-theoretic semantics for OWL DL. The presented semantics is taken from <ref type="bibr" target="#b19">[9]</ref>. We have slightly modified its presentation given here in order to use it more easily for the definition of SAIQL in the remainder of the paper. OWL class constructors are e.g. union, intersection or complement of classes, restrictions or enumerations. As mentioned in section 4.1, datatypes and datatype properties are not considered in detail in this paper. More details of the semantics of OWL DL can be found in <ref type="bibr" target="#b18">[8]</ref>.</p><p>As models of OWL ontologies are infinite in general, query answering could cause infinite answers. In oder to ensure finite answers to queries, we have defined the four finite sets N C , N IP , N DP and N I . Additionally, we must define the finite set of class descriptions used in the OWL DL ontology O. As proposed in <ref type="bibr" target="#b19">[9]</ref>, we distinguish class axioms, individual axioms and property axioms.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">OWL SAIQL</head><p>In this section the syntax of SAIQL is described. Additionally, a basic evaluation strategy for SAIQL queries is proposed.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Syntax</head><p>As mentioned before, axioms are the central elements of OWL DL ontologies and they are also important for SAIQL queries. Their definition is extended by allowing variables in them. Definition 6. An axiom pattern p is defined analogously to an axiom, but allows variables at positions of class descriptions and individual names. The range of these variables can be either N C , N I or N CD . The name of a variable must start with a "?".</p><p>In contrast to <ref type="bibr" target="#b13">[3]</ref>, we do not support non-distinguished variables. As proposed for axioms without any variables, axiom patterns can be either class axiom patterns, individual axiom patterns or property axiom patterns.</p><p>Example. The SAIQL query in Figure <ref type="figure">2</ref> contains two individual axiom patterns and three class axiom patterns in the CONSTRUCT clause and in the WHERE clause. For instance, Class(?X partial ?Z) is a class axiom pattern and Individual(?i type(?X)) is an individual axiom pattern.</p><p>The range of a variable is specified in the LET clause. In our running example in Figure <ref type="figure">2</ref>, the variable ?X is specified as a class name, the variable ?Z is specified as a class description and the variable ?i is specified as an individual name. where constructClause contains a sequence of axiom patterns, fromClause contains an URI reference of an ontology, letClause specifies the range of the variables and whereClause is a sequence of axiom patterns.</p><p>In this paper, we restrict ourselves to a single ontology, from which axioms can be extracted. The complete syntax for SAIQL is as follows: </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Canonical Process for the Query Evaluation</head><p>The query evaluation consists of three steps. In the first step the LET clause is evaluated: From the ontology O declared in the FROM clause we retrieve three sets of ontology elements, namely the finite set of class names N C , the finite set of class descriptions N CD and the finite set of individual names N I . The finite set of class names N C contains the names of all atomic classes and the names of all named complex classes. Additionally, the finite set of class descriptions N CD contains all class descriptions that appear in the concrete syntactic notation of O (note that this includes all class names). Thus, In the third and last step, the CONSTRUCT clause is evaluated and the result of the query is generated.</p><formula xml:id="formula_0">N C ⊆ N CD . The</formula><p>Definition 12. The set of resulting axioms of a SAIQL query is the set of axiom patterns in the CONSTRUCT clause instantiated with every s ∈ S v .</p><p>The result of the query evaluation is a new set of axioms, i.e. a new ontology.</p><p>In the third and last step, the CONSTRUCT clause is evaluated. Each single axiom pattern of the CONSTRUCT clause is instantiated with each valid solution s ∈ S v . Thus, the classes Car, Van and Convertible, their descriptions and the individuals c and v are inserted as axioms into a new OWL ontology that is shown in Figure <ref type="figure">3</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Related Work</head><p>The most common way for querying OWL DL for schema and instance information is by using languages like SPARQL <ref type="bibr" target="#b12">[2]</ref> or RQL <ref type="bibr" target="#b20">[10]</ref>. They can retrieve RDF triples that match a given pattern. Compared to SAIQL, the RDF query languages are not able to retrieve schema information from the T-Box, which is not explicitly stated. They can only query the T-Box by inspecting the underlying RDF triples on a syntactic level. By using SAIQL, explicit and inferred knowledge can be found.</p><p>For instance, in our running example in section 2 it would not be possible to achieve the same answer that was retrieved by the SAIQL query by performing OWL-QL or SPARQL queries. OWL-QL has only a restricted access to the T-Box so that only named classes and individuals can be retrieved. Thus, it is not possible to retrieve the class descriptions that define the named classes. SPARQL is not aware of OWL semantics. Thus, the class name Convertible could not be retrieved because it is not explicitly stated as a subclass of the cardinality restriction for the property hasWheel. Even if we use an OWL reasoner such as Pellet <ref type="bibr" target="#b21">[11]</ref> to infer such a relation, there is no standard way to explicitly store the results of the inferencing in RDF. Additionally, there are ambiguous serializations e.g. for qualified number restrictions. In our use case restriction(has-Wheel cardinality(4)) could also be expressed as intersectionOf(restriction(hasWheel minCardinality(4)) restriction(hasWheel maxCardinality(4))).</p><p>Although it is possible to extract the desired part of an ontology manually, this is naturally a harder task than specifying a SAIQL query and, of course, it is error-prone. Thus, it is certainly easier and more reasonable to use a SAIQL query instead. The need for such an automatic extraction is even increased if the former large ontology is changed and, thus, an update of the extracted ontology is required. Because changes of company-wide ontologies can happen very often, manual approaches for ontology extraction are almost infeasible. Further information about ontology extraction or ontology segmentation can be found in <ref type="bibr" target="#b22">[12]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Conclusion and Future Work</head><p>In this paper we have presented a novel query language for OWL DL, called SAIQL (Schema And Instance Query Language), that is suited for querying the T-Box and the A-Box in a uniform way.</p><p>As one main contribution, our query language cannot only handle class names and individuals, but also class descriptions. The extraction of these class descriptions is of major importance as they provide the definition for a certain class name. By constructing OWL DL axioms that contain the extracted class names, individuals and class descriptions, the query answer will be a fully working OWL DL ontology that can be directly re-used.</p><p>We have described the syntax of our query language and we have provided a basic evaluation strategy for it. As we demonstrated in our running example, SAIQL is appropriate for extracting parts of an ontology (schema and instances) that shall be re-used in other applications.</p><p>In our future work, we will implement the evaluation of SAIQL queries. We will also extend the expressivity of SAIQL, e.g. by allowing more than one ontology, from which axioms can be retrieved, or by introducing variable bindings for properties. As another important extension, the retrieval of anonymous individuals and classes will be handled.</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. Example MotorOntology given in OWL DL (in OWL abstract syntax)</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head></head><label></label><figDesc>ontology ::= 'Ontology(' [ ontologyID ] { axiom } ')' axiom ::= classAxiom | propertyAxiom | individualAxiom ... classAxiom ::= 'Class(' classID modality { description } ')' | 'EnumeratedClass(' classID { individualID } ')' | 'DisjointClasses(' description description { description } ')' | 'EquivalentClasses(' description { description } ')' | 'SubClassOf(' description description ')' description ::= classID | restriction | 'unionOf(' { description } ')' | 'intersectionOf(' { description } ')' | 'complementOf(' description ')' | 'oneOf(' { individualID } ')' ... individualAxiom ::= individual | 'SameIndividual(' individualID individualID {individualID} ')' | 'DifferentIndividuals(' individualID individualID {individualID} ')' ...</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Definition 1 .</head><label>1</label><figDesc>Let N C , N IP , N DP , N I be the sets of URI references that can be used to denote classes, individual-valued properties, data-valued properties and individuals. An OWL DL interpretation is a tuple I = (∆ I , ∆ D , . I , . D ) where the individual domain ∆ I is a nonempty set of individuals, the datatype domain ∆ D is a nonempty set of data values, -. I is a individual interpretation function, and -. D is a datatype interpretation function. Definition 2. An individual interpretation function . I is a function that maps each individual name a ∈ N I to an element a I ∈ ∆ I , each class name C ∈ N C to a subset C I ⊆ ∆ I , each individual-valued property name R ∈ N IP to a binary relation R I ⊆ ∆ I × ∆ I , and each data-valued property name T ∈ N DP to a binary relation T I ⊆ ∆ I × ∆ D . Definition 3. A class is a group of individuals. If a class is only defined by naming it, we call it an atomic class. A class description is a declaration of a class using its name (for atomic classes) or OWL class constructors (for non-atomic classes). Thus, each atomic class is also a class description.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Definition 4 .Definition 5 .</head><label>45</label><figDesc>Given an OWL DL ontology O, the finite set of class descriptions N CD consists of all elements that appear in O and that are produced by the description rule in the OWL DL EBNF. Example. Given the knowledge base in Figure 1, we have N C = {Car, Convertible, MotorBike, Van}, N IP = {hasWheel, hasConvertibleTop, hasSlidingDoor}, N DP = ∅, N I = {c,v,m} and, finally, N CD = N C ∪ { restriction( hasWheel cardinality(2) ), restriction( hasWheel cardinality(4) ), intersectionOf( Car restriction( has-ConvertibleTop someValuesFrom(owl:Thing) ) ), intersectionOf( restriction( hasWheel cardinality(4)) restriction( hasSlidingDoor someValuesFrom(owl:Thing) ) ), restriction( hasConvertibleTop someValuesFrom(owl:Thing) ), restriction( hasSlidingDoor some-ValuesFrom(owl:Thing) ) }. Furthermore, we need to define what an axiom is. Axioms are the central elements of OWL DL ontologies and play an important role for SAIQL. Given an OWL DL ontology O, an axiom is a statement that is produced by the axiom rule in the OWL DL EBNF and that appears in O relating classes, properties or individuals. The whole set of axioms forms the ontology O.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Definition 7 .</head><label>7</label><figDesc>An OWL SAIQL query has the form 'CONSTRUCT' constructClause 'FROM' fromClause 'LET' letClause 'WHERE' whereClause</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head></head><label></label><figDesc>SAIQL-query ::= 'CONSTRUCT' constructClause 'FROM' fromClause 'LET' letClause 'WHERE' whereClause constructClause ::= axiomPattern {';' axiomPattern} fromClause ::= ontologyID letClause ::= variableBinding {';' variableBinding} whereClause ::= axiomPattern {'AND' axiomPattern} axiomPattern ::= classAxiomPattern | propertyAxiomPattern | individualAxiomPattern classID ::= URIreference individualID ::= URIreference ontologyID ::= URIreference individualvaluedPropertyID ::= URIreference variableBinding ::= classNameBinding | individualNameBinding | classDescriptionBinding classNameBinding ::= 'ClassName' classNameVar {',' classNameVar} individualNameBinding ::= 'IndividualName' individualNameVar {',' individualNameVar} classDescriptionBinding ::= 'ClassDescription' classDescriptionVar {',' classDescriptionVar} lexicalForm ::= a unicode string in normal form C classNameVar ::= '?'lexicalForm individualNameVar ::= '?'lexicalForm classDescriptionVar ::= '?'lexicalForm className ::= classNameVar | classID individualName ::= individualNameVar | individualID classDescription ::= classDescriptionVar | description classAxiomPattern ::= 'Class(' className modality { classDescription } ')' | 'EnumeratedClass(' className { individualName } ')' | 'DisjointClasses(' classDescription classDescription { classDescription } ')' | 'EquivalentClasses(' classDescription { classDescription } ')' | 'SubClassOf(' classDescription classDescription ')' modality ::= 'complete' | 'partial' description ::= className | restriction | 'unionOf(' { classDescription } ')' | 'intersectionOf(' { classDescription } ')' | 'complementOf(' classDescription ')' | 'oneOf(' { individualName } ')' restriction ::= restriction( individualvaluedPropertyID individualRestrictionComponent { individualRestrictionComponent } ) individualRestrictionComponent ::= allValuesFrom( classDescription ) | someValuesFrom( classDescription ) | value( individualName ) | cardinality cardinality ::= 'minCardinality(' non-negative-integer ')' | 'maxCardinality(' non-negative-integer ')' | 'cardinality(' non-negative-integer ')' propertyAxiomPattern ::= 'ObjectProperty(' individualvaluedPropertyID { 'super(' individualvaluedPropertyID ')' } [ 'inverseOf(' individualvaluedPropertyID ')' ] [ 'Symmetric' ] [ 'Functional' | 'InverseFunctional' | 'Functional' 'InverseFunctional' | 'Transitive' ] { 'domain(' classDescription ')' } { 'range(' classDescription ')' } ')' | 'EquivalentProperties(' individualvaluedPropertyID individualvaluedPropertyID { individualvaluedPropertyID } ')' | 'SubPropertyOf(' individualvaluedPropertyID individualvaluedPropertyID ')' individualAxiomPattern ::= individual | 'SameIndividual(' individualName individualName {individualName} ')' | 'DifferentIndividuals(' individualName individualName {individualName} ')' individual ::= 'Individual(' [ individualName ] { 'type(' classDescription ')' } { value } ')' value ::= 'value(' individualvaluedPropertyID individualName ')' | 'value(' individualvaluedPropertyID individual ')'</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>range of every variable is bound to one of these sets: Definition 8. A binding is a substitution [?x 1 /a 1 ] of a variable ?x 1 by a value a 1 from the range as defined in the LET clause, that is fromN C , N CD or N I . A solution s = [?x/a] = [?x 1 /a 1 ][?x 2 /a 2 ] . . . [?x n /a n ]of a SAIQL query is a composition of substitutions 3 , one for every variable declared in the LET clause. The set of all possible solutions is called S all .In the second step the WHERE clause is evaluated. The conjunction of the axiom patterns in the WHERE clause is split into single axiom patterns. Afterwards, each single axiom pattern is instantiated:Definition 10. Let Obe the ontology that is specified in the FROM clause. A solution s = [?x/a] is valid w.r.t. an axiom pattern p, if O |= p [?x/a] . Definition 11. A solution is valid w.r.t. the WHERE clause if it is valid w.r.t. every axiom pattern in the WHERE clause. The set of valid solutions S v ⊆ S all of a SAIQL query is the set of solutions of this query, which are valid w.r.t. the WHERE clause.</figDesc><table><row><cell>Definition 9. An axiom pattern p instantiated with a solution s = [?x/a] is an axiom</cell></row><row><cell>pattern p [?x/a] where every occurrence of a variable is replaced by the value of its</cell></row><row><cell>binding in the solution.</cell></row><row><cell>By replacing each variable of a single axiom pattern with a constant value, we can</cell></row><row><cell>decide for the resulting (instantiated) axiom if it is implied by O.</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_0">Note that the composition of substitutions here is commutative. Hence, we can easily write a particular order of substitutions to denote an equivalence class of composed substitutions and call this one solution.</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgments</head><p>This work has been partially supported by the EU in the projects NeOn (IST-2006-027595) and K-Space (FP6-027026).</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<ptr target="?i/v][?X/Van" />
		<title level="m">extract N C = {Car, Convertible, MotorBike, Van}, N I = {c, m, v} and, finally, N CD = N C ∪ { restriction( hasWheel cardinality(2) ), restriction( has-Wheel cardinality(4) ), intersectionOf( Car restriction( hasConvertibleTop someValues-From(owl:Thing) ) ), intersectionOf( restriction( hasWheel cardinality(4) ) restriction( hasSlidingDoor someValuesFrom(owl:Thing) ) ), restriction( hasConvertibleTop some-ValuesFrom(owl:Thing) ), restriction( hasSlidingDoor someValuesFrom(</title>
				<imprint/>
	</monogr>
	<note>all possible solutions S all is created. As the LET clause contains a variable ?i representing individual names, a variable ?X representing class names and a variable ?Z representing class descriptions. = |N I | × |N C | × |N CD | and S all =. ?i / c. ?X / Convertible. ?Z / restriction( hasWheel cardinality(2)). ?i / c. ?X / MotorBike. ?Z / restriction( hasWheel cardinality(4)). ?Z / restriction( hasSlidingDoor someValuesFrom(owl:Thing</note>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m">and the third single axiom pattern, S v ⊆ S all is retrieved. Class(Car partial Car) Class(Car partial restriction(hasWheel cardinality</title>
				<imprint/>
	</monogr>
	<note>In the second step, the conjunction of the axiom patterns in the WHERE clause is split into single axiom patterns. In our example, the first and the third single axiom pattern is a class axiom pattern and the second single axiom pattern is an individual axiom pattern. After checking the first single axiom pattern, all solutions are removed in which ?X = MotorBike because MotorBike is not a subclass of restriction(hasWheel cardinality(4). After checking the second</note>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m">Class(Convertible partial Car)</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m">Class(Convertible partial restriction(hasWheel cardinality</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m">Class(Convertible partial Convertible</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m">Class(Convertible partial restriction(hasConvertibleTop someValuesFrom(owl:Thing)))</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m">Class(Convertible partial Car restriction(hasConvertibleTop someValuesFrom(owl:Thing)))</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m">Class(Van partial Car) Class(Van partial restriction(hasWheel cardinality</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<title level="m">Class(Van partial restriction(hasSlidingDoor someValuesFrom(owl:Thing)))</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m">Class(Van partial restriction(hasWheel cardinality(4)) restriction(hasSlidingDoor someValuesFrom(owl:Thing)))</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title/>
	</analytic>
	<monogr>
		<title level="j">Individual</title>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">From SHIQ and RDF to OWL: The Making of a Web Ontology Language</title>
		<author>
			<persName><surname>Fig</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</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">F</forename><surname>Van Harmelen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Web Semantics</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">1</biblScope>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
	<note>Resulting OWL Ontology for the Given Query Example References</note>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">SPARQL Query Language for RDF</title>
		<author>
			<persName><forename type="first">E</forename><surname>Prud'hommeaux</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Seaborne</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/rdf-sparql-query/" />
		<imprint>
			<date type="published" when="2006-10">October 2006</date>
		</imprint>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">OWL-QL -A Language for Deductive Query Answering on the Semantic Web</title>
		<author>
			<persName><forename type="first">R</forename><surname>Fikes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Hayes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Web Semantics: Science, Services and Agents on the World Wide Web</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="19" to="29" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">A Conjunctive Query Language for Description Logic Aboxes</title>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Tessaris</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Seventeenth National Conference on Artificial Intelligence and Twelfth Conference on Innovative Applications of Artificial Intelligence</title>
				<meeting>the Seventeenth National Conference on Artificial Intelligence and Twelfth Conference on Innovative Applications of Artificial Intelligence</meeting>
		<imprint>
			<publisher>AAAI Press / The MIT Press</publisher>
			<date type="published" when="2000">2000</date>
			<biblScope unit="page" from="399" to="404" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Containment of Conjunctive Object Meta-Queries</title>
		<author>
			<persName><forename type="first">A</forename><surname>Cali</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Kifer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">VLDB&apos;2006: Proceedings of the 32nd International Conference on Very Large Data Bases, VLDB Endowment</title>
				<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="942" to="952" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Ontology extraction for distributed environments</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">H</forename><surname>Sleeman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Potter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Robertson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">M</forename><surname>Schorlemmer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Knowledge Transformation for the Semantic Web</title>
				<meeting><address><addrLine>Amsterdam</addrLine></address></meeting>
		<imprint>
			<publisher>IOS Press</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="80" to="91" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Case Studies on Ontology Reuse</title>
		<author>
			<persName><forename type="first">Elena</forename><surname>Paslaru Bontas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Malgorzata</forename><surname>Mochol</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">T</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of I-KNOW 05</title>
				<meeting>I-KNOW 05</meeting>
		<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<title level="m" type="main">Web Ontlogy Language (OWL) Abstract Syntax and Semantics</title>
		<author>
			<persName><forename type="first">P</forename><surname>Patel-Schneider</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Hayes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/owl-semantics" />
		<imprint>
			<date type="published" when="2003-02">February 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Owl-eu: Adding customised datatypes into owl</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">Z</forename><surname>Pan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Web Sem</title>
		<imprint>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="29" to="39" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">RQL: A Declarative Query Language for RDF</title>
		<author>
			<persName><forename type="first">G</forename><surname>Karvounarakis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Alexaki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Christophides</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Plexousakis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Scholl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">WWW &apos;02: Proceedings of the 11th International Conference on World Wide Web</title>
				<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="592" to="603" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Pellet: An OWL DL Reasoner</title>
		<author>
			<persName><forename type="first">E</forename><surname>Sirin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Parsia</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Description Logics</title>
				<editor>
			<persName><forename type="first">V</forename><surname>Haarslev</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">R</forename><surname>Möller</surname></persName>
		</editor>
		<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Web Ontology Segmentation: Analysis, Classification and Use</title>
		<author>
			<persName><forename type="first">J</forename><surname>Seidenberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Rector</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">WWW &apos;06: Proceedings of the 15th International Conference on World Wide Web</title>
				<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="13" to="22" />
		</imprint>
	</monogr>
</biblStruct>

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