<?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">A Perfect Match for Reasoning, Explanation, and Reason Maintenance: OWL 2 RL and Semantic Wikis</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Jakub</forename><surname>Kotowski</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute for Informatics</orgName>
								<orgName type="institution">University of Munich</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">François</forename><surname>Bry</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute for Informatics</orgName>
								<orgName type="institution">University of Munich</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">A Perfect Match for Reasoning, Explanation, and Reason Maintenance: OWL 2 RL and Semantic Wikis</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">99BDEC8470B1C55D1EBC998B01675BC2</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T02:29+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>Reasoning in wikis has focused so far mostly on expressiveness and tractability and neglected related issues of updates and explanation. In this demo, we show reasoning, explanation, and incremental updates in the KiWi wiki and argue that it is a perfect match for OWL 2 RL reasoning. Explanation nicely complements the "work-in-progress" focus of wikis by explaining how which information was derived and thus helps users to easily discover and remove sources of inconsistencies. Incremental updates are necessary to minimize reasoning times in a frequently changing wiki environment.</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>One of the main goals of the semantic web <ref type="bibr" target="#b0">[1]</ref> is to facilitate processing of information on the web for example by means of reasoning. Semantic wikis <ref type="bibr" target="#b1">[2]</ref> are sometimes seen as semantic webs in small; they enhance traditional wikis with semantic annotations in order to make more information directly amenable to machine processing. On the web and even more in wikis, it is natural that inconsistencies arise during work in progress. Users should be supported by a system that not only tolerates inconsistencies but is also able to explain them. The focus of reasoning in KiWi<ref type="foot" target="#foot_0">1</ref> is therefore on a rule-based inconsistency tolerant reasoning that can be explained to users and that also allows for efficient knowledge base updates by the means of reason maintenance. This article describes the state of implementation as of KiWi version 0.8.</p><p>Current semantic web applications and frameworks such as Sesame <ref type="bibr" target="#b2">[3]</ref>, Semantic MediaWiki <ref type="bibr" target="#b3">[4]</ref>, or IkeWiki <ref type="bibr" target="#b4">[5]</ref> implement either specialized RDF/S<ref type="foot" target="#foot_1">2</ref> reasoning or connect a specialized OWL-DL<ref type="foot" target="#foot_2">3</ref> reasoner such as Pellet <ref type="bibr" target="#b5">[6]</ref> to provide more expressive reasoning. For example Sesame aims to be a general platform for semantic software based on RDF/S and therefore provides reasoning optimized for RDF/S data. For the Semantic MediaWiki, scalability is one of the top priorities which is why it limits its reasoning to the most efficient forms. In contrast, the Jena <ref type="bibr" target="#b6">[7]</ref> framework, also provides custom rules and some support for dealing with inconsistencies in a dataset via so called validation rules. Both Sesame and Jena have only limited support for incremental updates. Jena employs a general purpose RETE-based forward-chaining reasoner which supports incremental additions but no incremental removals 4 5 . Sesame itself has a limited support for custom rule reasoning and does not offer incremental removals in the general case. There is a reason-maintenance-inspired implementation of incremental updates for Sesame <ref type="bibr" target="#b7">[8]</ref> but it is specific to RDF/S reasoning. For Sesame, there is also the OWLIM<ref type="foot" target="#foot_5">6</ref> reasoner which, however, also does not support incremental removals <ref type="foot" target="#foot_6">7</ref> . A contribution of the described implementation is a system capable of incremental processing of fact removals for a general monotonic rule-based reasoner. In addition, it can be easily extended for incremental rule updates.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Introduction to KiWi and sKWRL</head><p>KiWi is a social semantic platform that features four advanced enabling technologies: reasoning and reason maintenance, querying, information extraction, and personalization and has a wiki as its main application. See <ref type="bibr" target="#b8">[9]</ref> for details about the KiWi conceptual model.</p><p>sKWRL is a simple KiWi rule language the syntax of which resembles the syntax of the N3 <ref type="bibr" target="#b9">[10]</ref> language. It can express a subset<ref type="foot" target="#foot_7">8</ref> of OWL 2 RL -a partial axiomatization of the OWL 2 RDF-based semantics using rules <ref type="foot" target="#foot_8">9</ref> -and has been implemented to provide a starting point for reasoning, explanation, and reason maintenance and also as a step towards the full featured KWRL rule language. sKWRL is a triple pattern based rule language for RDF with two distinctive features: constraint rules and new resource creation in rule heads.</p><p>Triple pattern is a generalized RDF triple that can contain a variable in place of subject, property, and object. Bodies of a sKWRL rule consist of a conjunction of triple patterns. Head of a sKWRL rule contains either a conjunction of triple patterns or the "inconsistency" keyword. Rules with the "inconsistency" keyword in the head are called constraint rules, rules with a conjunction of triple patterns are called construction rules. All variables are implicitly universally quantified and there is no explicit quantification. Variables occurring in a rule head that do not occur in the body of a rule are allowed and construct a new URI reference for each variable binding of the rule body.</p><p>One or more sKWRL rules form together a sKWRL program. sKWRL programs can optionally use namespace definitions in a Turtle-like style. An example of a simple sKWRL program is a program deriving the RDF/S subclass and type hierarchy: @prefix rdf : &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; @prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; rdf-type: ($1 rdf:type $2), ($2 rdfs:subClassOf $3) -&gt; ($1 rdf:type $3) rdf-subclass: ($1 rdfs:subClassOf $2), ($2 rdfs:subClassOf $3) -&gt; ($1 rdfs:subClassOf $3)</p><p>Following is an example of a constraint rule:</p><p>prp-irp: ($p rdf:type owl:IrreflexiveProperty), ($x $p $x) -&gt; inconsistency</p><p>The prp-irp rule is one of the OWL 2 RL rules with "false" in the head. Currently, rules are loaded from an external file and cannot be modified from within the application.</p><p>Internally, the keyword "inconsistency" is replaced by a triple pattern conjunction constructing an annotation for every derived inconsistency. This is needed for explanation purposes for it allows to "track inconsistencies", see <ref type="bibr" target="#b10">[11]</ref> for more about tracking. The inconsistency annotation is assigned to the default RDF graph and, in future, optionally to a graph specified by the user. Inconsistencies are displayed as "inconsistency" tags and are highlighted.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Implementation</head><p>sKWRL is implemented as a component of KiWi which is an enterprise Java application built using Seam<ref type="foot" target="#foot_9">10</ref> and the JBoss application server. The implemented reasoning strategy is semi-naive forward-chaining, also called materialization, which has already been argued to be feasible <ref type="bibr" target="#b7">[8]</ref> for applications in the area of semantic web. sKWRL reasoning is implemented by translating sKWRL rule bodies into JQL (a Java Peristence API version of SQL). The advantage of this approach is the database flexibility provided by JPA, the disadvantage is the inability to use a native database access, which hinders efficiency. The KiWi implementation should therefore be seen as a proof of concept not aiming for high efficiency.</p><p>The reasoner also stores derivations of each new derived triple in the form of a justification in Doyle's sense <ref type="bibr" target="#b11">[12]</ref>, i.e. a record of which triples and rules were used in the derivation of a triple. Justifications are then used by reason maintenance and explanation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Reason maintenance</head><p>Reason maintenance is a technique originally devised by Jon Doyle <ref type="bibr" target="#b11">[12]</ref> for use in problem solvers. A reason maintenance system works closely with a reasoner.</p><p>The reasoner notifies reason maintenance about each derivation it makes and reason maintenance stores derivations in the form of a derivation graph. In the original systems, this graph was used as a kind of computation cache which helped to avoid the need of recomputing in case some base facts changed (i.e. were removed and later added again). Therefore, these systems never removed justifications. In contrast, KiWi uses justifications to determine what facts can possibly be affected by a fact removal thus avoids the inefficient, not incremental approach which is to remove all inferred facts and to do all reasoning anew.</p><p>Reason maintenance in KiWi is implemented using the Neo4j <ref type="foot" target="#foot_10">11</ref> NoSQL graph database which natively supports graph structured data.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Explanation</head><p>Explanation is important for supporting trust of users and it provides a way to determine the root cause of derived inconsistencies. Currently, explanation explains the origin of a derived triple simply by rendering its justification records. There are two renderings available: textual tooltips and an interactive JavaScript explanation tree. Explanation tooltips present a simple textual explanation of a derived triple, see Fig. <ref type="figure" target="#fig_0">1</ref>. The tooltip shows the last step of each possible derivation of the triple "localhost:FrontPage rdf:type foaf:Document". The implementation uses a minimal vocabulary to translate common properties into a more readable form.</p><p>The explanation tree, see Fig. <ref type="figure">2</ref>, enables users to explore a graph of all possible derivations and to traverse them until explicit triples are reached. The explanation tree is complemented by a textual explanation, parts of which are highlighted by pointing to a tree node. Fig. <ref type="figure">2</ref>. An interactive explanation tree and a part of textual explanation of the triple (kiwi:street rdfs:domain swap:SocialEntity). Numbers in graph nodes are triple ids of the corresponding KiWi triples. Green nodes represent rules, support nodes represent justifications and the currently selected derivation path is highlighted in yellow. Support nodes can be expanded and collapsed.</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. Part of an explanation tooltip for the triple (localhost:FrontPage rdf:type foaf:Document).</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">http://www.kiwi-project.eu/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">http://www.w3.org/TR/rdf-mt/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">http://www.w3.org/TR/owl2-profiles/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_3">http://tech.groups.yahoo.com/group/jena-dev/message/43618</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_4">The focus of this paper the focus is on forward-chaining methods.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_5">http://www.ontotext.com/owlim/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_6">http://www.mail-archive.com/owlim-discussion@ontotext.com/msg00496.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="8" xml:id="foot_7">Datatypes and OWL 2 RL rules that use a LIST[] expression are not supported yet.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="9" xml:id="foot_8">http://www.w3.org/TR/owl2-profiles/#OWL 2 RL</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="10" xml:id="foot_9">http://seamframework.org/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="11" xml:id="foot_10">http://neo4j.org/</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgements. The research leading to these results is part of the project "KiWi -Knowledge in a Wiki" and has received funding from the European Community's Seventh Framework Programme (FP7/2007-2013) under grant agreement No. 211932.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Scientific publishing on the semantic web</title>
		<author>
			<persName><forename type="first">T</forename><surname>Berners-Lee</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Hendler</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Nature</title>
		<imprint>
			<biblScope unit="volume">410</biblScope>
			<biblScope unit="page" from="1023" to="1024" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">Semantic wikis</title>
		<author>
			<persName><forename type="first">S</forename><surname>Schaffert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Bry</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Baumeister</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Kiesel</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2008">2008</date>
			<publisher>IEEE</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Sesame: A generic architecture for storing and querying rdf and rdf schema</title>
		<author>
			<persName><forename type="first">J</forename><surname>Broekstra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Kampman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Van Harmelen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">LNCS</title>
		<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Semantic mediawiki</title>
		<author>
			<persName><forename type="first">M</forename><surname>Krötzsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Vrandecic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Völkel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ISWC</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="page" from="935" to="942" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">IkeWiki: A semantic wiki for collaborative knowledge management</title>
		<author>
			<persName><forename type="first">S</forename><surname>Schaffert</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">1st International Workshop on Semantic Technologies in Collaborative Applications (STICA06)</title>
				<meeting><address><addrLine>Manchester, UK</addrLine></address></meeting>
		<imprint>
			<publisher>Citeseer</publisher>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Pellet: A practical 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>
		<author>
			<persName><forename type="first">B</forename><surname>Grau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Kalyanpur</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Katz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Web Semantics</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="51" to="53" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Jena: A semantic web toolkit</title>
		<author>
			<persName><forename type="first">B</forename><surname>Mcbride</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Internet Computing</title>
		<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Inferencing and truth maintenance in rdf schemaexploring a naive practical approach</title>
		<author>
			<persName><forename type="first">J</forename><surname>Broekstra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Kampman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Workshop on Practical and Scalable Semantic Systems</title>
				<imprint>
			<publisher>PSSS</publisher>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">What the user interacts with: Reflections on conceptual models for sematic wikis</title>
		<author>
			<persName><forename type="first">F</forename><surname>Bry</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Eckert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Kotowski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Weiand</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of Semantic Wiki Workshop</title>
				<meeting>Semantic Wiki Workshop<address><addrLine>ESWC, Greece</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2009">2009. 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">N3Logic: A logical framework for the World Wide Web</title>
		<author>
			<persName><forename type="first">T</forename><surname>Berners-Lee</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Connolly</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Kagal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Scharf</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Hendler</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theory and Practice of Logic Programming</title>
		<imprint>
			<biblScope unit="volume">8</biblScope>
			<biblScope unit="issue">03</biblScope>
			<biblScope unit="page" from="249" to="269" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">A social vision of knowledge representation and reasoning</title>
		<author>
			<persName><forename type="first">F</forename><surname>Bry</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Kotowski</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of SOFSEM 2010: 36th International Conference on Current Trends in Theory and Practice of Computer Science</title>
				<meeting>SOFSEM 2010: 36th International Conference on Current Trends in Theory and Practice of Computer Science<address><addrLine>Špindlerův Mlýn, Czech Republic</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2010-01-29">23rd-29th January 2010. 2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Truth maintenance systems for problem solving</title>
		<author>
			<persName><forename type="first">J</forename><surname>Doyle</surname></persName>
		</author>
		<idno>AI- TR-419</idno>
		<imprint>
			<date type="published" when="1978">1978</date>
		</imprint>
		<respStmt>
			<orgName>Dep. of Electrical Engineering and Computer Science of MIT</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

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