l ogics for d ata and k nowledge r epresentation

50
L Logics for D Data and K Knowledge R Representation Web Ontology Language (OWL) Fausto Giunchiglia and Biswanath Dutta Fall’2011

Upload: phelan-vaughn

Post on 02-Jan-2016

33 views

Category:

Documents


2 download

DESCRIPTION

L ogics for D ata and K nowledge R epresentation. Web Ontology Language (OWL). Fausto Giunchiglia and Biswanath Dutta Fall’2011. Outline. Introduction OWL Syntax Exchange Syntax Abstract Syntax Demo Semantics OWL 2 OWL 2 DL vs. OWL 2 Full OWL 2 vs. OWL 1 OWL 2 Profiles - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: L ogics for  D ata and  K nowledge R epresentation

LLogics for DData and KKnowledgeRRepresentation

Web Ontology Language (OWL)

Fausto Giunchiglia and Biswanath DuttaFall’2011

Page 2: L ogics for  D ata and  K nowledge R epresentation

2

Outline Introduction OWL Syntax

Exchange Syntax Abstract Syntax

Demo Semantics OWL 2

OWL 2 DL vs. OWL 2 Full OWL 2 vs. OWL 1 OWL 2 Profiles

Reasoning Tool Support for OWL

2

Page 3: L ogics for  D ata and  K nowledge R epresentation

Limitations of RDFS Is too weak in describing resources with sufficient details

No localised range and domain constraints Cannot say that the range of teachBy is only professor when applied

to professors and lecturer when applied to lecturers No cardinality constraints

Cannot say that a course is taught by at least one professor, or persons have exactly 2 parents

No transitive, inverse or symmetrical properties Cannot say that isPartOf is a transitive property, that hasSupervisor is

the inverse of isSupervisorOf, and, that friendOf is symmetrical Disjoint classes

Cannot say that Graduate and PhD. Students are two disjoint classes Boolean combinations of classes

Sometimes we may need to build new classes by combining other classes using union, intersection, and complement (e.g. person is the disjoint union of the classes male and female)

3

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 4: L ogics for  D ata and  K nowledge R epresentation

Ontology Languages Wide variety of onotlogy languages for explicit

specification Graphical notations

Semantic networks, Topic Maps, UML, RDF Logic based

Description Logics (e.g., OIL, DAML+OIL, OWL), Rules (e.g., RuleML, SWRL, N3Logic, LP/Prolog), First Order Logic (e.g., KIF), Conceptual graphs, (Syntactically) higher order logics (e.g., LBase), Non-classical logics (e.g., Flogic, Non-Mon, modalities)

Probabilistic/fuzzy However, degree of formality varies widely

Increased formality makes languages more amenable to machine processing (e.g., automated reasoning)

4

Important: XML Schema is not an ontology language

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 5: L ogics for  D ata and  K nowledge R epresentation

Ontology Language Requirements Well defined syntax Extends existing Web standards

Like, XML, RDF, RDFS

Easy to understand and use Should be based on familiar KR idioms

Adequate expressive power Important: the richer the language is, the more inefficient

the reasoning support becomes

Formal semantics Efficient reasoning support

5

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 6: L ogics for  D ata and  K nowledge R epresentation

Semantic Web led to requirement for a Web Ontology Language

OWL is a W3C recommended, semantic markup language for publishing and sharing ontologies on Web

OWL is developed as vocabulary extension of RDF and RDFS

OWL is based on the earlier languages OIL and DAML+OIL

OIL, DAML+OIL and OWL are based on Description Logics (DL) OWL is a Web-friendly syntax for SHOIN

Three species of OWL: OWL Full, OWL DL and OWL Lite All OWL species use the open world assumption

Web Ontology Language OWL

6

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 7: L ogics for  D ata and  K nowledge R epresentation

7

OWL Full It uses all the OWL languages primitives It allows free mixing of OWL with RDF Schema So, expressive that does not enforce a strict separation

of classes, properties, individuals and data values A class can be treated simultaneously as a collection of

individuals and as an individual in its own right It is fully upward-compatible with RDF, both syntactically and

