452 likes | 611 Views
The Semantic Web. Presented by Zhimin Chen. HTML Is Human Readable, Not Machine understandable. A Course Schedule Web Page Consequence: agents can’t effectively process information on the web automatically. XML May Help, But Can Only Help. XML fragment for the course schedule. …
E N D
The Semantic Web Presented by Zhimin Chen
HTML Is Human Readable, Not Machine understandable • A Course Schedule Web Page • Consequence: agents can’t effectively process information on the web automatically
XML May Help, But Can Only Help • XML fragment for the course schedule … <course-offered> <catalog> 92809 </catalog> <course> <number> 500 </number> <session> 201 </session> <name> Algorithm Design </name> </course> <room> cisr 104 </room> <instructor> Evans </instructor> …
XML May Help, But Can Only Help (Cont’d) • Tags in XML carry no semantics <course> <ID> 500 </ID> <Session> 201 </Session> <Name> Algorithm Design </Name> </course> is no more meaningful than <H1> <H2> 500 </H2> <H3> 201 </H3> <H4> Algorithm Design </H4> </H1>
Expressing Meanings Of Tags • Semantic network, a graph composed of • Two Kinds of Nodes • Taxonomic categories or property (labeled by relation constants) • Objects in the domain (labeled by object constants) • Three Kinds of Arcs • IS-A arc • Set membership arc • Function arc • Meanings of tags as taxonomic concepts or property
Example Of Semantic Network [Tim Berners-Lee, James Hendler and Ora Lassila]
Use Case – Precise Search • Current search engine • Key word based • Single page only • Semantic search • Assemble knowledge spanning many pages • Example Scenario: locating a person • her last name is "Cook“ • she works for a company on your client list • she has a son attending your alma mater, Avondale University
Architecture Of The Semantic Web Where the standard progress stands [Tim Berners-Lee]
Outline of the talk • RDF and RDF Schema • DAML+OIL and OWL • Description Logic
RDF • An RDF statement is a triple <subject, property, value> • Reification is statement about statement, i.e., subject is a statement • Each subject identified by a URI • Semantics represented as a set of triples and serialized as XML
RDF Example <rdf:Description rdf:about=“http://www.bob-stacy.com/cook”> <works-for rdf:resource=“www.bob-stacy.com” /> </rdf:Description> http://www.bob-stacy.com http://www.bob-stacy.com/cook <rdf:Description rdf:about=“http://www.bob-stacy.com/cook”> <lives-in>Johannesburg</lives-in> </rdf:Description>
RDF Schema • RDF schema provides a way to define the meanings of tags • A tag is a class • Employee rdf:type rdf:class • <rdf:Description rdf:ID="Employee"> <rdf:type rdf:resource = "http://www.w3.org/2000/01/rdf-schema#Class"/> </rdf:Description> • A tag is a property • Works-for rdf:type rdf:property • Works-for rdf:domain Employee • Works-for rdf:range Company
RDF Schema (Cont’d) • XML as a shorthand for RDF descriptions of a semantic network Property Class Class type type type domain range Employee Company Works-for type type Works-for Mrs. Cook Bob-Stacy
RDF Schema (Cont’d) <Company rdf:ID=“Bob-Stacy” /> <Employee rdf:ID=“Cook”> <Works-for rdf:resource=“#Bob-Stacy” /> </Employee>
RDF Schema (Cont’d) • Other modeling mechanisms • Rdf:subClassOf • Rdf:subPropertyOf • Rdf:container and Rdf:collection • Reification (rdf:type is rdf:statement) • daml+oil provides more
Outline of the talk • RDF and RDF Schema • DAML+OIL and OWL • Description Logic
DAML+OIL • DAML+OIL adds richer expressive mechanism to RDF schema • Constraints on properties • Boolean combination of classes • Equivalence and disjointness • Property of property
Constraints On Property • A class is defined as all objects satisfying constraints on property • Universal constraint • E.g.: All objects working for companies <daml:restriction> <daml:onProperty rdf:resource=“#works-for” /> <daml:toClass rdf:resource=“#Company” /> </daml:restriction> • Existential constraint (hasClass and hasValue)
Constraints On Property (Cont’d) • Cardinality constraint (minCardinality, maxCardinality, exactCardinality) • E.g.: All objects having more than 1 child <daml:restriction> <daml:onProperty rdf:resource=“#parentOf” /> <daml:minCardinality> 2 <daml:minCardinality/> </daml:restriction>
Boolean Combination of Classes • Intersection, union, complement • E.g.: all objects working for Bob-Stacy and having more than 1 child <daml:Class ID=“BobStacyParentWorker”> <daml:intersectionOf daml:parseType=“daml:collection”> <daml:restriction> <daml:onProperty rdf:resource=“#works-for” /> <daml:hasValue rdf:resource=“#Bob-Stacy” /> </daml:restriction> <daml:restriction> <daml:onProperty rdf:resource=“#parentOf” /> <daml:minCardinality> 2 <daml:minCardinality/> </daml:restriction> </daml:intersectionOf> </daml:Class>
Equivalence and Disjointness • Equivalence • sameClassAs • samePropertyAs • sameIndividualAs • Disjointness • disjointWith • differentIndividualFrom
Property of property • inverseOf • transitiveProperty • uniqueProperty and unambiguousProperty
OWL • OWL DL DAML + OIL • Add/remove/rename some language constructs • Version management • Knowledge modularization (import) • OWL Full allows class to be an individual (undecidable)
Outline of the talk • RDF and RDF Schema • DAML+OIL and OWL • Description Logic
ALC • Concept descriptions are formed using constructs: • A (atomic concept) • C D (daml:intersectionOf) • C D (daml:unionOf) • C (daml:complementOf) • R.C (daml:toClass) • R.C (daml:hasClass)
SHIQ • ALC plus • Transitive role • R* (daml:transitiveRole) • Concept hierarchy and role hierarchy (subClass and subProperty) • Inverse role • R- (daml:inverseOf) • Qualified number restriction • nR, etc (daml:minCardinality, etc)
Basic Inference Problem • Concept subsumption C T D • Reduction to unsatisfiability • C T D there exists no model I for T s.t. (C D)I is not empty. • Tableau algorithm to find such a model
Tableau • D is a concept • sub(D) is the closure of concept subexpressions in D’s definition • S is a set of individuals • L : S 2sub(D) maps each individual to a subset of sub(D) • E : R 2SS maps each role to a set of pairs of individuals • There is some s in S s.t. D is in L(s)
Tableau For ALC Concepts • T=<S, L, E> is a tableau for ALC concept D if it holds • L(s) does not contain both C and C • If C E L(s), then C L(s) and E L(s) • If C E L(s), then C L(s) or E L(s) • If R.C L(s) and <s,t> E(R), then C L(t) • If R.C L(s), then there is some s s.t. <s,t> E(R) and C L(t) • Further constraints for other concept constructs can be added for more expressive DL.
Tableau Algorithm For ALC • Completion tree • Node x labeled with a set L(x) sub(D) • Edge <x,y> labeled with a set L(<x,y>) of roles occurring in D • Tree expansion rules • - rule: • Condition: C1 C2 L(x) and {C1, C2} L(x) • Action: L(x) {C1, C2} L(x) • - rule: • Condition: C1 C2 L(x) and {C1, C2} L(x) = • Action: for some C {C1, C2} , L(x) {C} L(x)
Tableau Algorithm For ALC (Cont’d) • - rule: • Condition: R.C L(x) and there is a R-successor y of x s.t. C R • Action: L(y) {C} L(y) • - rule: • Condition: R.C L(x) and x has no R-successor y s.t. C L(y) and no other rule is applicable to any of its ancestors • Action: create a R-successor y for x with L(<x,y>)=R and L(y)={C}
Tableau Algorithm For ALC (Cont’d) • A node has clash if {C, C} L(x) • Algorithm starts with a node x labeled with L(x)={D} • Applying expansion rules until • A clash happens • No rules can be further applied to the tree
R clash z {A, A} Tableau Example • Check (R.A) (R.B) R.(A B) • D = (R.A) (R.B) (R.(A B)) {(R.A) (R.B) (R.(A B))} {(R.A), (R.B), (R.(A B))} x R y {A, (A B)} {A, B} {A} {B, A } {B} {B, A B}
Transitive Role and Blocking • + - rule: • Condition: R.C L(x) where R is a transitive role and there is a R-successor y of x s.t. R.C L(y) • Action: L(y) {R.C} L(y) • May lead to infinite loop • Subset blocking: if L(y) is a subset of an ancestor’s label L(x), then block the expansion
L(x)={C, R.C, R.(R.C)} x R y Blocking Example L(x)={C, R.C, R.(R.C)} L(y)={C, R.C} L(y)={C} Blocked
More Expressive DL • For additional concept construct (inverse role, quantifier, etc.), add more expansion rules and blocking rules
backjumping Optimizations • Backjumping L(x)={C1 D1, …, Cn Dn, R.(A B), R.(A)} pruning [Horrocks-Satter-Tobies]
Optimizations (Cont’d) • Absorption • Reasoning w.r.t. axiom C D needs to add (C D) to every node • CN D (CN D) only need to add D (D) to the nodes that contain CN (CN) • Transforming axiom into this form • CN C D CN C D • CN C, CN D CN C D • Similar rules for the cases
Optimizations (Cont’d) • Cache • Cache the satisfiability of L(x) for node x • Caching partial tableaus of concepts to check obvious satisfiability (E.g., merge the tableau of C and D to check satisfiability of C D (and thus C D))
Optimizations (Cont’d) • Lazy expansion of concept • Semantic branching search • C1, …, Cn, C1 … Cn D D • Heuristic guided search • Oldest-first: select the disjunctions dependent on the least recent branching point
Summary • The semantic web tries to make www machine accessible • OWL is the current standard to define vocabulary, and a large part of OWL is DL • Challenges (DB-related) • Scalibility (techniques of reasoning with individual in DL unlikely can scale up) • Query • Ontology design and integration
References • W3C standards: • Resource Description Framework (RDF) Model and Syntax Specification W3C Recommendation 22 February 1999 Ora Lassila, Ralph R. Swick, eds. http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/ • RDF Vocabulary Description Language 1.0: RDF Schema W3C Working Draft Dan Brickley, R.V. Guha, eds. http://www.w3.org/TR/rdf-schema/ • RDF Primer W3C Working Draft Frank Manola, Eric Miller, eds. http://www.w3.org/TR/rdf-primer/ • DAML+OIL (March 2001) Reference Description. Dan Connolly, Frank van Harmelen, Ian Horrocks, Deborah L. McGuinness, Peter F. Patel-Schneider, and Lynn Andrea Stein. W3C Note 18 December 2001. http://www.w3.org/TR/daml+oil-reference • OWL Web Ontology Language Reference W3C Working Draft Mike Dean, Guus Schreiber eds., Frank van Harmelen Jim Hendler Ian Horrocks Deborah L. McGuinness Peter F. Patel-Schneider Lynn Andrea Stein http://www.w3.org/TR/owl-ref/
References (contd.) • Description logic: • Basic Description Logics Description Logic Handbook, edited by F. Baader, D. Calvanese, D.L. McGuinness, D. Nardi, P.F. Patel-Schneider, Cambridge University Press, 2002, pages 47-100. http://www.cs.man.ac.uk/~franconi/dl/course/dlhb/dlhb-02.pdf • Practical Reasoning for Very Expressive Description Logics I. Horrocks and U. Sattler and S. Tobies Logic Journal of the IGPL, Volume 8, Issue 3: May 2000. http://www3.oup.co.uk/igpl/Volume_08/Issue_03/pdf/horrocks1.pdf