Semantic Technologies Part 14: Werner Nutt
Acknowledgment These slides are based on the Latex version of slides by Markus Krötzsch of TU Dresden W. Nutt Semantic Technologies 2014/2015 (1/66)
OWL W. Nutt Semantic Technologies 2014/2015 (2/66)
Agenda Motivation OWL General Remarks Classes, Roles and Individuals Class Relationships Complex Classes Role Characteristics OWL Variants OWL Ontologies: Reasoning Tasks W. Nutt Semantic Technologies 2014/2015 (4/66)
Ontology in Philosophy Notion exists only in sigular (no ontologies ) Denotes the study of being Can be found in philosophical writings of Aristotle (Socrates), Thomas Aquinas, Descartes, Kant, Hegel, Wittgenstein, Heidegger, Quine,... Term first mentioned in 17th century W. Nutt Semantic Technologies 2014/2015 (5/66)
Ontology in Computer Science Gruber (1993): An Ontology is a formal specification of a shared conceptualization of a domain of interest interpretable by machines based on consensus describes relevant notions referring to a topic W. Nutt Semantic Technologies 2014/2015 (6/66)
Ontologies in Practice: Some Requirements instantiation of classes by individuals conceptual hierarchies (taxonomies, inheritance ): classes, concepts binary relations between individuals: properties, roles characteristics of relations (z.b. range, transitive) datatypes (e.g. numbers): concrete domains logical operators clear semantics W. Nutt Semantic Technologies 2014/2015 (7/66)
RDFS Simple Ontologies rdfs:class Classes ex:employee ex:student instantiation ex:professor ex:tutor ex:phdstudent subclass ex:bglimm ex:awindeck ex:frank ex:email rdfs:range rdf:literal Relations ex:professor rdfs:domain rdfs:range ex:advises rdfs:subpropertyof ex:student ex:responsibefor rdfs:subpropertyof ex:employee rdfs:domain ex:supervises rdfs:range ex:employee W. Nutt Semantic Technologies 2014/2015 (8/66)
RDF Schema as Ontology Language? Appropriate for simple ontologies Advantage: automated inferencing relatively efficient But: not appropriate for more complex modeling Resort to more expressive languages, like OWL RIF... W. Nutt Semantic Technologies 2014/2015 (9/66)
Agenda Motivation OWL General Remarks Classes, Roles and Individuals Class Relationships Complex Classes Role Characteristics OWL Variants OWL Ontologies: Reasoning Tasks W. Nutt Semantic Technologies 2014/2015 (11/66)
OWL General Remarks W3C Recommendation since 2004 semantic fragment of FOL three variants: OWL Lite OWL DL OWL Full no reification in OWL DL RDFS is fragment of OWL Full OWL DL is decidable corresponds to description logic SHOIN(D) W3C documents contain details that cannot all be covered here W. Nutt Semantic Technologies 2014/2015 (12/66)
OWL 1 Variants OWL Full contains OWL DL and OWL Lite contains all of RDFS (as the only OWL variant) undecidable inferences limited support by tools OWL DL contains OWL Lite and is sublanguage of OWL Full widely supported by tools worst-case complexity: NEXPTIME (= non-deterministic exponential time) OWL Lite sublanguage of OWL DL and OWL Full low expressivity worst-case complexity: EXPTIME (= exponential time) W. Nutt Semantic Technologies 2014/2015 (13/66)
OWL Documents... are RDF documents (at least in the standard syntax; there are others)... consist of head with general information rest with actual ontology W. Nutt Semantic Technologies 2014/2015 (14/66)
Head of an OWL Document Definition of name spaces in the root <rdf:rdf xmlns="http://example.org/exampleontology#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/xmlschema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#">... </rdf:rdf> W. Nutt Semantic Technologies 2014/2015 (15/66)
Head of an OWL Document General information <owl:ontology rdf:about=""> <rdfs:comment rdf:datatype="http://www.w3.org/2001/xmlschema#string"> SWRC ontology, version of June 2007 </rdfs:comment> <owl:versioninfo>v0.7.1</owl:versioninfo> <owl:imports rdf:resource="http://www.example.org/foo" /> <owl:priorversion rdf:resource="http://ontoware.org/projects/swrc" /> </owl:ontology> W. Nutt Semantic Technologies 2014/2015 (16/66)
Head of an OWL Document taken from RDFS rdfs:comment rdfs:label rdfs:seealso rdfs:isdefinedby in addition owl:imports for versioning owl:versioninfo owl:priorversion owl:backwardcompatiblewith owl:incompatiblewith owl:deprecatedclass owl:deprecatedproperty W. Nutt Semantic Technologies 2014/2015 (17/66)
Agenda Motivation OWL General Remarks Classes, Roles and Individuals Class Relationships Complex Classes Role Characteristics OWL Variants OWL Ontologies: Reasoning Tasks W. Nutt Semantic Technologies 2014/2015 (19/66)
Classes, Roles and Individuals Three building blocks of ontology axioms classes comparable with classes in RDFS individuals comparable with proper instances in RDFS roles comparable with properties in RDFS W. Nutt Semantic Technologies 2014/2015 (20/66)
Classes Definition <owl:class rdf:about ="Professor"/> equivalent to <rdf:description rdf:about="professor"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#class"/> </rdf:description> Pre-defined owl:thing owl:nothing W. Nutt Semantic Technologies 2014/2015 (21/66)
Individuals Definition via class membership <rdf:description rdf:about="francescoricci"> <rdf:type rdf:resource="professor"/> </rdf:description> equivalent: <Professor rdf:about="francescoricci"/> W. Nutt Semantic Technologies 2014/2015 (22/66)
Abstract Roles (= Object Properties) Abstract roles are defined in a way similar to classes <owl:objectproperty rdf:about="hasaffiliation" /> Abstract roles connect individuals Domain and range of abstract roles <owl:objectproperty rdf:about="hasaffiliation"> <rdfs:domain rdf:resource="person" /> <rdfs:range rdf:resource="organization" /> </owl:objectproperty> W. Nutt Semantic Technologies 2014/2015 (23/66)
Concrete Roles (= Datatype Properties) Concrete roles have datatypes as range <owl:datatypeproperty rdf:about="firstname" /> Concrete roles connect individuals with data values Domain and range of concrete roles <owl:datatypeproperty rdf:about="firstname"> <rdfs:domain rdf:resource="person" /> <rdfs:range rdf:resource="&xsd;string" /> </owl:datatypeproperty> Many XML datatypes can be used W. Nutt Semantic Technologies 2014/2015 (24/66)
Individuals and Roles <Person rdf:about="francescoricci"> <hasaffiliation rdf:resource="unibz" /> <hasaffiliation rdf:resource="facultycs" /> <firstname rdf:datatype="&xsd;string"> Francesco </firstname> </Person> In general roles are not functional, that is, one individual can be connected to more than one individual (or value) W. Nutt Semantic Technologies 2014/2015 (25/66)
Agenda Motivation OWL General Remarks Classes, Roles and Individuals Class Relationships Complex Classes Role Characteristics OWL Variants OWL Ontologies: Reasoning Tasks W. Nutt Semantic Technologies 2014/2015 (27/66)
Simple Class Relationships: Subclasses <owl:class rdf:about="professor"> <rdfs:subclassof rdf:resource="facultymember" /> </owl:class> <owl:class rdf:about="facultymember"> <rdfs:subclassof rdf:resource="person" /> </owl:class> It logically follows that Professor is a subclass of Person W. Nutt Semantic Technologies 2014/2015 (28/66)
Simple Class Relationships: Disjointness <owl:class rdf:about="professor"> <rdfs:subclassof rdf:resource="facultymember" /> </owl:class> <owl:class rdf:about="book"> <rdfs:subclassof rdf:resource="publication" /> </owl:class> <owl:class rdf:about="facultymember"> <owl:disjointwith rdf:resource="publication" /> </owl:class> It logically follows that Professor and Book are also disjoint classes W. Nutt Semantic Technologies 2014/2015 (29/66)
Simple Class Relationships: Class Equivalence <owl:class rdf:about="man"> <rdfs:subclassof rdf:resource="person" /> </owl:class> <owl:class rdf:about="person"> <owl:equivalentclass rdf:resource="human" /> </owl:class> It logically follows that Man is a subclass of Human W. Nutt Semantic Technologies 2014/2015 (30/66)
Individuals and Class Relationships <Book rdf:about="http://semantic-web-book.org/uri"> <author rdf:resource="pascalhitzler" /> <author rdf:resource="markuskroetzsch" /> <author rdf:resource="sebastianrudolph" /> </Book> <owl:class rdf:about="book"> <rdfs:subclassof rdf:resource="publication" /> </owl:class> It logically follows that Foundations of Semantic Web Technologies is a Publication. W. Nutt Semantic Technologies 2014/2015 (31/66)
Relationships between Individuals (sameas) <Professor rdf:about="francescoricci" /> <rdf:description rdf:about="francescoricci"> <owl:sameas rdf:resource="professorricci" /> </rdf:description> It logically follows that professorricci is a Professor Distinctness of individuals is expressed via owl:differentfrom. W. Nutt Semantic Technologies 2014/2015 (32/66)
Relationships between Individuals <owl:alldifferent> <owl:distinctmembers rdf:parsetype="collection"> <Person rdf:about="francescoricci" /> <Person rdf:about="diegocalvanese" /> <Person rdf:about="wernernutt" /> </owl:distinctmembers> </owl:alldifferent> This is an abbreviated notation instead of using several owl:differentfrom Usage of owl:alldifferent and owl:distinctmembers exclusively for this purpose W. Nutt Semantic Technologies 2014/2015 (33/66)
Closed Classes <owl:class rdf:about="techniciansofcs"> <owl:oneof rdf:parsetype="collection"> <Person rdf:about="amantiapano" /> <Person rdf:about="konradhofer" /> </owl:oneof> </owl:class> tells that there are only exactly these two TechniciansOfCS W. Nutt Semantic Technologies 2014/2015 (34/66)
Agenda Motivation OWL General Remarks Classes, Roles and Individuals Class Relationships Complex Classes Role Characteristics OWL Variants OWL Ontologies: Reasoning Tasks W. Nutt Semantic Technologies 2014/2015 (35/66)
Logical Class Constructors logical and (conjunction): owl:intersectionof logical or (disjunction): owl:unionof logical not (negation): owl:complementof... used to construct complex classes from simple classesp W. Nutt Semantic Technologies 2014/2015 (36/66)
Conjunction <owl:class rdf:about="techniciansofcs"> <owl:intersectionof rdf:parsetype="collection"> <owl:class rdf:about="technicians" /> <owl:class rdf:about="staffofcs" /> </owl:intersectionof> </owl:class> it logically follows that all TechniciansOfCS are also Technicians W. Nutt Semantic Technologies 2014/2015 (37/66)
Disjunction <owl:class rdf:about="professor"> <rdfs:subclassof> <owl:class> <owl:unionof rdf:parsetype="collection"> <owl:class rdf:about="activelyteaching" /> <owl:class rdf:about="retired" /> </owl:unionof> </owl:class> </rdfs:subclassof> </owl:class> W. Nutt Semantic Technologies 2014/2015 (38/66)
Negation <owl:class rdf:about="facultymember"> <rdfs:subclassof> <owl:class> <owl:complementof rdf:resource="publication" /> </owl:class> </rdfs:subclassof> </owl:class> Semantically equivalent: <owl:class rdf:about="facultymember"> <owl:disjointwith rdf:resource="publication" /> </owl:class> W. Nutt Semantic Technologies 2014/2015 (39/66)
Role Restrictions (allvaluesfrom) Used to define complex classes via roles <owl:class rdf:about="exam"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="hasexaminer" /> <owl:allvaluesfrom rdf:resource="professor" /> </owl:restriction> </rdfs:subclassof> </owl:class> I.e., all examiners of an exam have to be professors W. Nutt Semantic Technologies 2014/2015 (40/66)
Role Restrictions (somevaluesfrom) <owl:class rdf:about="exam"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="hasexaminer" /> <owl:somevaluesfrom rdf:resource="person" /> </owl:restriction> </rdfs:subclassof> </owl:class> I.e., every exam must have at least one examiner W. Nutt Semantic Technologies 2014/2015 (41/66)
Role Restrictions (Cardinalities) <owl:class rdf:about="exam"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="hasexaminer"/> <owl:maxcardinality rdf:datatype="&xsd;nonnegativeinteger"> 2 </owl:maxcardinality> </owl:restriction> </rdfs:subclassof> </owl:class> I.e., an exam may have at most two examiners W. Nutt Semantic Technologies 2014/2015 (42/66)
Role Restrictions (Cardinalities) <owl:class rdf:about="exam"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="hastopic"/> <owl:mincardinality rdf:datatype="&xsd;nonnegativeinteger">3 </owl:mincardinality> </owl:restriction> </rdfs:subclassof> </owl:class> I.e., an exam must cover at least three topics W. Nutt Semantic Technologies 2014/2015 (43/66)
Role Restrictions (Cardinalities) <owl:class rdf:about="exam"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="hastopic"/> <owl:cardinality rdf:datatype="&xsd;nonnegativeinteger">3 </owl:cardinality> </owl:restriction> </rdfs:subclassof> </owl:class> An exam must cover exactly three topics W. Nutt Semantic Technologies 2014/2015 (44/66)
Role Restrictions (hasvalue) <owl:class rdf:about="examricci"> <owl:equivalentclass> <owl:restriction> <owl:onproperty rdf:resource="hasexaminer" /> <owl:hasvalue rdf:resource="francescoricci" /> </owl:restriction> </owl:equivalentclass> </owl:class> owl:hasvalue always refers to one singular individual The above is equivalent to the example on the next slide W. Nutt Semantic Technologies 2014/2015 (45/66)
Role Restrictions (hasvalue) <owl:class rdf:about="examricci"> <owl:equivalentclass> <owl:restriction> <owl:onproperty rdf:resource="hasexaminer" /> <owl:somevaluesfrom> <owl:oneof rdf:parsetype="collection"> <owl:thing rdf:about="francescoricci" /> </owl:oneof> </owl:somevaluesfrom> </owl:restriction> </owl:equivalentclass> </owl:class> W. Nutt Semantic Technologies 2014/2015 (46/66)
Agenda Motivation OWL General Remarks Classes, Roles and Individuals Class Relationships Complex Classes Role Characteristics OWL Variants OWL Ontologies: Reasoning Tasks W. Nutt Semantic Technologies 2014/2015 (47/66)
Role Relationships <owl:objectproperty rdf:about="hasexaminer"> <rdfs:subpropertyof rdf:resource="hasparticipant" /> </owl:objectproperty> Likewise: owl:equivalentproperty Roles can be inverses of each other: <owl:objectproperty rdf:about="hasexaminer"> <owl:inverseof rdf:resource="examinerof"/> </owl:objectproperty> W. Nutt Semantic Technologies 2014/2015 (48/66)
Role Characteristics domain range transitivity, i.e. r(a, b) and r(b, c) imply r(a, c) symmetry, i.e. r(a, b) implies r(b, a) functionality r(a, b) and r(a, c) imply b = c inverse functionality r(a, b) and r(c, b) imply a = c W. Nutt Semantic Technologies 2014/2015 (49/66)
Domain and Range <owl:objectproperty rdf:about="ismemberof"> <rdfs:range rdf:resource="organization" /> </owl:objectproperty> equivalent to: <owl:class rdf:about="&owl;thing"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="ismemberof" /> <owl:allvaluesfrom rdf:resource="organization" /> </owl:restriction> </rdfs:subclassof> </owl:class> W. Nutt Semantic Technologies 2014/2015 (50/66)
Domain and Range: Caution! <owl:objectproperty rdf:about="ismemberof"> <rdfs:range rdf:resource="organization" /> </owl:objectproperty> <number rdf:about="five"> <ismemberof rdf:resource="primenumbers" /> </number> It follows that PrimeNumbers is an Organization! W. Nutt Semantic Technologies 2014/2015 (51/66)
Role Characteristics <owl:objectproperty rdf:about="hascolleague"> <rdf:type rdf:resource="&owl;transitiveproperty" /> <rdf:type rdf:resource="&owl;symmetricproperty" /> </owl:objectproperty> <owl:objectproperty rdf:about="hasprojectleader"> <rdf:type rdf:resource="&owl;functionalproperty" /> </owl:objectproperty> <owl:objectproperty rdf:about="isprojectleaderfor"> <rdf:type rdf:resource="&owl;inversefunctionalproperty" /> </owl:objectproperty> <Person rdf:about="francescoricci"> <hascolleague rdf:resource="diegocalvanese" /> <hascolleague rdf:resource="wernernutt" /> <isprojectleaderfor rdf:resource="bztraffic" /> </Person> <Project rdf:about="optique"> <hasprojectleader rdf:resource="diegocalvanese" /> <hasprojectleader rdf:resource="calvanesediego" /> </Project> W. Nutt Semantic Technologies 2014/2015 (52/66)
Consequences from the Example diegocalvanese hascolleague francescoricci diegocalvanese hascolleague wernernutt diegocalvanese owl:sameas calvanesediego W. Nutt Semantic Technologies 2014/2015 (53/66)
Agenda Motivation OWL General Remarks Classes, Roles and Individuals Class Relationships Complex Classes Role Characteristics OWL Variants OWL Ontologies: Reasoning Tasks W. Nutt Semantic Technologies 2014/2015 (54/66)
OWL 1 Variants OWL Full contains OWL DL and OWL Lite contains all of RDFS (as the only OWL variant) undecidable inferences limited support by tools OWL DL contains OWL Lite and is sublanguage of OWL Full widely supported by tools worst-case complexity: NEXPTIME (= non-deterministic exponential time) OWL Lite sublanguage of OWL DL and OWL Full low expressivity worst-case complexity: EXPTIME (= exponential time) W. Nutt Semantic Technologies 2014/2015 (55/66)
OWL Full Unrestricted use of all OWL and RDFS language elements (has to be valid RDFS) Difficult, e.g.: non-existent type separation (classes, roles, individuals), thus: owl:thing becomes the same as rdfs:resource owl:class becomes the same as rdfs:class owl:datatypeproperty becomes a subclass of owl:objectproperty owl:objectproperty becomes the same as rdf:property W. Nutt Semantic Technologies 2014/2015 (56/66)
Example for Confusion of Types in OWL Full <owl:class rdf:about="book"> <germanname rdf:datatype="&xsd;string">buch</germanname> <frenchname rdf:datatype="&xsd;string">livre</frenchname> </owl:class> Inferences about such constructs are rarely needed in practice W. Nutt Semantic Technologies 2014/2015 (57/66)
OWL DL Only usage of RDFS language elements that are explicitly allowed (like those in our examples) not allowed: rdfs:class, rdfs:property Type separation: classes and roles have to be explicitly declared Concrete roles must not be specified as transitive, symmetric, inverse or inverse functional Number restrictions must not be used with transitive roles, their subroles, or inverses thereof W. Nutt Semantic Technologies 2014/2015 (58/66)
OWL Lite All restrictions of OWL DL Moreover: not allowed: oneof, unionof, complementof, hasvalue, disjointwith number restrictions only allowed with 0 and 1 some constraints referring to anonymous (complex) classes, e.g., only in the subject of rdfs:subclassof W. Nutt Semantic Technologies 2014/2015 (59/66)
Agenda Motivation OWL General Remarks Classes, Roles and Individuals Class Relationships Complex Classes Role Characteristics OWL Variants OWL Ontologies: Reasoning Tasks W. Nutt Semantic Technologies 2014/2015 (60/66)
Terminological Queries to OWL Ontologies Class equivalence Subclass relationships Disjointness of classes Global consistency (aka satisfiability) Class consistency: a class is inconsistent if it is equivalent to owl:nothing this hints at a modeling error: <owl:class rdf:about="book"> <owl:subclassof rdf:resource="publication"/> <owl:disjointwith rdf:resource="publication"/> </owl:class> W. Nutt Semantic Technologies 2014/2015 (61/66)
Assertional Queries to OWL Ontologies Instance checking: does a given individual belong to a given class? Search for all individuals that are members of a given class Are two given individuals linked by a role? Search for all individual pairs that are linked by a certain role... caution: only provable answers will be given! W. Nutt Semantic Technologies 2014/2015 (62/66)
OWL 1 Language Elements Head rdfs:comment rdfs:label rdfs:seealso rdfs:isdefinedby owl:versioninfo owl:priorversion owl:backwardcompatiblewith owl:incompatiblewith owl:deprecatedclass owl:deprecatedproperty owl:imports Relationships between individuals owl:sameas owl:differentfrom owl:alldifferent owl:distinctmembers Pre-defined datatypes (OWL 1) xsd:string xsd:integer W. Nutt Semantic Technologies 2014/2015 (63/66)
OWL Language Elements Class constructors and relationships owl:class owl:thing owl:nothing rdfs:subclassof owl:disjointwith owl:equivalentclass owl:intersectionof owl:unionof owl:complementof Role restrictions owl:allvaluesfrom owl:somevaluesfrom owl:hasvalue owl:cardinality owl:mincardinality owl:maxcardinality owl:oneof W. Nutt Semantic Technologies 2014/2015 (64/66)
OWL Language Elements Role constructors, relationships and characteristics owl:objectproperty owl:datatypeproperty rdfs:subpropertyof owl:equivalentproperty owl:inverseof rdfs:domain rdfs:range owl:transitiveproperty owl:symmetricproperty owl:functionalproperty owl:inversefunctionalproperty W. Nutt Semantic Technologies 2014/2015 (65/66)
Further Literature http://www.w3.org/2004/owl/ central W3C web page for OWL http://www.w3.org/tr/owl-features/ overview over OWL http://www.w3.org/tr/owl-ref/ comprehensive description of the OWL language components http://www.w3.org/tr/owl-guide/ introduction into OWL knowledge modeling http://www.w3.org/tr/owl-semantics/ describes the semantics of OWL and the abstract syntax for OWL DL ( later lecture) W. Nutt Semantic Technologies 2014/2015 (66/66)