Upload
cory-stone
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
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>
<H1><H2> 500 </H2><H3> 201 </H3><H4> Algorithm Design </H4>
</H1>
is no more meaningful than
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
[Tim Berners-Lee]
Where the standard
progress stands
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
http://www.bob-stacy.com/cook
http://www.bob-stacy.com
<rdf:Description rdf:about=“http://www.bo
b-stacy.com/cook”><works-for
rdf:resource=“www.bob-stacy.com” />
</rdf:Description>
<rdf:Description rdf:about=“http://w
ww.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
Class ClassProperty
Employee Company
type
type
Works-forrangedomain
type
Mrs. Cook Bob-StacyWorks-for
type
type
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
Tableau Example Check (R.A) (R.B) R.(A B) D = (R.A) (R.B) (R.(A
B))x{(R.A) (R.B) (R.(A B))}{(R.A), (R.B), (R.(A B))}
y
R
{A}{A, (A B)}{A, A}
clash {A, B} z
R
{B}{B, A B}
{B, A }
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
Blocking Example
xL(x)={C, R.C, R.(R.C)}
y
R
L(y)={C}L(y)={C, R.C}
L(x)={C, R.C, R.(R.C)}
Blocked
More Expressive DL For additional concept construct
(inverse role, quantifier, etc.), add more expansion rules and blocking rules
Optimizations Backjumping
L(x)={C1 D1, …, Cn Dn, R.(A B), R.(A)}
[Horrocks-Satter-Tobies]
backjumping
pruning
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