<?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">Declarative Evaluation of Ontologies with Rules</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Dietmar</forename><surname>Seipel</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute of Computer Science</orgName>
								<orgName type="institution">University of Würzburg</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Joachim</forename><surname>Baumeister</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute of Computer Science</orgName>
								<orgName type="institution">University of Würzburg</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author role="corresp">
							<persName><forename type="first">Klaus</forename><surname>Prätor</surname></persName>
							<email>praetor@mac.com</email>
							<affiliation key="aff0">
								<orgName type="department">Institute of Computer Science</orgName>
								<orgName type="institution">University of Würzburg</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Declarative Evaluation of Ontologies with Rules</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">430DC548806742EC0150366E378BA568</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T05:18+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>evaluation</term>
					<term>anomalies</term>
					<term>OWL</term>
					<term>SWRL</term>
					<term>RULEML</term>
					<term>PROLOG</term>
					<term>DATALOG</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Currently, the extension of ontologies by a rule representation is a very popular research issue. A rule language increases the expressiveness of the underlying knowledge in many ways. Likewise, the integration creates new challenges for the design process of such ontologies, but also existing evaluation methodologies have to cope with the extension of ontologies by rules. In this work, we introduce supplements to existing verification techniques to support the design of ontologies with rule enhancements, and we focus on the detection of anomalies that can especially occur due to the combined use of rules and ontological definitions.</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>The use of ontologies has shown its benefits in many applications of intelligent systems in the last years. It is not only a fantasy of computer scientists, but it correesponds to real needs. E.g., in scholarly editions, the lack of semantic search is very obvious. The works of the poet Stifter, e.g., are full of geological metaphors but the word geological is never mentioned. The philosopher Wittgenstein is dealing with philosophical problems, but does not use traditional philosophical terminology. So the editors are considering an ontology for the work of Wittgenstein. In the context of [PZW13], Pichler and Zöllner-Weber were also exploring the potential of PROLOG ontologies and logic reasoning as tools in the Humanities <ref type="bibr">[Zoe09]</ref>.</p><p>Whereas, the implementation of lower parts of the semantic web stack has successfully led to standardizations, the upper parts, especially rules and the logic framework, are still heavily discussed in the research community, e.g., see Horrocks et al. <ref type="bibr">[3]</ref>. This insight has led to many proposals for rule languages compatible with the semantic web stack, e.g., the definition of SWRL (semantic web rule language) originating from RULEML and similar approaches <ref type="bibr" target="#b5">[4]</ref>. It is well agreed that the combination of ontologies with rule-based knowledge is essential for many interesting semantic web tasks, e.g., the realization of semantic web agents and services. SWRL allows for the combination of a high-level abstract syntax for Horn-like rules with OWL, and a model theoretic semantics is given for the combination of OWL with SWRL rules. An XML syntax derived from RULEML allows for a syntactical compatibility with OWL. However, with the increased expressiveness of such ontologies, new demands for the development and for maintenance guidelines arise. Thus, conventional approaches for evaluating and maintaining ontologies need to be extended and revised in the light of rules, and new measures need to be defined to cover the implied aspects of rules and their combination with conceptual knowledge in the ontology.</p><p>Concerning the expressiveness of the ontology language we focus on the basic subset of OWL DL (that should make the work transferable to ontology languages other than OWL) and we mostly describe syntactic methods for the analysis of the considered ontology. We also focus on the basic features of SWRL: we consider Horn clauses with class or property descriptions as literals, and we omit a discussion of SWRL built-ins. Due to the use of rules with OWL DL the detection of all anomalies is an undecidable task, cf. <ref type="bibr" target="#b5">[4]</ref>.</p><p>Here, the term verification denotes the syntactic analysis of ontologies for detecting anomalies. On one hand, the discussed issues of the presented work originate from the evaluation of taxonomic structures in ontologies introduced by Gómez-Pérez <ref type="bibr" target="#b6">[5]</ref>. On the other hand, in the context of rule ontologies classical work on the verification of rule-based knowledge has to be reconsidered as done, e.g., by Preece and Shinghal <ref type="bibr" target="#b7">[6,</ref><ref type="bibr" target="#b8">7]</ref>. In their works, the verification of ontologies (mostly taxonomies) and rules (based on predicate logic), respectively, has been investigated separately. However, the combination of taxonomic and other ontological knowledge with a rule extension leads to new evaluation metrics that can cause redundant or even inconsistent behavior. The main contribution of our work is the extension of these measures by novel anomalies that are emerging from the combination of rule-based and ontological knowledge. Here, the concept of dependency graphs from deductive databases can be used <ref type="bibr" target="#b9">[8]</ref>. Of course, the collection of possible anomalies may always be incomplete, since additional elements of the ontology language may also introduce new possibilities of occurring anomalies.</p><p>In detail, we investigate the implications and problems that can be drawn from rule definitions in combination with some of the following ontological descriptions: 1. class relations like subclass of, complement of, disjointness 2. basic property characteristics like transitivity, ranges and domains, and cardinality restrictions. We distinguish the following classes of anomalies:</p><p>-Circularity in taxonomies and rule definitions.</p><p>-Redundancy due to duplicate or subsuming knowledge.</p><p>-Inconsistency because of contradicting definitions.</p><p>-Deficiency as a category comprising subtle issues describing questionable design in an ontology.</p><p>The presented work is different from the evaluation of an ontology with respect to the intended semantic meaning: the OntoClean methodology <ref type="bibr" target="#b10">[9]</ref> is an example for semantic checks of taxonomic decisions made in an ontology. We also do not consider common errors that can be implemented due to the incorrect understanding of logical implications of OWL descriptions as described by Rector et al. <ref type="bibr" target="#b13">[12]</ref>.</p><p>This paper is organized as follows: The next section gives basic definitions and describes the expressiveness of the underlying knowledge representation; in the context of this work a subset of OWL DL is used. Then, the four main classes of anomalies are discussed. In Section 3, we present a case study with anomalies in OWL ontologies. The paper is concluded with a discussion.</p><p>For the analysis of ontologies with rules, we restrict the range of the considered constructs to a subset of OWL DL: we investigate the implications of rules that are mixed with subclass relations and/or the property characteristics transitivity, cardinality restrictions, complement, and disjointness.</p><p>Given a class C and a property P . When used in rules, we call C(x) a class atom and P (x, y) a property atom. For the following it will be useful to extend the relations on classes and properties to relations on class and property atoms. Given two atoms A, A , we write (A, A ), if both atoms have the same argument tuple, and their predicate symbols are related by , i.e., if A and A both are class atoms, such that A = C(x), A = C (x), and (C, C ), or property atoms, such that A = P (x, y), A = P (x, y), and (P, P ). E.g., the relation can be sub_class, isa, disjoint, complement, etc. From a relationship (A, A ) it follows that A and A are of the same type.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Implementation in DATALOG</head><p>The detection of anomalies has been done using a PROLOG meta-interpreter DATA-LOG , which we have implemented in SWI PROLOG <ref type="bibr" target="#b14">[13]</ref>. Due to their compactness and conciseness, we give the corresponding formal definitions for the anomalies, which are evaluated using a mixed bottom-up/top-down approach based on DATALOG and PROLOG concepts, respectively.</p><p>Variables such A, B, C, . . . , A , or B i can denote both class atoms and property atoms, whereas As, Bs, . . . , denote sets of class atoms and property atoms. We denote a relationship A is-a A' by isa(A, A'). SWRL rules B 1 ∧ • • • ∧ B n ⇒ A are represented as non-ground DATALOG facts rule(A-Bs) (with variable symbols), where Bs = [B 1 , . . . , B n ] is the list of body atoms and A is the head atom. Since SWRL rules with conjunctive rule heads can be split into several rules, we can -without loss of generality -assume rule heads are atomic. In DATALOG and PROLOG rules, conjunction (and) is denoted by ",", disjunction (or) is denoted by ";", and negation by "\+".</p><p>Incompatible Classes: Complements and Disjointness. For classes, there exists the construct complementOf to point to instances that do not belong to a specified class. In DATALOG , the complement relation between two classes C1 and C2 is denoted by complement(C1,C2). In OWL, the disjointness between two classes is defined by the disjointWith constructor; with disjoint(C1,C2) we denote the disjointness between two classes C1 and C2. We call two classes C1 and C2 incompatible, if there exists a disjoint or a complement relation between them. This is detected by the following PROLOG predicate:</p><p>Taxonomic Relationships and Rules An obvious equivalence exists between the relationships B is-a A -where A and B are both class atoms or both property atoms with the same arguments -and rules of the form B ⇒ A with a single atom B in the body having the same argument as A. Thus, we combine them into the single formalism derives in DATALOG :</p><formula xml:id="formula_0">derives(C1, C2) :- ( isa(C1, C2) ; rule(A-[B]) B =.. [C1, X1], A =.. [C2, X2], var(X1), X1 == X2 ).</formula><p>isa(C1, C2) :-sub_class(C1, C2). isa(C1, C3) :isa(C1, C2), sub_class(C2, C3).</p><p>Observe, that the call var(X1), X1 == X2 tests if X1 and X2 are bound to the same variable.</p><p>With the existence of equivalence definitions E 1 ≡ E 2 in an ontology language, e.g., the OWL definitions equivalent_class and equivalent_property, we can further extend the definition of derives: an element E1 is derived by an element E2, if the elements are equivalent classes or properties. Since such an equivalence is symmetrical, the predicate derives/2 always creates cyclic dervations of equivalent elements with length 1.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>derives(E1, E2) :-( equivalent_class(E1, E2)</head><p>; equivalent_property(E1, E2) ).</p><p>We compute the transitive closure tc_derives of derives using the following simple, standard DATALOG scheme: tc_derives(E1, E2) :derives(E1, E2). tc_derives(E1, E3) :derives(E1, E2), tc_derives(E2, E3).</p><p>Subsequently, the reflexive transitive closure tcr_derives of derives is computed using the following PROLOG predicate:</p><p>tcr_derives(E1, E2) :-( E1 = E2 ; tc_derives(E1, E2) ).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Remark on Examples.</head><p>In the following we give examples for most of the described anomalies. For this task, we use a printer domain, because to its popularity and intuitive understanding.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Mixing DATALOG and PROLOG: Forward and Backward Chaining</head><p>The detection of anomalies in SWRL ontologies could not be formulated using PROLOG backward chaining or DATALOG forward chaining alone, since we may need recursion on cyclic data, function symbols (mainly for representing lists), non-ground facts, negation and disjunction in rule bodies, aggregation, and stratification. Thus we have developed a new approach that extends the DATALOG paradigm to DATALOG and mixes in with PROLOG. However, an intuitive understanding of the presented, mixed rule sets is possible without understanding the new inference method. The interested reader can run the analysis using our DisLog system <ref type="bibr" target="#b3">[2]</ref>.</p><p>DATALOG . We distinguish between DATALOG rules and PROLOG rules. DATALOG rules are forward chaining rules (not necessarily range-restricted) that may contain function symbols (in rule heads and bodies) as well as negation, disjunction, and PRO-LOG predicates in rule bodies. DATALOG rules are evaluated bottom-up, and all possible conclusions are derived.</p><p>The supporting PROLOG rules are evaluated top-down, and for efficiency reasons only on demand, and they can in turn refer to DATALOG facts. The PROLOG rules are also necessary for expressivity reasons: the are used for some computations on complex terms, and more importantly for computing very general aggregations of DATALOG facts.</p><p>Ontology Evaluation in DATALOG . For ontology evaluation, we have implemented two layers D 1 and D 2 of DATALOG rules:</p><p>-The upper layer D 2 consists of the rules for the predicate anomaly/2 and some DATALOG rules that are stated together with them. -The lower layer D 1 consists of all other DATALOG rules. E.g., the rules for predicates derives and tc_derives are in D 1 .</p><p>D 1 is applied to the DATALOG facts for the following basic predicates, which have to be derived from the underlying SWRL document: rule, class, sub_class, complement, incompatible, equivalent_class, equivalent_property, transitive_property, symmetric_property, property_restriction, min_cardinality_restriction, max_cardinality_restriction, class_has_property.</p><p>The resulting DATALOG facts are the input for D 2 . The stratification into two layers is necessary, because D 2 refers to D 1 through negation and aggregation. Most PROLOG predicates in this paper support the layer D 2 . E.g., the following predicates with calls to DATALOG facts generalize tc_derives and incompatible to atoms: We cannot evaluate these rules using forward chaining, since Xs is a unknown list. The head and body predicates of a rule can be determined using the following pure PROLOG predicates: head_predicate(A-_, P) :functor(A, P, _).</p><p>body_predicate(_-Bs, P) :member(B, Bs), functor(B, P, _).</p><p>The following PROLOG rules define siblings and aggregate the siblings Z of a class X to a list Xs using the well-known meta-predicate findall, respectively:</p><formula xml:id="formula_1">sibling(X, Y) :- sub_class(X, Z), sub_class(Y, Z), X \= Y.</formula><p>siblings(Xs) :sibling(X, _), findall( Z, sibling(X, Z), Xs ).</p><p>These rules could also be evaluated in DATALOG using forward chaining. But, since we need siblings only for certain lists Xs, this would be far to inefficient.</p><p>Evaluation of DATALOG . DATALOG rules cannot be evaluated in PROLOG or DATA-LOG alone for the following reasons: Current DATALOG engines cannot handle function symbols and non-ground facts, and they do not allow for the embedded computations, which we need. Standard PROLOG systems cannot easily handle recursion with cycles, because of non-termination, and are inefficient, because of subqueries that are posed and answered multiply. Thus, they have to be extended by some DATALOG facilities (our approach) or memoing/tabling facilities (the approach of the PROLOG extension XSB). Since we wanted to use SWI PROLOG -because of its publicly available graphical API -we have implemented a new inference machine that can handle mixed, stratified DATALOG /PROLOG rule systems.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Case Study</head><p>Knowledge representation in the Semantic Web is based on ontologies and logic. The reasoning tasks require search (query answering) and knowledge engineering / modeling (analysis of the structure of the ontologies for anomalies). Knowledge engineering and reasoning in the Semantic Web is based on ontology editors and specialized databases. It can further be supported by deductive databases and logic programming techniques.</p><p>In the Semantic Web, it is possible to reason about the ontology / taxonomy (i.e., the schema) and the instances. This is called terminological or assertional (T-Box or A-Box) reasoning, respectively. This makes search in the Semantic Web more effective.</p><p>-In the following printer ontology, we could search for a printer from HP, and the result could be a laser-jet printer from HP, since the system knows that hpLaser-JetPrinter is a sub-class of hpPrinter. -It can also be derived, that all laser-jet printers from HP are no laser writers from Apple; in this case, this is very easy, since it is explicitely stored in the ontology. Moreover, we will show in the following how to support knowledge engineering by detecting anomalies in OWL ontologies. In the Web Ontology Language (OWL), we can mix concepts from rdf (Resource Description Framework) for defining instances and rdfs (rdf Schema) for defining the schema of an application. Moreover, tags with the namespace owl are allowed. The Semantic Web Rule Language (SWRL) incorporates logic programming rules into OWL ontologies. There exist well-known, powerful tools for asking queries on and for reasoning with OWL ontologies.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">The Printer Ontology in OWL</head><p>The following examples are given in Turtle syntax <ref type="bibr" target="#b16">[15]</ref> using the namespace p for resources of the printer ontology. First of all, every laserJetPrinter is a printer, and every hpPrinter is an hpProduct: This redundancy is not an error. We could simply consider it as an anomaly, that should be reported to the knowledge engineer. This anomaly is usually not reported by reasoners in standard ontology editors.</p><p>Instances. Finally, we have some instances of the defined classes:</p><p>p:1001 rdf:type p:appleLaserWriter . p:1002 rdf:type p:appleLaserWriter . p:1003 rdf:type p:hpLaserJetPrinter . p:1004 rdf:type p:hpLaserJetPrinter .</p><p>As mentioned before, there cannot exist instances of the class hpApplePrinter.</p><p>The ontology editor Protégé offers plugged-in reasoners, such as FaCT++, HermiT, and Racer. The ontology reasoner FaCT++ can inferr that the class hpApplePrinter is EquivalentTo the empty class Nothing. By clicking the question mark, an explanation can be shown. There are also databases for handling rdf data, so called triple stores, such as Sesame or Jena. They use extensions of SQL-most notably SPARQLas a query language.</p><p>Please note, that for the presented Turtle syntax the corresponding XML syntax can be generated. For instance, the definition of the joint HP and Apple printer would read as follows:</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>tc_derives_atom(A1, A2) :-tc_derives(P1, P2), A1 =.. [P1|Xs], A2 =.. [P2|Xs]. incompatible_atoms(A1, A2) :incompatible(P1, P2), A1 =.. [P1|Xs], A2 =.. [P2|Xs].</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0"><head></head><label></label><figDesc></figDesc><graphic coords="10,134.77,117.25,345.83,259.37" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>The rdfs:subClassOf sub-element states that appleLaserWriter is a sub-class of laserJetPrinter. The owl:disjointWith sub-element states that appleLaser-Writer is disjoint from hpLaserJetPrinter.The following owl:Class element defines a class of printers from a joint venture of HP and Apple:The existence of such printers would contradict the disjointWith restriction between the classes hpLaserJetPrinter and apperLaserWriter. The emptiness of the class hpApplePrinter can be detected by reasoners used, for instance, by ontology editors like Protégé.Redundant subClassOf Relation. Since hpLaserJetPrinter is a sub-class of the class hpPrinter, and hpPrinter is a sub-class of hpProduct, it is redundant to explicitly state that hpLaserJetPrinter is a sub-class of hpProduct.</figDesc><table><row><cell>p:printer</cell><cell>rdf:type owl:Class .</cell></row><row><cell>p:hpProduct</cell><cell>rdf:type owl:Class .</cell></row><row><cell cols="2">p:laserJetPrinter rdfs:subClassOf p:printer .</cell></row><row><cell>hpPrinter</cell><cell>rdfs:subClassOf p:hpProduct .</cell></row><row><cell>p:hpApplePrinter</cell><cell></cell></row><row><cell cols="2">rdfs:comment "Printers from a joint venture of HP and Apple" ;</cell></row><row><cell cols="2">rdfs:subClassOf p:hpLaserJetPrinter, p:appleLaserWriter .</cell></row><row><cell cols="2">p:hpLaserJetPrinter</cell></row><row><cell cols="2">rdfs:subClassOf p:laserJetPrinter, p:hpPrinter, p:hpProduct ;</cell></row><row><cell cols="2">owl:disjointWith p:appleLaserWriter .</cell></row></table><note>The following owl:Class element defines the class appleLaserWriter: p:appleLaserWriter rdf:type owl:Class ; rdfs:comment "Apple laser writers are laser jet printers" ; rdfs:subClassOf p:laserJetPrinter ; owl:disjointWith p:hpLaserJetPrinter .</note></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">incompatible(C1, C2) :-( complement(C1, C2) ; disjoint(C1, C2) ).</note>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>In an OWL knowledge base Owl, there exists an isa relation between two classes C1 and C2, if a subclassOf relation is stated explicitely, or if C1 was defined as the interesection of C2 and some other classes: % isa(+Owl, ?C1, ?C2) &lt;isa(Owl, C1, C2) :-C := Owl/'owl:Class'::[@'rdf:ID'=C1], ( R2 := C/'rdfs:subClassOf'@'rdf:resource' ; R2 := C/'owl:intersectionOf'/'owl:Class'@'rdf:about' ), owl_reference_to_id(R2, C2). </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Disjointness of Classes.</head><p>% disjointWith(+Owl, ?C1, ?C2) &lt;-disjointWith(Owl, C1, C2) :-R2 := Owl/'owl:Class'::[@'rdf:about'=R1] /'owl:disjointWith'@'rdf:resource', owl_reference_to_id(R1, C1), owl_reference_to_id(R2, C2).</p><p>In the following, we often suppress the ontology argument Owl.</p><p>Transitive Closure of isa.</p><p>% subClassOf(?C1, ?C2) &lt;-subClassOf(C1, C2) :isa(C1, C2). subClassOf(C1, C2) :isa(C1, C), subClassOf(C, C2).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">Anomalies in Ontologies</head><p>Cycle.</p><p>?-isa(C1, C2), subClassOf(C2, C1). The fact that C2 and C3 are disjoint and that C1 and C3 are disjoint as well, possibly was forgotten by the knowledge engineer during the creation of the knowledge base.</p><p>Redundant subClassOf/instanceOf Relations. The sub-class relation between C1 and C3 can be derived by transitivity over the class C2.</p><p>% redundant_isa(?Chain) &lt;-redundant_isa(C1-&gt;C2-&gt;C3) :isa(C1, C2), subClassOf(C2, C3), isa(C1, C3).</p><p>?-redundant_isa(Chain).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Chain = hpLaserJetPrinter -&gt; hpPrinter -&gt; hpProduct</head><p>Here, isa(C1, C2), subClassOf(C2, C3), requires that this deduction is done over at least two levels.</p><p>Undefined Reference. During the development of an ontology in OWL, it is possible that we reference a class that we have not yet defined. If we load such an ontology into Protégé, then the ontology reasoners may produce wrong results, even for unrelated parts of the ontology.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Discussion</head><p>In the last years ontologies have played a major role for building intelligent systems. Currently, standard ontology languages like OWL are extended by rule-based elements, e.g., RULEML and the semantic web rule language SWRL.</p><p>We have shown that with the increased expressiveness of ontologies -now also including rules -a number of new evaluation issues have to be considered. In this paper, we have presented a framework for verifying ontologies with rules comprising a collection of anomalies, that verify the represented knowledge in a combined methodology. For all anomalies, we have described a DATALOG implementation which is used in a prototype for ontology verification. Due to its declarative nature, new methods for anomaly detection can be easily added to the existing work. From our point of view, the declarative approach is crucial because of the incompleteness of the presented anomalies: in principle, an entire overview of possible anomalies is not possible, since the number of anomalies depends on the used expressiveness of the ontology and the rule representation, respectively.</p><p>The actual frequency of the introduced anomalies is an interesting issue. However, only a small number of ontologies (mostly toy examples) is available that actually use a rule extension. A sound review of anomaly occurrences would require a reasonable number of ontologies having a significant size.</p><p>For many real-world applications, we expect a more expressive rule language to be used than SWRL. With SWRL FOL, an extension of SWRL to first-order logic is currently discussed as a proposal. Furthermore, larger systems may also include parts of a non-monotonic rule base. Here, some work has been done on the verification of nonmonotonic rule bases <ref type="bibr" target="#b17">[16]</ref>, that has to be re-considered in the presence of an ontological layer.</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<ptr target="rdf:resource=&quot;printer#laserJetPrinter&quot;/&gt;&lt;/rdf:Description&gt;Protégé" />
		<title level="m">subClassOf rdf:resource=&quot;printer#hpPrinter&quot;/&gt; &lt;rdfs:subClassOf</title>
				<imprint/>
	</monogr>
	<note>Description rdf:about=&quot;printer#hpLaserJetPrinter. . Figure 1 shows the printer ontology in the standard ontolgy editor Protégé</note>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">2 Declarative Queries in FNQuery In PROLOG</title>
		<imprint/>
	</monogr>
	<note>an XML element can be represented as a term structure T:As:C, called FN-triple. T is the tag of the element, As is the list of the attribute/value pairs A:V of the element, and C is a list of FN-triples for the sub-elements. &apos;owl:Class. ID&apos;:&apos;appleLaserWriter. rdfs:comment. &apos;Apple laser ...&apos;], &apos;rdfs:subClassOf&apos;:[ &apos;rdf:resource&apos;:&apos;#laserJetPrinter. &apos;owl:disjointWith&apos;:[ &apos;rdf:resource&apos;:&apos;#hpLaserJetPrinter</note>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Anomalies in Ontologies with Rules</title>
		<author>
			<persName><forename type="first">J</forename><surname>Baumeister</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Seipel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Web Semantics: Science, Services and Agents on the World Wide Web</title>
		<imprint>
			<biblScope unit="volume">8</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="55" to="68" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">DisLog -A System for Reasoning in Disjunctive Deductive Databases</title>
		<author>
			<persName><forename type="first">D</forename><surname>Seipel</surname></persName>
		</author>
		<ptr target="http://www1.pub.informatik.uni-wuerzburg.de/databases/DisLog/dislog_nmr.html" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Semantic Web Architecture: Stack or Two Towers?</title>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Parsia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Patel-Schneider</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Hendler</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Principles and Practice of Semantic Web Reasoning (PPSWR)</title>
				<editor>
			<persName><forename type="first">F</forename><surname>Fages</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">S</forename><surname>Soliman</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">3703</biblScope>
			<biblScope unit="page" from="37" to="41" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">OWL Rules: A Proposal and Prototype Implementation</title>
		<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">S</forename><surname>Bechhofer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Tsarkov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Web Semantics</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="23" to="40" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Evaluation of Ontologies</title>
		<author>
			<persName><forename type="first">A</forename><surname>Gómez-Pérez</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Intelligent Systems</title>
		<imprint>
			<biblScope unit="volume">16</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="391" to="409" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Foundation and Application of Knowledge Base Verification</title>
		<author>
			<persName><forename type="first">A</forename><surname>Preece</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Shinghal</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Intelligent Systems</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="page" from="683" to="702" />
			<date type="published" when="1994">1994</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Principles and Practice in Verifying Rule-Based Systems</title>
		<author>
			<persName><forename type="first">A</forename><surname>Preece</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Shinghal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Batarekh</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">The Knowledge Engineering Review</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="115" to="141" />
			<date type="published" when="1992">1992</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">Logic Programming and Databases</title>
		<author>
			<persName><forename type="first">S</forename><surname>Ceri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Gottlob</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Tanca</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1990">1990</date>
			<publisher>Springer</publisher>
			<pubPlace>Berlin</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Evaluating Ontological Decisions with OntoClean</title>
		<author>
			<persName><forename type="first">N</forename><surname>Guarino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Welty</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of the ACM</title>
		<imprint>
			<biblScope unit="volume">45</biblScope>
			<biblScope unit="issue">2</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<ptr target="http://www.w3.org/TR/owl2-overview/" />
		<title level="m">OWL 2: Web Ontology Language, Document Overview (Second Edition), W3C Recommendation</title>
				<imprint>
			<date type="published" when="2012-12">December 2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">Sharing and Debating Wittgenstein by Using an Ontology, Wittgenstein Archives at the University of Bergen, Norway, Literary and Linguistic Computing</title>
		<author>
			<persName><forename type="first">A</forename><surname>Pichler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Zöllner-Weber</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">OWL Pizzas: Practical Experience of Teaching OWL-DL: Common Errors &amp; Common Patterns</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">L</forename><surname>Rector</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Drummond</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Horridge</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Rogers</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Knublauch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Stevens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Wroe</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Engineering Knowledge in the Age of the Semantic Web: 14th International Conference (EKAW)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="volume">3257</biblScope>
			<biblScope unit="page" from="157" to="171" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">An Overview of the SWI-Prolog Programming Environment</title>
		<author>
			<persName><forename type="first">J</forename><surname>Wielemaker</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 13th International Workshop on Logic Programming Environments (WLPE)</title>
				<meeting>of the 13th International Workshop on Logic Programming Environments (WLPE)</meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="1" to="16" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">LUBM: A Benchmark for OWL Knowledge Base Systems</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Guo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Pan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Heflin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Web Semantics</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="158" to="182" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<author>
			<persName><surname>W3c</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/turtle/" />
		<title level="m">RDF 1.1 Turtle -W3C Recommendation</title>
				<imprint>
			<date type="published" when="2014-02">February 2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Testing the Integrity of Non-Monotonic Knowledge Bases Containing Semi-Normal Defaults</title>
		<author>
			<persName><forename type="first">N</forename><surname>Zlatareva</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 17th International Florida Artificial Intelligence Research Society Conference (FLAIRS)</title>
				<meeting>of the 17th International Florida Artificial Intelligence Research Society Conference (FLAIRS)</meeting>
		<imprint>
			<publisher>AAAI Press</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="349" to="354" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Ontologies and Logic Reasoning as Tools in Humanities</title>
		<author>
			<persName><forename type="first">A</forename><surname>Zöllner-Weber</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">DHQ: Digital Humanities Quarterly</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">4</biblScope>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

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