semantically Unlikely to have complete (or efficient) reasoning

support by the reasoning software Important: RDF documents will generally be in OWL

Full, unless they are specifically constructed to be in OWL DL or OWL Lite

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 8: L ogics for  D ata and  K nowledge R epresentation

8

OWL DL (Description Logic) It is a sublanguage of OWL Full Provides maximum expressivity, while retaining

computational completeness (i.e, all conclusions are guaranteed to be computable) and decidability

Includes all OWL language constructs with certain restrictions E.g., a sets of class, property and individual names must be

disjoint While a class may be a subclass of many classes, a class cannot

be an individual of another class It permits efficient reasoning support Important: we lose full compatibility with RDF Note

Every RDF document is a legal OWL DL document Every legal OWL DL document is a legal RDF document Every legal OWL DL ontology is a legal OWL Full ontology Every valid OWL DL conclusion is a valid OWL Full conclusion

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 9: L ogics for  D ata and  K nowledge R epresentation

9

OWL Lite It is a sublanguage (i.e., lighter version) of OWL DL,

supports only a subset of the OWL language constructs Putting further restrictions, limits OWL DL to a subset of the

OWL language constructors E.g., OWL Lite excludes enumerated classes, disjointness

statements, and arbitrary cardinality (only permits cardinality values of 0 or 1)

Advantage of OWL Lite are Easy to grasp Easy to implement for tool builders Provides a quick migration path for thesauri and other

taxonomies Disadvantage is restricted expressivity Important:

OWL Lite is not simply an extension of RDF Schema Every legal OWL Lite ontology is a legal OWL DL ontology Every valid OWL Lite conclusion is a valid OWL DL conclusion

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 10: L ogics for  D ata and  K nowledge R epresentation

OWL Ontology Elements OWL ontology concern of,

Classes, Properties, Instances of classes, and Relationships between the instances

Synonymous terms in DL Classes -> Concepts Properties -> Roles Instances -> Individuals

10

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 11: L ogics for  D ata and  K nowledge R epresentation

11

Class A class defines a group of individuals that belong

together and the classes are defined using owl:Class

Important owl:Thing- a built-in most general class and is the

class of all individuals and is a superclass of all OWL classes in the OWL World

owl:Nothing- a built-in most specific class and is the class that has no instances (i.e., empty object class) and a subclass of all OWL classes Thing Nothing Nothing

Nothing Thing Nothing Nothing Nothing Nothing

Note: owl:Class is a subclass of rdfs:Class in OWL, class hierarchy can be built using the rdfs:subClassOf

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 12: L ogics for  D ata and  K nowledge R epresentation

Properties OWL defines the properties,

Object property- relate individuals to other individuals (e.g. isTaughtBy, supervises, isStudentOf, isLocatedIn) An object property is defined as an instance of the built-in

OWL class owl:ObjectProperty Datatype property- relate individuals to datatype

values (e.g. author, title, phone, age, etc.) A datatype property is defined as an instance of the built-in

OWL class owl:DatatypeProperty Annotation property- use to add uninterpreted

information (e.g., versioning information, comment) to individuals, classes, and properties

Important: both owl:ObjectProperty and owl:DatatypeProperty are subclasses of the RDF class rdf:Property

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

12

Page 13: L ogics for  D ata and  K nowledge R epresentation

OWL Class and OWL Properties

13

rdfs:Resource

rdf:Propertyrdfs:Class

owl:Class owl:ObjectProperty owl:DatatypeProperty

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 14: L ogics for  D ata and  K nowledge R epresentation

14

Exchange Syntax OWL builds on RDF and uses RDF’s XML based syntax

An OWL ontology turns into is a set of RDF triples Like wise any RDF graph, an OWL ontology graph can

be written in many different syntactic forms of RDF/XML Alternative syntactic forms for OWL have also been

defined More readable XML based syntax

E.g., <owl:Class rdf:ID=“Person”/> The above can be alternatively represented by the following,

<rdf:Description rdf:about=”#Person"> <rdf:type

