Download presentation
Presentation is loading. Please wait.
Published byAvis Shepherd Modified over 9 years ago
1
www.sti-innsbruck.at © Copyright 2008 STI INNSBRUCK www.sti-innsbruck.at OWL: The Web Ontology Language Semantic Web Lecture Lecture VII – xx 2009 Dieter Fensel Slides by: Federico M. Facca
2
www.sti-innsbruck.at Where are we? #DateTitle 1Introduction 2Semantic Web Architecture 3RDF and RDF Schema 4Web of hypertext (RDFa, Microformats) and Web of data 5Semantic Annotation 6Repositories and SPARQL 7The Web Ontology Language 8Rule Interchange Format 9Web-scale Reasoning 10Social Semantic Web 11Ontologies and the Semantic Web 12Semantic Web Services 13Tools 14Applications 15Exam 2
3
www.sti-innsbruck.at Overview Introduction and Motivation Technical Solution –Design of OWL –OWL Layering –OWL and Description Logics –OWL Syntaxes Illustration by a Large Example Extensions 3
4
www.sti-innsbruck.at Semantic Web Stack 4 Adapted from http://en.wikipedia.org/wiki/Semantic_Web_Stack
5
www.sti-innsbruck.at INTRODUCTION AND MOTIVATION 5
6
www.sti-innsbruck.at Overview Limitations of RDFS –Expressivity limitations –Layering problems Web Ontology Language OWL –Design of OWL –OWL Layering –OWL and Description Logics –OWL Syntaxes 6
7
www.sti-innsbruck.at What we discussed so far… RDF Schema –RDFS Vocabulary –RDFS Metadata –Literals and datatypes in RDFS Semantics of RDF and RDF Schema –Semantic notions –RDF(S) Entailment SPARQL –SPARQL Queries –Query answer 7
8
www.sti-innsbruck.at What we discussed so far… RDF Schema –RDFS Vocabulary –RDFS Metadata –Literals and datatypes in RDFS Semantics of RDF and RDF Schema –Semantic notions –RDF(S) Entailment SPARQL –SPARQL Queries –Query answer 8 RDF Vocabulary Classes: rdf:Property, rdf:Statement, rdf:XMLLiteral rdf:Seq, rdf:Bag, rdf:Alt, rdf:List Properties: rdf:type, rdf:subject, rdf:predicate, rdf:object, rdf:first, rdf:rest, rdf:_n rdf:value Resources: rdf:nil
9
www.sti-innsbruck.at What we discussed so far… RDF Schema –RDFS Vocabulary –RDFS Metadata –Literals and datatypes in RDFS Semantics of RDF and RDF Schema –Semantic notions –RDF(S) Entailment SPARQL –SPARQL Queries –Query answer 9 RDF Vocabulary Classes: rdf:Property, rdf:Statement, rdf:XMLLiteral rdf:Seq, rdf:Bag, rdf:Alt, rdf:List Properties: rdf:type, rdf:subject, rdf:predicate, rdf:object, rdf:first, rdf:rest, rdf:_n rdf:value Resources: rdf:nil RDFS Vocabulary RDFS Classes rdfs:Resource rdfs:Class rdfs:Literal rdfs:Datatype rdfs:Container rdfs:ContainerMembershipProperty RDFS Vocabulary RDFS Properties rdfs:domain rdfs:range rdfs:subPropertyOf rdfs:subClassOf rdfs:member rdfs:seeAlso rdfs:isDefinedBy rdfs:comment rdfs:label
10
www.sti-innsbruck.at What we discussed so far… RDF Schema –RDFS Vocabulary –RDFS Metadata –Literals and datatypes in RDFS Semantics of RDF and RDF Schema –Semantic notions –RDF(S) Entailment SPARQL –SPARQL Queries –Query answer 10
11
www.sti-innsbruck.at What we discussed so far… RDF Schema –RDFS Vocabulary –RDFS Metadata –Literals and datatypes in RDFS Semantics of RDF and RDF Schema –Semantic notions –RDF(S) Entailment SPARQL –SPARQL Queries –Query answer 11
12
www.sti-innsbruck.at What we discussed so far… RDF Schema –RDFS Vocabulary –RDFS Metadata –Literals and datatypes in RDFS Semantics of RDF and RDF Schema –Semantic notions –RDF(S) Entailment SPARQL –SPARQL Queries –Query answer 12
13
www.sti-innsbruck.at What we discussed so far… RDF Schema –RDFS Vocabulary –RDFS Metadata –Literals and datatypes in RDFS Semantics of RDF and RDF Schema –Semantic notions –RDF(S) Entailment SPARQL –SPARQL Queries –Query answer 13 PREFIX vCard: SELECT ?fullName WHERE {?x vCard:FN ?fullName}
14
www.sti-innsbruck.at Requirements for Ontology Languages Well-defined syntax Convenience of expression Formal semantics –Needed in reasoning, e.g.: Class membership Equivalence of classes Consistency Classification Efficient reasoning support Sufficient expressive power 14
15
www.sti-innsbruck.at Limitations of RDFS No semantics for: –Containers –Collections –Reification Domain and range of property infer information rather than check data –Conjunctive interpretation of multiple restrictions Use of properties as objects RDF/XML syntax very verbose 15
16
www.sti-innsbruck.at RDFS as an Ontology Language Classes Properties Class hierarchies Property hierarchies Domain and range restrictions 16
17
www.sti-innsbruck.at Expressiveness Limitations of RDF(S) Only binary relations Characteristics of Properties –E.g. inverse, transitive, symmetric Local range restrictions –E.g. for class Person, the property hasName has range xsd:string Complex concept descriptions –E.g. Person is defined by Man and Woman Cardinality restrictions –E.g. a Person may have at most 1 name Disjointness axioms –E.g. nobody can be both a Man and a Woman 17
18
www.sti-innsbruck.at Layering Issues Syntax –Only binary relations in RDF –Verbose syntax –No limitations on graph in RDF Every graph is valid Semantics –Malformed graphs –Use of vocabulary in language e.g. –Meta-classes e.g.,, 18
19
www.sti-innsbruck.at Stack of Languages XML –Surface syntax, no semantics XML Schema –Describes structure of XML documents RDF –Datamodel for “relations” between “things” RDF Schema –RDF Vocabulary Definition Language OWL –A more expressive Vocabulary Definition Language 19 This and following slides in part due to Frank van Harmelen http://www.cs.vu.nl/~frankh/spool/SemWebSlides/OWL.ppt http://www.cs.vu.nl/~frankh/spool/SemWebSlides/OWL.ppt
20
www.sti-innsbruck.at RDF Schema Recap RDFS provides –Classes –Class hierarchies –Properties –Property hierarchies –Domain and range restrictions RDFS does not provide –Property characteristics (inverse, transitive,...) –Local range restrictions –Complex concept definitions –Cardinality restrictions –Disjointness axioms 20
21
www.sti-innsbruck.at Extending RDF Schema OWL extends RDF Schema to a full-fledged knowledge representation language for the Web –Logical expressions (and, or, not) –(In)equality –Local properties –Required/optional properties –Required values –Enumerated classes –Symmetry, inverse 21
22
www.sti-innsbruck.at TECHNICAL SOLUTION The Web Ontology Language 22
23
www.sti-innsbruck.at Design Goals for OWL Shareable Changing over time Interoperability Inconsistency detection Balancing expressivity and complexity Ease of use Compatible with existing standards Internationalization 23
24
www.sti-innsbruck.at Requirements for OWL Ontologies are object on the Web with their own meta- data, versioning, etc... Ontologies are extendable 24 From Grigoris Antoniou and Frank van Harmelen: A Semantic Web Primer, MIT Press 2004
25
www.sti-innsbruck.at Requirements for OWL Ontologies are object on the Web with their own meta- data, versioning, etc... Ontologies are extendable They contain classes, properties, data-types, range/domain, individuals Equality (for classes, for individuals) Classes as instances Cardinality constraints XML syntax 25
26
www.sti-innsbruck.at Objectives for OWL Objectives: –Layered language –Complex datatypes –Digital signatures –Decidability (in part) –Local unique names (in part) Disregarded: –Default values –Closed world option –Property chaining –Arithmetic –String operations –Partial imports –View definitions –Procedural attachments 26 A logical system or theory is decidable if there exists an effective method such that for every formula in the system the method is capable of deciding whether the formula is valid in the system or not. [http://www.wikipedia.org]http://www.wikipedia.org [http://www.w3.org/TR/webont-req/]
27
www.sti-innsbruck.at Language Layers of OWL OWL Lite –Classification hierarchy –Simple constraints OWL DL –Maximal expressiveness while maintaining tractability –Standard formalization in a DL OWL Full –Very high expressiveness –Losing tractability –All syntactic freedom of RDF (self-modifying) 27
28
www.sti-innsbruck.at Language Layers of OWL OWL Lite –Classification hierarchy –Simple constraints OWL DL –Maximal expressiveness while maintaining tractability –Standard formalization in a DL OWL Full –Very high expressiveness –Losing tractability –All syntactic freedom of RDF (self-modifying) 28 Problems that are solvable in theory but cannot be solved in practice are called intractable. [http://www.wikipedia.org]http://www.wikipedia.org
29
www.sti-innsbruck.at Features of OWL Language Layers OWL Lite –(sub)classes, individuals –(sub)properties, domain, range –conjunction –(in)equality –cardinality 0/1 –datatypes –inverse, transitive, symmetric properties –someValuesFrom –allValuesFrom OWL DL –Negation –Disjunction –Full cardinality –Enumerated types –hasValue OWL Full –Meta-classes –Modify language 29
30
www.sti-innsbruck.at OWL Full No restriction on use of vocabulary (as long as legal RDF) –Classes as instances (and much more) RDF style model theory –Reasoning using FOL engine –Semantics should correspond to OWL DL for restricted KBs 30
31
www.sti-innsbruck.at OWL DL Use of vocabulary restricted –Can’t be used to do “nasty things” (e.g. modify OWL) –No classes as instances –Defined by abstract syntax Standard DL-based model theory –Direct correspondence with a DL –Partial reasoning via DL engines –Reasoning for full language via FOL engines No need for axiomatization Built-in datatypes required for performance 31
32
www.sti-innsbruck.at OWL Lite No explicit negation or union Restricted cardinality (0/1) No nominals (oneOf) DL-based semantics –Reasoning via DL engines (+ datatypes) Semantically, only small restriction on OWL DL –No nominals –No arbitrary cardinality 32
33
www.sti-innsbruck.at OWL and Description Logics OWL Lite corresponds to the DL SHIN (D) –Named classes (A) –Named properties (P) –Individuals (C(o)) –Property values (P(o, a)) –Intersection (C ⊓ D) –Union(!) (C ⊔ D) –Negation(!) (¬C) –Existential value restrictions ( ∃ P.C) –Universal value restrictions ( ∀ P.C) –Unqualified number restrictions ( ≥ nP, ≤ nP, = nP) OWL DL corresponds to the DL SHOIN (D) –Property value ( ∃ P.{o}) –Enumeration ({o 1,..., o n }) 33
34
www.sti-innsbruck.at OWL Constructs 34 + XML Schema datatypes: int, string, real, etc... ∃
35
www.sti-innsbruck.at OWL Axioms 35
36
www.sti-innsbruck.at OWL Full is not a Description Logic OWL Lite has strong syntactic restrictions, but only limited semantics restrictions, compared with OWL DL –Negation can be encoded using disjointness –With negation and conjunction, you can encode disjunction Class(C complete unionOf(B C)) is equivalent to: DisjointClasses(not B B) DisjointClasses(not C C) Class(not B and not C complete not B not C) DisjointClasses(notB and not C B or C) Class(C complete not B and not C) More on OWL Species 36
37
www.sti-innsbruck.at More on Layering For an OWL DL-restricted KB, OWL Full semantics is not equivalent to OWL DL semantics John friend Susan OWL Full entails: John rdf:type owl:Thing Susan rdf:type owl:Thing friend rdf:type owl:ObjectProperty John rdf:type _:x _:x owl:onProperty friend _:x owl: minCardinality ”1”ˆˆxsd:nonNegativeInteger 37
38
www.sti-innsbruck.at Syntaxes of OWL RDF –Official exchange syntax –Hard for humans –RDF parsers are hard to write! UML –Large user base XML –Not the RDF syntax –Better for humans –More XML than RDF tools available Abstract syntax –Not defined for OWL Full –Human readable 38
39
www.sti-innsbruck.at OWL in RDF/XML Example from [OwlGuide]:... <rdf:RDF xmlns:vin=”http://www.w3.org/TR/2004/REC−owl−guide−20040210/wine#” xmlns:food=”http://www.w3.org/TR/2004/REC−owl−guide−20040210/food#”... > wine vin...... 39
40
www.sti-innsbruck.at OWL in RDF/XML Example from [OwlGuide]:... <rdf:RDF xmlns:vin=”http://www.w3.org/TR/2004/REC−owl−guide−20040210/wine#” xmlns:food=”http://www.w3.org/TR/2004/REC−owl−guide−20040210/food#”... > wine vin...... 40 From Grigoris Antoniou and Frank van Harmelen: A Semantic Web Primer, MIT Press 2004
41
www.sti-innsbruck.at OWL Abstract Syntax Class(professor partial ) Class(associateProfessor partial academicStaffMember) DisjointClasses(associateProfessor assistantProfessor) DisjointClasses(professor associateProfessor) Class(faculty complete academicStaffMember) 41
42
www.sti-innsbruck.at OWL Abstract Syntax In DL syntax: associateProfessor ⊑ academicStaffMember associateProfessor ⊑ ¬assistantProfessor professor ⊑ ¬associateProfessor faculty ≡ academicStaffMember 42 Class(professor partial ) Class(associateProfessor partial academicStaffMember) DisjointClasses(associateProfessor assistantProfessor) DisjointClasses(professor associateProfessor) Class(faculty complete academicStaffMember)
43
www.sti-innsbruck.at More Examples DatatypeProperty(age range(xsd:nonNegativeInteger)) ObjectProperty(lecturesIn) ObjectProperty(isTaughtBy domain(course) range(academicStaffMember)) SubPropertyOf(isTaughtBy involves) ObjectProperty(teaches inverseOf(isTaughtBy) domain(academicStaffMember) range(course)) EquivalentProperties(lecturesIn teaches) ObjectProperty(hasSameGradeAs Transitive Symmetric domain(student) range(student)) 43
44
www.sti-innsbruck.at More Examples In DL syntax: ⊤ ⊑ ∀ age.xsd:nonNegativeInteger ⊤ ⊑ ∀ isTaughtBy −.course ⊤ ⊑ ∀ isTaughtBy.academicStaffMember isTaughtBy ⊑ involves teaches ≡ isTaughtBy − ⊤ ⊑ ∀ teaches −.academicStaffMember ⊤ ⊑ ∀ teaches.course lecturesIn ≡ teaches hasSameGradeAs + ⊑ hasSameGradeAs hasSameGradeAs ≡ hasSameGradeAs − ⊤ ⊑ ∀ hasSameGradeAs −.student ⊤ ⊑ ∀ hasSameGradeAs.student 44 DatatypeProperty(age range(xsd:nonNegativeInteger)) ObjectProperty(lecturesIn) ObjectProperty(isTaughtBy domain(course) range(academicStaffMember)) SubPropertyOf(isTaughtBy involves) ObjectProperty(teaches inverseOf(isTaughtBy) domain(academicStaffMember) range(course)) EquivalentProperties(lecturesIn teaches) ObjectProperty(hasSameGradeAs Transitive Symmetric domain(student) range(student))
45
www.sti-innsbruck.at More Examples Individual(949318 type(lecturer)) Individual(949352 type(academicStaffMember) value(age ”39”ˆˆ&xsd;integer)) ObjectProperty(isTaughtBy Functional) Individual(CIT1111 type(course) value(isTaughtBy 949352) value(isTaughtBy 949318)) DifferentIndividuals(949318 949352) DifferentIndividuals(949352 949111 949318) 45
46
www.sti-innsbruck.at More Examples In DL syntax: 949318 : lecturer 949352 : academicStaffMember 949352, ”39”ˆˆ&xsd; integer :age ⊤ ⊑ ≤1isTaughtBy CIT1111 : course CIT1111, 949352 :isTaughtBy CIT1111, 949318 :isTaughtBy 949318 ≠ 949352 949352 ≠ 949111 949111 ≠ 949318 949352 ≠ 949318 46 Individual(949318 type(lecturer)) Individual(949352 type(academicStaffMember) value(age ”39”ˆˆ&xsd;integer)) ObjectProperty(isTaughtBy Functional) Individual(CIT1111 type(course) value(isTaughtBy 949352) value(isTaughtBy 949318)) DifferentIndividuals(949318 949352) DifferentIndividuals(949352 949111 949318)
47
www.sti-innsbruck.at More Examples Class(firstYearCourse partial restriction(isTaughtBy allValuesFrom (Professor))) Class(mathCourse partial restriction(isTaughtBy hasValue (949352))) Class(academicStaffMember partial restriction (teaches someValuesFrom (undergraduateCourse))) Class(course partial restriction (isTaughtBy minCardinality (1))) Class(department partial restriction (hasMember minCardinality(10)) restriction (hasMember maxCardinality(30))) 47
48
www.sti-innsbruck.at More Examples In DL syntax: firstYearCourse ⊑ ∀ isTaughtBy.Professor mathCourse ⊑ ∃ isTaughtBy.{949352} academicStaffMember ⊑ ∃ teaches.undergraduateCourse course ⊑ ≥ 1isTaughtBy department ⊑ ≥ 10hasMember ⊓ ≤ 30hasMember 48 Class(firstYearCourse partial restriction(isTaughtBy allValuesFrom (Professor))) Class(mathCourse partial restriction(isTaughtBy hasValue (949352))) Class(academicStaffMember partial restriction (teaches someValuesFrom (undergraduateCourse))) Class(course partialrestriction (isTaughtBy minCardinality (1))) Class(department partial restriction (hasMember minCardinality(10)) restriction (hasMember maxCardinality(30)))
49
www.sti-innsbruck.at More Examples Class(course partial complementOf(staffMember)) Class(peopleAtUni complete unionOf(staffMember student)) Class(facultyInCS complete intersectionOf(faculty restriction (belongsTo hasValue (CSDepartment)))) Class(adminStaff complete intersectionOf(staffMember complementOf(unionOf(faculty techSupportStaff)))) 49
50
www.sti-innsbruck.at More Examples In DL syntax: course ⊑ ¬staffMember peopleAtUni ≡ staffMember ⊔ student facultyInCS ≡ faculty ⊓ ∃ belongsTo.{CSDepartment} adminStaff ≡ staffMember ⊓ ¬(faculty ⊔ techSupportStaff ) 50 Class(course partial complementOf(staffMember)) Class(peopleAtUni complete unionOf(staffMember student)) Class(facultyInCS complete intersectionOf(faculty restriction (belongsTo hasValue (CSDepartment)))) Class(adminStaff complete intersectionOf(staffMember complementOf(unionOf(faculty techSupportStaff))))
51
www.sti-innsbruck.at Tool Support for OWL Ontology editors –Protégé (http://protege.stanford.edu/)http://protege.stanford.edu/ –OilED (http://oiled.man.ac.uk/) Reasoners –Hoolet (http://owl.man.ac.uk/hoolet/)http://owl.man.ac.uk/hoolet/ –Fact++ (http://owl.man.ac.uk/factplusplus/)http://owl.man.ac.uk/factplusplus/ –KAON2 (http://kaon2.semanticweb.org/) –Pellet (http://clarkparsia.com/pellet/) APIs –OWL-API (http://owlapi.sourceforge.net/)http://owlapi.sourceforge.net/ –Jena (http://jena.sourceforge.net/) 51
52
www.sti-innsbruck.at ILLUSTRATION BY A LARGER EXAMPLE An example of usage of OWL 52
53
www.sti-innsbruck.at The Wine Ontology 53 An Ontology describing wine domain One of the most widely used examples for OWL and referenced by W3C. There is also a wine agent associated to this ontology that performs OWL queries using a web-based ontological mark-up language. That is, by combining a logical reasoner with an OWL ontology. The agent's operation can be described in three parts: consulting the ontology, performing queries and outputting results. Available here: http://www.w3.org/TR/owl-guide/
54
www.sti-innsbruck.at Wine Ontology Schema 54 [http://mysite.verizon.net/jflynn12/VisioOWL/VisioOWL.htm]
55
www.sti-innsbruck.at Wine Ontology OWL Example 1 … 55
56
www.sti-innsbruck.at EXTENSIONS 56
57
www.sti-innsbruck.at From Description Logic to Horn Logic The practical experience in building applications has revealed several shortcomings of OWL, and hence Description Logics for modeling knowledge Feature that ontology engineers are missing: –Higher Relational Expressivity –Polyadic Predicates –Close-World Reasoning –Integrity Constraints –Modeling Exceptions Proper combination of Description Logic and Horn Logic can define extensions of the language to support such features –OWL-Flight 57
58
www.sti-innsbruck.at WRAP-UP That’s almost all for day… 58
59
www.sti-innsbruck.at Things to Keep in Mind (or Summary) Limitations of RDFS –Expressivity limitations –Problems with layering Web Ontology Language OWL –Design of OWL –OWL Layering –OWL and Description Logics –OWL Syntaxes 59
60
www.sti-innsbruck.at Further Reading Mandatory reading –Semantic Web Primer Chapters 4 –[OWL Guide] http://www.w3.org/TR/owl-guide/ –Ian Horrocks, Peter F. Patel-Schneider, and Frank van Harmelen. From SHIQ and RDF to OWL: The making of a web ontology language. Journal of Web Semantics, 1(1):7, 2003. http://www.cs.vu.nl/%7Efrankh/abstracts/JWS03.html Further reading –Jos de Bruijn: Using Ontologies. Enabling Knowledge Sharing and Reuse on the Semantic Web. DERI Technical Report DERI-2003-10-29, 2003. http://www.deri.org/publications/techpapers/documents/DERI-TR-2003-10-29.pdf –[OWL Reference] http://www.w3.org/TR/owl-ref/ –[OWL Abstract syntax and Semantics] http://www.w3.org/TR/owl-semantics –J. de Bruijn, A. Polleres, R. Lara, and D. Fensel: OWL DL vs. OWL Flight: Conceptual modeling and reasoning on the semantic web. In Proceedings of the 14th International World Wide Web Conference (WWW2005), Chiba, Japan, 2005. ACM. 60
61
www.sti-innsbruck.at Next Lecture 61 #DateTitle 1Introduction 2Semantic Web Architecture 3RDF and RDF Schema 4Web of hypertext (RDFa, Microformats) and Web of data 5Semantic Annotation 6Repositories and SPARQL 7The Web Ontology Language 8Rule Interchange Format 9Web-scale Reasoning 10Social Semantic Web 11Ontologies and the Semantic Web 12Semantic Web Services 13Tools 14Applications 15Exam
62
www.sti-innsbruck.at Questions? 62
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.