OWL Full Semantics


Published on

2008 09-06 owl full

Published in: Technology, Education
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

OWL Full Semantics

  1. 1. OWL Full Semantics -- RDF-Compatible Model-Theoretic Semantics by Peter F. Patel-Schneider, Patrick Hayes and Ian Horrocks W3C Recommendation, 2004 http://www.w3.org/TR/owl-semantics/rdfs.html Presented by Jie Bao RPI Sept 11, 2008 Part 2 of RDF/OWL Semantics Tutorial http://tw.rpi.edu/wiki/index.php/RDF_and_OWL_Semantics
  2. 2. Disclaimer • The semantics and inference rules about RDFS Plus /RDFS 3.0 are rolely Jie Bao’s own and do not reflect the positions of either W3C (or any of its working group) or any of the RDFS Plus /RDF 3.0 proposals (citation on the page RDFS Plus: a Rule Subset of OWL ). 2
  3. 3. A Layer Cake of Languages OWL2 OWL You Are Here (RDFS Plus) RDF(S) 3
  4. 4. Not Covered in the Talk • Datatype • Annotation • Ontology house keeping (e.g., imports) • OWL comprehension conditions 4
  5. 5. Outline • Review of RDF Semantics • OWL Overview • RDFS 3.0 Semantics • OWL Full Universe • OWL Full Interpretation Conditions 5
  6. 6. RDF(S) Vocabulary RDF RDFS rdf:type rdfs:domain rdf:Property rdfs:range rdfs:Resource rdfs:Class rdfs:subClassOf rdfs:subPropertyOf … others (rectification, annotation, literal, collection, container) 6
  7. 7. RDFS Interpretation V vocabulary extension of classes IS ICEXT rdf:Property IP IC IEXT rdfs:Class IR rdfs:Resource IR x IR 7 extension of properties
  8. 8. Outline • Review of RDF Semantics • OWL Overview • RDFS Plus Semantics • OWL Full Universe • OWL Full Interpretation Conditions 8
  9. 9. OWL Family OWL Full OWL DL (SHOIN(D)) OWL Lite (SHIF(D)) RDFS Plus (or RDFS 3.0) 9
  10. 10. From RDF to OWL 2 Full OWL 2 Full Covered next time RDFS+ RDFS OWL 2 RL OWL Full RDF 10
  11. 11. OWL Extensions to RDFS • Constructing classes: – e.g., ∀∃ ∧ ∨ ¬ • Constructing properties: – e.g., inverseOf • Property characteristics: – e.g., transitive, functional, symmetric • Mapping – Equality, non-equality (between classes, properties, ind.) 11
  12. 12. Direct MT Sem. vs RDF MT Sem. • Direct Model-Theoretical Semantics – For OWL DL (thus also OWL Lite) – Simpler than the RDF MT Semantics – Corresponds to the semantics of DL SHOIN(D) – Decidability guaranteed • RDF-Compatible Model-Theoretical Semantics – For OWL Full (thus also OWL DL and OWL Lite) – Extends RDFS Semantics 12
  13. 13. Outline • Review of RDF Semantics • OWL Overview • RDFS Plus Semantics • OWL Full Universe • OWL Full Interpretation Conditions 13
  14. 14. RDFS Plus: a Rule Subset of OWL Design intuition: Scalable, easier to implement using rule inference • RDFS Plus / OWL Prime / RDFS 3.0 – Dean Allemang, James Hendler. Semantic Web for the Working Ontologist, Chapter 7 – Oracle: OWL Prime http://www.w3.org/2007/OWL/wiki/OracleOwlPrime • Related proposals – AllegroGraph RDFS++: http://agraph.franz.com/support/learning/Overview-of-RDFS++.lhtml – OWL 2 RL http://www.w3.org/2007/OWL/wiki/Profiles#OWL_2_RL 14
  15. 15. RDFS Plus Vocabulary Equality Property Characteristics owl:equivalentClass, owl:inverseOf owl:equivalentProperty, owl:TransitiveProperty, owl:sameAs owl:SymmetricProperty, owl:FuncionalProperty, owl:InverseFunctionalProperty owl:ObjectProperty, owl:DatatypeProperty + RDFS vocabulary 15
  16. 16. RDFS Plus Semantics If E is then IS(E) ∈IC and IEXT (IS (E))=IOOP owl:ObjectProperty ⊆IEXT(IP) IS(E) ∈IC and IEXT (IS (E))=IODP owl:DatatypeProperty ⊆IEXT(IP) ⊆ If E is ∈ then <x,y>∈IEXT (IS (E)) iff owl:equivalentClass x,y∈IC and ICEXT(x)=ICEXT(y) owl:equivalentProperty x,y∈IOOP∪IODP and IEXT (x) = IEXT (y) owl:sameAs x=y 16
  17. 17. RDFS Plus Semantics If E is ∈ then c∈ICEXT (IS (E)) iff ∈ ∈ <x,y>, <y,z>∈IEXT (c) implies <x,z>∈IEXT (c) owl:TransitiveProperty and c ∈IOOP <x,y> ∈ IEXT (c) implies <y, x>∈IEXT (c) ∈ owl:SymmetricProperty and c ∈IOOP <x,y1>, <x,y2> ∈ IEXT (c) implies y1 = y2 owl:FuncionalProperty and c∈IOOP ∪ IODP ∈ <x ,y>, <x2,y>∈IEXT (c) implies x1 = x2 owl:InverseFunctionalProperty 1 and c∈IOOP If E is ∈ then <x,y>∈IEXT (IS(E)) iff owl:inverseOf x,y∈IOOP and <u,v>∈IEXT (x) iff <v,u>∈IEXT (y) ∈ ∈ 17
  18. 18. RDFS Plus Semantics Extensional Semantic Conditions c, d ∈ IC, <c,d> ∈ IEXT(IS(rdfs:subClassOf)) ICEXT(c) ⊆ ICEXT(d) p, q ∈ IP, <p,q> ∈ IEXT(IS(rdfs:subPropertyOf)) IEXT(p) ⊆ IEXT(q) Iff* p ∈ IP, c ∈ IC, <p,c> ∈ IEXT(IS(rdfs:domain)) <x,y> ∈ IEXT(p) → x ∈ ICEXT(c) p ∈ IP, c ∈ IC, <p,c> ∈ IEXT(IS(rdfs:range)) <x,y> ∈ IEXT(p) → y ∈ ICEXT(c) * By default, RDFS uses “only if”, OWL 1 Full and OWL 2 Full uses “iff” 18
  19. 19. Inference Rules Some examples: If then (?x, owl:sameAs, ?y) (?y, owl:sameAs, ?x) (?c1, owl:equivalentClass, ?c2) (?x, rdf:type, ?c2) (?x, rdf:type, ?c1) (?p, rdf:type, owl:FunctionalProperty) (?y1, owl:sameAs, ?y2) (?x, ?p, ?y1) T(?x, ?p, ?y2) (?p1, owl:inverseOf, ?p2) (?x, ?p1, ?y) (?y, ?p2, ?x) (?p, rdfs:domain, ?c) (?x, ?p, ?y) (?x, rdf:type, ?c) Complete rule set is in backup slides 19
  20. 20. Outline • Review of RDF Semantics • OWL Overview • RDFS Plus Semantics • OWL Full Universe • OWL Full Interpretation Conditions 20
  21. 21. OWL Vocabulary Classes Class Construction owl:Class owl:complementOf Boolean owl:Thing owl:intersectionOf owl:Nothing owl:unionOf owl:Restriction qualification qualification cardinality owl:allValuesFrom owl:onProperty owl:someValuesFrom Non-equality owl:hasValue owl:differentFrom owl:cardinality owl:disjointWith owl:minCardinality owl:AllDifferent owl:maxCardinality owl:distinctMembers owl:oneOf + RDFS Plus vocabulary 21
  22. 22. Recall: RDFS Interpretation V vocabulary extension of classes IS ICEXT rdf:Property IP IC IEXT rdfs:Class IR rdfs:Resource IR x IR 22 extension of properties
  23. 23. OWL Full Interpretation V vocabulary extension of classes IS ICEXT rdf:Property = {owl:ObjectProperty, owl:DatatypeProperty, IP IC owl:AnnotationProperty, owl:OntologyProperty} IEXT rdfs:Class IR =owl:Class rdfs:Resource =owl:Thing IR x IR 23 extension of properties
  24. 24. OWL Full vs OWL DL OWL-DL OWL Full Relation to owl:Thing <=rdfs:Resource owl:Thing = rdfs:Resource RDFS universe owl:Class <= rdfs:Class owl:Class = rdfs:Class P <= rdf:Property P = rdf:Property Pairwise Yes No Disjointness Decidability Yes No P is the union of owl:ObjectProperty, owl:DatatypeProperty, owl:AnnotationProperty, and owl:OntologyProperty Note: in OWL Full, an element can be an individual (owl:Thing element), a class (owl:Class element) and an property (P element) at the same time. 24
  25. 25. True or False? In OWL Full • owl:Thing rdfs:subClassOf owl:Class • owl:Class rdfs:subClassOf owl:Thing • owl:Thing rdf:type owl:Class • owl:Class rdf:type owl:Class • rdf:Property rdf:type owl:Class Refer: • OWL RDF Schema: http://www.w3.org/2002/07/owl • Thing and Class: http://ontolog.cim3.net/forum/ontolog-forum/2008- 09/threads.html#00004 25
  26. 26. Outline • Review of RDF Semantics • OWL Overview • RDFS Plus Semantics • OWL Full Universe • OWL Full Interpretation Conditions 26
  27. 27. OWL Classes and Properties then If E is ∈ IS (E)∈ ICEXT(IS (E))= and owl:Class IC IOC IOC=IC owl:Thing IOC IOT IOT=IR and IOT ≠ ∅ owl:Nothing IOC {} ∈ then if e∈ICEXT(IS If E is Note (E)) then Instances of OWL classes are OWL owl:Class ICEXT (e)⊆IOT individuals. Values for individual-valued owl:ObjectProperty IEXT (e)⊆IOT×IOT properties are OWL individuals. 27
  28. 28. Boolean Operations and Enumeration If E is ∈ then <x,y>∈IEXT(IS (E)) iff owl:complementOf x,y∈ IOC and ICEXT(x)=IOT-ICEXT(y) x∈IOC and y is a sequence of y1,…yn over IOC owl:unionOf and ICEXT(x) = ICEXT(y1) ∪…∪ ICEXT(yn) x∈IOC and y is a sequence of y1,…yn over IOC owl:intersectionOf and ICEXT(x) = ICEXT(y1) ∩…∩ ICEXT(yn) x∈IC and y is a sequence of y1,…yn over IOT or owl:oneOf over ILV and ICEXT(x) = {y1,..., yn} If E is and ∈ then if <x,l>∈IEXT(IS (E)) then l is a sequence of y1,…yn owl:oneOf x∈IOC over IOT 28
  29. 29. Restriction (Anonymous Class) then If E is IS(E)∈ ICEXT(IS(E))= and owl:Restriction IC IOR IOR⊆IOC If E is and <x,y>∈IEXT(IS(E))) ∧ ∈ then x∈IOR, y∈IOC, p∈IOOP, and ICEXT(x) = ∈ ∈ ∈ <x,p>∈IEXT(IS(owl:onProperty))) ∈ owl:allValuesFrom {u∈IOT | <u,v>∈IEXT(p) implies v∈ICEXT(y) } owl:someValuesFrom {u∈IOT | ∃ <u,v>∈IEXT(p) such that v∈ICEXT(y) } then x∈IOR, y∈IOT, p∈IOOP, and ICEXT(x) = ∈ ∈ ∈ owl:hasValue {u∈IOT | <u, y>∈IEXT(p) } then x∈IOR, y is a non-negative integer, p∈IOOP, ∈ ∈ and ICEXT(x) = owl:minCardinality {u∈IOT | card({v ∈ IOT : <u,v>∈IEXT(p)}) ≥ y } owl:maxCardinality, owl:cardinality defined similarly Note: Content on this page is simplified by omitting datatype properties 29
  30. 30. Non-equality If E is ∈ then <x,y>∈IEXT (IS(E)) iff owl:disjointWith x,y∈IOC and ICEXT(x)∩ICEXT(y)={} owl:differentFrom x≠y More: Comprehension conditions (which require the existence of appropriate OWL descriptions and data ranges ) – not covered 30
  31. 31. Conclusions RDFS Plus • A scalable rule subset of OWL Full, with MT semantics • Equality + Property Characteristics • Has extensional semantic conditions (while RDFS has not) OWL Full • Extends RDFS Plus, with MT semantics • OWL Full universe = RDFS universe – rdfs:Class = owl:Class ; rdfs:Resource = owl:Thing; owl:ObjectProperty <= rdf:Property • No distinction between classes, properties and individuals Next talk: OWL 2Full 31
  32. 32. Further Reading • Ian Horrocks, Peter F. Patel-Schneider, Frank van Harmelen - From SHIQ and RDF to OWL: the making of a Web Ontology Language. In J. Web Sem. 1(1):7-26, 2003.(URL) • Turner, David; Carroll, Jeremy J. Comparing OWL Semantics. Technical Reports HPL-2007-146. HP Lab, 2007. (URL) 32
  33. 33. Backup 33
  34. 34. Other OWL Vocabulary • owl:DatatypeProperty, owl:DataRange • owl:Ontology • owl:imports, owl:priorVersion, owl:backwardCompatibleWith, and owl:incompatibleWith, owl:versionInfo • owl:OntologyProperty • owl:DeprecatedClass, owl:DeprecatedProperty • owl:AnnotationProperty 34
  35. 35. Exercise • Prove tautology in RDFS: – rdfs:subPropertyOf rdfs:subPropertyOf rdfs:subPropertyOf – rdfs:domain rdfs:domain rdf:Property – rdfs:doman rdfs:range rdf:Class – rdf:Property rdf:type rdfs:Class • Prove tautology in OWL Full: – owl:sameAs owl:sameAs owl:sameAs 35
  36. 36. d RDFS Plus Rules (1) If then (?s, owl:sameAs, ?s) (?s, ?p, ?o) (?p, owl:sameAs, ?p) (?o, owl:sameAs, ?o) (?x, owl:sameAs, ?y) (?y, owl:sameAs, ?x) (?x, owl:sameAs, ?y) (?x, owl:sameAs, ?z) (?y, owl:sameAs, ?z) (?s, owl:sameAs, ?s‘) (?s, ?p, ?o) (?s', ?p, ?o) (?p, owl:sameAs, ?p‘) (?s, ?p, ?o) (?s, ?p', ?o) (?o, owl:sameAs, ?o‘) (?s, ?p, ?o) (?s, ?p, ?o') Equality rules 36
  37. 37. RDFS Plus Rules (2) If then (?c1, owl:equivalentClass, ?c2) (?x, rdf:type, ?c2) (?x, rdf:type, ?c1) (?c1, owl:equivalentClass, ?c2) (?x, rdf:type, ?c1) (?x, rdf:type, ?c2) (?c1, rdfs:subClassOf, ?c2) (?c1, owl:equivalentClass, ?c2) (?c2, rdfs:subClassOf, ?c1) (?p1, rdfs:subPropertyOf, ?p2) (?p1, owl:equivalentProperty, ?p2) (?p2, rdfs:subPropertyOf, ?p1) (?p1, owl:equivalentProperty, ?p2) (?x, ?p2, ?y) (?x, ?p1, ?y) (?p1, owl:equivalentProperty, ?p2) (?x, ?p1, ?y) (?x, ?p2, ?y) Equality rules 37
  38. 38. RDFS Plus Rules (3) If then (?p, rdf:type, owl:FunctionalProperty) (?y1, owl:sameAs, ?y2) (?x, ?p, ?y1) T(?x, ?p, ?y2) (?p, rdf:type, owl:InverseFunctionalProperty) (?x1, owl:sameAs, ?x2) (?x1, ?p, ?y) T(?x2, ?p, ?y) (?p, rdf:type, owl:SymmetricProperty) (?y, ?p, ?x) (?x, ?p, ?y) (?p, rdf:type, owl:TransitiveProperty) (?x, ?p, ?z) (?x, ?p, ?y) (?y, ?p, ?z) (?p1, owl:inverseOf, ?p2) (?x, ?p1, ?y) (?y, ?p2, ?x) (?p1, owl:inverseOf, ?p2) (?x, ?p2, ?y) (?y, ?p1, ?x) Property characteristic rules 38
  39. 39. RDFS Plus Rules (4) If then (?c, rdfs:subClassOf, ?c) (?c, rdf:type, owl:Class) (?c, owl:equivalentClasses, ?c) (?p, rdfs:subPropertyOf, ?p) (?p, rdf:type, owl:ObjectProperty) (?p, owl:equivalentProperty, ?p) (?p, rdfs:subPropertyOf, ?p) (?p, rdf:type, owl:DatatypeProperty) (?p, owl:equivalentProperty, ?p) OWL Class and Property Declaration 39
  40. 40. RDFS Plus Rules (5) If then (?p, rdf:type rdf:Property) (?x, ?p, ?y) (?x, rdf:type rdfs:Resource) (?y, rdf:type rdfs:Resource) (?p, rdf:type rdf:Property) (?p, rdfs:subPropertyOf ?p) (?c, rdfs:subClassOf rdfs:Resource) (?c, rdf:type rdfs:Class) (?c, rdfs:subClassOf ?c) (?p1, rdfs:subPropertyOf, ?p2) (?x, ?p1, ?y) (?x, ?p2, ?y) (?c1, rdfs:subClassOf, ?c2) (?x, rdf:type, ?c1) (?x, rdf:type, ?c2) (?c1, rdfs:subClassOf, ?c2) (?c2, (?c1, rdfs:subClassOf, ?c3) rdfs:subClassOf, ?c3) (?p1, rdfs:subPropertyOf, ?p2) (?p2, (?p1, rdfs:subPropertyOf, ?p3) rdfs:subPropertyOf, ?p3) RDFS Rules 40
  41. 41. RDFS Plus Rules (6) If then (?p, rdfs:domain, ?c) (?x, ?p, ?y) (?x, rdf:type, ?c) (?p, rdfs:range, ?c) (?x, ?p, ?y) (?y, rdf:type, ?c) Rules due to Extensional Semantic Conditions (?p, rdfs:domain, ?c1) (?c1, rdfs:subClassOf, ?c2) (?p, rdfs:domain, ?c2) (?p2, rdfs:domain, ?c) (?p1, rdfs:subPropertyOf, ?p2) (?p1, rdfs:domain, ?c) (?p, rdfs:range, ?c1) (?c1, rdfs:subClassOf, ?c2) (?p, rdfs:range, ?c2) (?p2, rdfs:range, ?c) (?p1, rdfs:subPropertyOf, ?p2) (?p1, rdfs:range, ?c) RDFS Rules (domain & range) 41