rdf:resource="http://www.w3.org/2002/07/ owl#Class"/> </rdf:Description>

Important: A graphic syntax based on the conventions of UML (Unified Modelling Language)

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 15: L ogics for  D ata and  K nowledge R epresentation

Abstract Syntax

15

OWL DL Descriptions(C), Data Ranges(D), Object properties(R), Individuals(o), Datatype properties(U) and Data Values(v), Names for classes (A)

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

DL Syntax

Abstract Syntax

Page 16: L ogics for  D ata and  K nowledge R epresentation

Property Restrictions In OWL we can declare that the class C satisfies

certain conditions All instances of C satisfy the conditions

A (restriction) class is achieved through an owl:Restriction element

This element contains an owl:onProperty element and one or more restriction declarations

Defines restrictions on the kinds of values the property may take, owl:allValuesFrom, owl:someValuesFrom, owl:hasvalue

We can specify minimum and maximum number using owl:minCardinality and owl:maxCardinality Also, possible to specify a precise number using the same

minimum and maximum number, by owl:cardinality

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

16

Page 17: L ogics for  D ata and  K nowledge R epresentation

Property Restrictions (examples) <owl:Class rdf:about=“#PhD">

<rdfs:subClassOf> <owl:Restriction>

<owl:onProperty rdf:resource=“#isSuperviseBy"/><owl:allValuesFrom rdf:resource=“#Professor"/>

</owl:Restriction></rdfs:subClassOf>

</owl:Class>

<owl:Class rdf:about=“#AcademicStaffMember"><rdfs:subClassOf> <owl:Restriction>

<owl:onProperty rdf:resource=“#teaches"/><owl:someValuesFrom rdf:resource=“#undergraduateCourse"/>

</owl:Restriction></rdfs:subClassOf>

</owl:Class>

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

17

Page 18: L ogics for  D ata and  K nowledge R epresentation

<owl:Class rdf:about="#Person"><rdfs:subClassOf>

<owl:Restriction><owl:onProperty rdf:resource="#hasParents"/><owl:maxCardinality rdf:datatype=

"&xsd;nonNegativeInteger“>2</owl:maxCardinality>

</owl:Restriction></rdfs:subClassOf>

</owl:Class>

Property Restrictions (examples)

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

18

Page 19: L ogics for  D ata and  K nowledge R epresentation

Examples owl:equivalentClass defines equivalence of classes

<owl:Class rdf:ID="faculty"><owl:equivalentClass rdf:resource="#academicStaffMember"/>

</owl:Class>Enumeration using owl:oneOf <owl:Class rdf:ID="weekdays">

<owl:oneOf rdf:parseType="Collection"><owl:Thing rdf:about="#Monday"/><owl:Thing rdf:about="#Tuesday"/><owl:Thing rdf:about="#Wednesday"/><owl:Thing rdf:about="#Thursday"/><owl:Thing rdf:about="#Friday"/><owl:Thing rdf:about="#Saturday"/><owl:Thing rdf:about="#Sunday"/>

</owl:oneOf></owl:Class>

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

19

Page 20: L ogics for  D ata and  K nowledge R epresentation

Boolean Combinations (Examples) Classes can be combined using Boolean operations (union,

intersection, complement)

<owl:Class rdf:about="#course"><rdfs:subClassOf>

<owl:Restriction><owl:complementOf rdf:resource="#staffMember"/></owl:Restriction>

</rdfs:subClassOf></owl:Class>

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

20

Page 21: L ogics for  D ata and  K nowledge R epresentation

Axioms and Facts (OWL DL)

21

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

DL Syntax

Abstract Syntax

Page 22: L ogics for  D ata and  K nowledge R epresentation

Axioms and Facts (examples)

22

E.g.1: Class Axioms,

Class(ed:Person partial owl:Thing)

Class(ed:Student partial ed:Person)

Class(ed:Country partial owl:Thing)

Class(ed:Italian complete ed:Person hasValue(ed:nationality ed:Italy))

E.g.2: Property Axioms,

DatatypeProperty(ed:age domain(ed:Person) range(xsd:integer))

ObjectProperty(ed:nationality domain(ed:Person) range(ed:Country)

E.g.3: Individual Axioms,

Individual(ed:India type(ed:Country))

Individual(ed:Italy type(ed:Country))

Individual(ed:Fausto type(ed:Italian)

value(ed:age “53”^^xsd:integer))

Individual(value(ed:nationality ed:India)

value(ed:age “32”^^xsd:integer))

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Note: For Classes, these Axioms consist of the name of the class being described, a modality of “partial” (indicating that the axiom is asserting a subclass), or “complete” (indicating that the axiom is asserting a equivalence relationships)

Page 23: L ogics for  D ata and  K nowledge R epresentation

Axioms and Facts A Class Axioms specifies the

Name of the class being described A modality of “partial”, or “complete” A sequence of property restrictions Names of more general classes

23

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 24: L ogics for  D ata and  K nowledge R epresentation

Axioms and Facts A Property axiom specifies the

Name of the property Its various features

Individual Axiom specifies the Name of the individual Individual type Object property and its value Datatype property and data values Identity of individuals

24

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 25: L ogics for  D ata and  K nowledge R epresentation

Class Axioms : owl:disjointWith Each owl:disjointWith statement asserts that the class

extensions of the two class descriptions involved have no individuals in common E.g., Student ⊓ Teacher ≡ ⊥

“Student is disjoint with Teacher”

Axioms with rdfs:disjointWith declaring that two classes to be disjoint is a partial definition: it imposes a necessary but not sufficient condition on the class

Implications: a reasoner can deduce an inconsistency when an individual, A

is stated to be an instance of both similarly, a reasoner can also deduce that if A is an instance of

class Teacher, then A is not an instance of class Student Important: use of owl:disjointWith is not allowed in OWL

Lite 25

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 26: L ogics for  D ata and  K nowledge R epresentation

Individuals Axioms Individuals are defined with individual axioms (also

called "facts”), Facts about class membership and property values of

individuals, Individual(ed:John type(ed:Student)

value(ed:learningStyle ed:concrete-generic)

value(vcard:FN “John Smith”^^xsd:string)

value(stu:age “32”^^xsd:integer))

Facts about individual identity OWL does not make unique name assumptionOWL provides three constructs for stating facts

about the identity of individuals: owl:sameAs, owl:differentFrom, owl:AllDifferent

26

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 27: L ogics for  D ata and  K nowledge R epresentation

Special Properties owl:TransitiveProperty (transitive property)

E.g. “has better grade than”, “is ancestor of” owl:SymmetricProperty (symmetry)

E.g. “has same grade as”, “is sibling of” owl:FunctionalProperty defines a property that

has at most one value for each object E.g. “age”, “height”, “directSupervisor”

owl:InverseFunctionalProperty defines a property for which two different objects cannot have the same value

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

27

Important: Not all of these can be specified for a particular object property as to retain the decidability of OWL DL properties (e.g., an object property specified as transitive, and their super-properties and their inverses cannot have their cardinality restricted, either via a functional part of property axioms or in cardinality restrictions)

Page 28: L ogics for  D ata and  K nowledge R epresentation

Datatypes

28

OWL supports XML Schema primitive datatypes E.g., integer, real, string, …

Strict separation between “object” classes and datatypes

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 29: L ogics for  D ata and  K nowledge R epresentation

29

Starts with a set of XML namespace declarations enclosed in an opening rdf:RDF tag

Provide a means to unambiguously interpret identifiers and make the rest of the ontology presentation much more readable

OWL depends on constructs defined by RDF, RDFS, and XML Schema datatypes

<rdf:RDF xmlns="http://www.disi.unitn.it/student#" xmlns:stu=“http://www.disi.unitn.it/student#”xmlns:base=“http://www.disi.unitn.it/student#”xmlns:doc=“http://www.disi.unitn.it/document#” xmlns:owl ="http://www.w3.org/2002/07/owl#"xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"xmlns:xsd ="http://www.w3.org/2001/XLMSchema#”

>

Namespace

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 30: L ogics for  D ata and  K nowledge R epresentation

Namespace As an aid to writing lengthy URLs, it useful to provide a

set of entity definitions in a document type declaration (DOCTYPE) that precedes the ontology definitions

<!DOCTYPE rdf:RDF [ <!ENTITY stu "http://www.disi.unitn.it/student#" > <!ENTITY doc "http://www.disi.unitn.it/student#" >

………….]>

<rdf:RDF xmlns ="&stu;" xmlns:stu ="&stu;" xml:base ="&stu;" xml:doc ="&doc;”

…>

30

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 31: L ogics for  D ata and  K nowledge R epresentation

Namespace Advantage of DOCTYPE

changes made to the entity declarations will propagate through the ontology consistently

Allows referring ontology identifiers using attribute values

<owl:Class rdf:about="&stu;Qualification"/>, where, “&stu:Student” can be written in its expanded form as, http://www.disi.unitn.it/student#Qualification"

Important: The names defined by the namespace declarations only have significance as parts of XML tags

31

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 32: L ogics for  D ata and  K nowledge R epresentation

32

Header An OWL ontology may start (after the namespace

inclusion) with a collection of assertions for housekeeping purposes using owl:Ontology element

<owl:Ontology rdf:about=""> <rdfs:comment>A educational OWL

ontology</rdfs:comment> <owl:priorVersion

rdf:resource="http://disi.unitn.it/course-ontology-26092010”/> <owl:imports

rdf:resource=“http://drtc.isibang.ac.in/education/course”/> <rdfs:label>Educational ontology</rdfs:label>

…</owl:Ontology>

A complete OWL DL example (Demo)

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 33: L ogics for  D ata and  K nowledge R epresentation

Semantics Provides well defined semantics very similar to the

semantics provided for DL OWL Mapping to equivalent DL

OWL Lite closely corresponds to SHIF(D) OWL DL closely corresponds to SHOIN(D)

However, what makes (???), OWL (specifically OWL DL) a SW language when semantics for this is very similar to the DL Use of URI references for names Use of XML Schema datatypes for data values Allow the use of annotation properties Frame-like abstract syntax Ability to connect to documents in the Web

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

33

Page 34: L ogics for  D ata and  K nowledge R epresentation

OWL 2

34

Structure of OWL 2

Functional-Style Syntax ClassAssertion( :Person :Mary ) RDF/XML Syntax <Person rdf:about="Mary"/>

Turtle Syntax :Mary rdf:type :Person .

Manchester Syntax Individual: Mary Types: Person

OWL/XML Syntax <ClassAssertion> <Class IRI="Person"/> <NamedIndividual IRI="Mary"/> </ClassAssertion>

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 35: L ogics for  D ata and  K nowledge R epresentation

OWL 2 (contd…2) The ellipse in the center represents the abstract

notion of an ontology, which can be thought of either as an abstract structure or as an RDF graph

At the top are various concrete syntaxes that can be used to serialize and exchange ontologies

At the bottom are the two semantic specifications that define the meaning of OWL 2 ontologies

35

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 36: L ogics for  D ata and  K nowledge R epresentation

OWL 2 (contd…3)

36

OWL 2 Ontology Structure

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 37: L ogics for  D ata and  K nowledge R epresentation

OWL 2: Entities, Literals, and Anonymous Individuals

37

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 38: L ogics for  D ata and  K nowledge R epresentation

OWL 2 DL vs. OWL 2 Full There are two alternative ways of assigning

meaning to ontologies in OWL 2: the direct semantics (provides a meaning for OWL 2

in a Description Logics style); and the RDF-Based Semantics (an extension of the

semantics for RDFS and is based on viewing OWL 2 ontologies as RDF graphs)

The notion OWL 2 DL is used to refer to OWL 2 ontologies interpreted using the Direct Semantics

The notion OWL 2 Full is used when considering the RDF-Based Semantics

38

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 39: L ogics for  D ata and  K nowledge R epresentation

OWL 2 DL vs. OWL 2 Full OWL 2 DL is a syntactically restricted version of OWL 2 Full

the restrictions are designed to make life easier for implementors

OWL 2 Full (the RDF-Based Semantics) is undecidable

OWL 2 DL (under the direct model-theoretic semantics) is decidable, in principle, can return all "yes or no" answers (subject to resource constraints) possible As a consequence of OWL 2 DL design, there are several

production quality reasoners that cover the entire OWL 2 DL language under the direct model-theoretic semantics. There are no such reasoners for OWL 2 Full under the RDF-Based Semantics.

OWL 2 Full is the most straightforward extension of RDFS the RDF-Based Semantics for OWL 2 Full follows the RDFS

semantics and general syntactic philosophy (i.e., everything is a triple and the language is fully reflective) [See next slide for an example]

39

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 40: L ogics for  D ata and  K nowledge R epresentation

OWL 2 DL vs. OWL 2 Full (contd…) One design goal of OWL 2 was to bring OWL 2 DL

syntactically closer to OWL 2 Full (i.e., to allow more RDF Graphs/OWL 2 Full ontologies to be legal OWL 2 DL ontologies) This led to the incorporation of so-called punning into OWL 2

e.g., using the same IRI as a name for both a class and an individual An example of such usage would be the following, which

states that John is a father, and that father is a social role <Father rdf:about="John"/> [Father is used as a class] <SocialRole rdf:about="Father"/> [Father is used as an individual.

In this case, SocialRole acts as a metaclass for the class Father]

Note: for interpretation of this example in context of OWL 1, see next slide

40

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 41: L ogics for  D ata and  K nowledge R epresentation

OWL 2 vs. OWL 1 In OWL 1, a document containing these two statements

(see previous slide) would be an OWL 1 Full document, but not an OWL 1 DL document

In OWL 2 DL, this is allowed

It must be noted, though, that the direct model-theoretic semantics of OWL 2 DL accommodates this by understanding the class Father and the individual Father as two different views on the same IRI, i.e. they are interpreted semantically as if they were distinct

41

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 42: L ogics for  D ata and  K nowledge R epresentation

OWL 2 vs. OWL 1 (contd…2) OWL 2 has a very similar overall structure to OWL 1

Almost all the building blocks of OWL 2 were present in OWL 1, even thoguh possibly under different names

The central role of RDF/XML, the role of other syntaxes, and the relationships between the Direct and RDF-Based semantics (i.e., the correspondence theorem) have not changed

Backwards compatibility with OWL 1 is, to all intents and purposes, complete Important: all OWL 1 Ontologies remain valid OWL

2 Ontologies42

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 43: L ogics for  D ata and  K nowledge R epresentation

OWL 2 vs. OWL 1 (contd…3) OWL 2 adds some new functionality with respect to OWL 1. Some of the

new features are: Keys (identification of individuals of a given class by values of (a set of) key

properties); Inclusion of property chains (allows a property to be defined as the

composition of several properties, e.g., hasGrandParent , i.e., hasParent hasParent)

Property characteristics (e.g., reflexive, irreflexive, disjoint property) advanced use of cardinality restrictions (e.g., inclusion, exclusion); complex classes (e.g., UniTnStudent isEquvalentOf two atomic classes:

Masters or PhD); Addition of new OWL constructors (object property, data property) advanced use of datatypes, (e.g., data ranges, type extension); enumeration of individuals (named individuals and anonymous individuals); some of the restrictions applicable to OWL DL have been relaxed; as a result,

the set of RDF Graphs that can be handled by Description Logics reasoners is slightly larger in OWL 2

OWL 2 defines 3 new profiles (sub-languages): OWL 2 EL, OWL 2 QL and OWL 2 RL

43

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 44: L ogics for  D ata and  K nowledge R epresentation

OWL 2 EL It enables polynomial time algorithms for all the

standard reasoning tasks; Particularly suitable for applications where very large

ontologies are needed; and Suitable where expressive power can be traded for

performance guarantees

Important*: Description Logics (DL) EL allows for conjunction (intersection) and full existential restrictions (instead of value restrictions as seen in FL0, a sub-language of FL- which is obtained by disallowing limited existential quantification)

44

*Franz Baader, Sebastian Brandt, and Carsten Lutz.. Pushing the EL Envelope. In Proc. of the 19th Joint Int. Conf. on Artificial Intelligence (IJCAI 2005), 2005

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 45: L ogics for  D ata and  K nowledge R epresentation

OWL 2 QL It enables conjunctive queries to be answered in

LogSpace (precisely, AC0) using standard relational database technology;

Particularly suitable for applications where relatively lightweight ontologies are used to organize large numbers of individuals; and

Suitable where it is useful or necessary to access the data directly via relational queries (e.g., SQL).

45

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 46: L ogics for  D ata and  K nowledge R epresentation

OWL 2 RL It enables the implementation of polynomial time

reasoning algorithms using rule-extended database technologies operating directly on RDF triples;

Particularly suitable for applications where relatively lightweight ontologies are used to organize large numbers of individuals; and

Suitable where it is useful or necessary to operate directly on data in the form of RDF triples

Important: any OWL 2 EL, QL or RL ontology is, also an OWL 2 ontology

46

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 47: L ogics for  D ata and  K nowledge R epresentation

Reasoning Reasoning about Knowledge in Ontology

Significance of reasoning: checking consistency of the ontology and the knowledge checking for unintended relationships between classes automatically classifying instances in classes

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

34

Page 48: L ogics for  D ata and  K nowledge R epresentation

Reasoning Consistency

x is an instance of classes A and B, but A and B are disjoint

This is an indication of an error in the ontology Classification

Certain property-value pairs are a sufficient condition for membership in a class A; if an individual x satisfies such conditions, we can conclude that x must be an instance of A

Class membership If x is an instance of a class C, and C is a subclass of

D, then we can infer that x is an instance of D Equivalence of classes

If class A is equivalent to class B, and class B is equivalent to class C, then A is equivalent to C

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

35

Page 49: L ogics for  D ata and  K nowledge R epresentation

Tool Support for OWL Ontology editors

Protege (http://protege.stanford.edu/) OilEd (http://oiled.man.ac.uk/) NeOn – Toolkit (http://neon-toolkit.org/wiki/Main_Page) ...

APIs OWL-API (http://owlapi.sourceforge.net) Jena (http://jena.sourceforge.net) …

OWL makes use of the reasoners such as, FaCT++ (http://owl.man.ac.uk/factplusplus/) Pellet (http://clarkparsia.com/pellet/) KAON2 (http://kaon2.semanticweb.org/) HermiT (http://hermit-reasoner.com/) …

49

INTRODUCTION :: OWL :: SYNTAX :: SEMANTICS :: OWL 2 :: REASONING :: TOOL SUPPORT

Page 50: L ogics for  D ata and  K nowledge R epresentation

Further Readings OWL Web Ontology Language

Semantics and Abstract Syntax. http://www.w3.org/TR/2004/REC-owl-semantics-20040210/

Horrocks, I., Patel-Schneider, Peter F., McGuinness, D. L., and Welty, C. A. OWL: a description logic based ontology language for the semantic web. Deborah L. McGuinness and Peter F. Patel-Schneider. From Description Logic Provers to Knowledge Representation Systems. In The Description Logic Handbook: Theory, Implementation and Applications, ed. Franz Baader, Diego Calvanese, Deborah L. McGuinness, Daniele Nardi, and Peter F. Patel-Schneider. Cambridge University Press, 2nd edition, August 2007, pp. 458--486.

Antoniou, G. and Harmelen, F. V. A semantic web primer. http://www.emu.edu.tr/aelci/Courses/D-588/MIT.Press.A.Semantic.Web.Primer.eBook-TLFeBOOK.pdf

http://www.w3.org/TR/2004/REC-owl-guide-20040210/ http://www.w3.org/TR/owl2-overview/ http://www.w3.org/TR/2009/REC-owl2-primer-20091027/ http://www.w3.org/TR/2009/REC-owl2-quick-reference-20091027/ http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/ http://www.w3.org/TR/2009/REC-owl2-new-features-20091027/

50