Scalable OWL Reasoning for Linked Data - University...
Transcript of Scalable OWL Reasoning for Linked Data - University...
http://www.csd.abdn.ac.uk/ http://www.deri.ie
Scalable OWL Reasoning for Linked Data
Jeff Pan, Aidan Hogan, Axel Polleres
1
ESWC2010
The Web map 2008 © Tim Berners-Lee
2 http://www.w3.org/2007/09/map/main.jpg 2
ESWC2010
The Web map 2008 © Tim Berners-Lee
3
more and more structured data (RDF) available on the Web thanks to …
… vocabularies (RDFS+OWL) becoming established
… exporters, (GRDDL, RDFa), Linked Open Data, etc.
… In this tutorial: What can we do with it in terms of Reasoning?
3
ESWC2010
4
Outline
Introduction to Linked Data and OWL 2
Now: Quick intro of RDF/OWL/Linked Open Data Overview: from OWL 1 to OWL 2 Reasoning services in OWL 2
Session 2: Efficient Rule-based OWL Reasononing on Web Challenges posed by Web data Including provenance in reasoning Distributed reasoning SAOR and related rule-based approaches
Session 3: Scalable Query Answering Based on Quality Guaranteed Approximations Challenges Soundness preserving approximation Completeness preserving approximation
Session4: Interplay of OWL with neighbour standards: RIF and SPARQL RIF and OWL SPARQL and OWL SPARQL with Dynamic Entailment, an implementation.
4
ESWC2010
Example: Finding experts/reviewers?
Tim Berners-Lee, Dan Connolly, Lalana Kagal, Yosi Scharf, Jim Hendler: N3Logic: A logical framework for the World Wide Web. Theory and Practice of Logic Programming (TPLP), Volume 8, p249-269
Who are the right reviewers? Who has the right expertise?
Which reviewers are in conflict?
Observation: Most of the necessary data already on the Web, even as RDF!
More and more of it follows the Linked Data principles, i.e.: 1. Use URIs as names for things
2. Use HTTP dereferenceable URIs so that people can look up those names.
3. When someone looks up a URI, provide useful information.
4. Include links to other URIs so that they can discover more things.
55
ESWC2010
RDF on the Web
(i) directly by the publishers
(ii) by e.g. GRDDL transformations, D2R, RDFa exporters, etc.
FOAF/RDF linked from a home page: personal data (foaf:name, foaf:phone, etc.), relationships foaf:knows, rdfs:seeAlso )
66
ESWC2010
RDF on the Web
(i) directly by the publishers
(ii) by e.g. GRDDL transformations, D2R, RDFa exporters, etc.e.g. L3S’ RDF export of the DBLP citation index, using FUB’s D2R (http://dblp.l3s.de/d2r/)
7
Gives unique URIs to authors, documents, etc. on DBLP! E.g., http://dblp.l3s.de/d2r/resource/authors/Tim_Berners-Lee, http://dblp.l3s.de/d2r/resource/publications/journals/tplp/Berners-LeeCKSH08
Provides RDF version of all DBLP data + query interface!
7
ESWC2010
Data in RDF: Triples
DBLP: <http://dblp.l3s.de/…/journals/tplp/Berners-LeeCKSH08> rdf:type swrc:Article.
<http://dblp.l3s.de/…/journals/tplp/Berners-LeeCKSH08> dc:creator
<http://dblp.l3s.de/d2r/…/Tim_Berners-Lee> .
…
<http://dblp.l3s.de/d2r/…/Tim_Berners-Lee> foaf:homepage
<http://www.w3.org/People/Berners-Lee/> .
…<http://dblp.l3s.de/d2r/…/Dan_Brickley> foaf:name “Dan Brickley”^^xsd:string.
Tim Berners-Lee’s FOAF file:<http://www.w3.org/People/Berners-Lee/card#i> foaf:knows
<http://dblp.l3s.de/d2r/…/Dan_Brickley> .
<http://www.w3.org/People/Berners-Lee/card#i> rdf:type foaf:Person .
<http://www.w3.org/People/Berners-Lee/card#i> foaf:homepage
<http://www.w3.org/People/Berners-Lee/> .
8
RDF Data online: Example
8
ESWC2010
Linked Open Data
Excellent tutorial here: http://www4.wiwiss.fu- berlin.de/bizer/pub/LinkedDataTutorial/
9
March 2008
March 2009
…
9
ESWC2010
How can I query that data? SPARQL
SPARQL – W3C approved standardized query language for RDF:
look-and-feel of “SQL for the Web”
allows to ask queries like – “All documents by Tim Berners-Lee”
– “Names of all persons who co-authored with authors of
http://dblp.l3s.de/d2r/…/Berners-LeeCKSH08 or known by co-authors”
…
Example:
SELECT ?D
FROM <http://dblp.l3s.de/…/authors/Tim_Berners-Lee>
WHERE {?D dc:creator <http://dblp.l3s.de/…/authors/Tim_Berners-Lee>}
1010
ESWC2010
“Names of all persons who co-authored with authors of http://dblp.l3s.de/d2r/…/Berners-LeeCKSH08”
SELECT ?Name WHERE
{ <http://dblp.l3s.de/d2r/resource/publication/journals/tplp/Berners-LeeCKSH08>dc:creator ?Author.
?D dc:creator ?Author.
?D dc:creator ?CoAuthor.
?CoAuthor foaf:name ?Name
}
11
SPARQL more complex patters: e.g. UNIONs
11
ESWC2010
SPARQL more complex patters: e.g. UNIONs
“Names of all persons who co-authored with authors of http://dblp.l3s.de/d2r/…/Berners-LeeCKSH08 or known by co-authors”
SELECT ?Name WHERE
{ <http://dblp.l3s.de/d2r/resource/publications/journals/tplp/Berners-LeeCKSH08> dc:creator ?Author.
?D dc:creator ?Author.
?D dc:creator ?CoAuthor.
{ ?CoAuthor foaf:name ?Name . }
UNION
{ ?CoAuthor foaf:knows ?Person.
?Person rdf:type foaf:Person.
?Person foaf:name ?Name }
}
Doesn’t work… no foaf:knows relations in DBLP
Needs Linked Data! E.g. TimBL’s FOAF file!
1212
ESWC2010
DBLP: <http://dblp.l3s.de/…/journals/tplp/Berners-LeeCKSH08> rdf:type swrc:Article.
<http://dblp.l3s.de/…/journals/tplp/Berners-LeeCKSH08> dc:creator
<http://dblp.l3s.de/d2r/…/Tim_Berners-Lee> .
…
<http://dblp.l3s.de/d2r/…/Tim_Berners-Lee> foaf:homepage
<http://www.w3.org/People/Berners-Lee/> .
Tim Berners-Lee’s FOAF file:<http://www.w3.org/People/Berners-Lee/card#i> foaf:knows
<http://dblp.l3s.de/d2r/…/Dan_Brickley> .
<http://www.w3.org/People/Berners-Lee/card#i> foaf:homepage
<http://www.w3.org/People/Berners-Lee/> .
13
Back to the Data:
Even if I have the FOAF data, I cannot answer the query: Different identifiers used for Tim Berners-Lee Who tells me that Dan Brickley is a foaf:Person?
Linked Data needs Reasoning!
13
ESWC2010
Reasoning on Semantic Web Data
Vocabularies (i.e. collections of classes and properties that belong together, e.g. foaf:):
Properties: foaf:name foaf:homepage, foaf:knows
Classes: foaf:Person, foaf:Document
Typically should have formal descriptions of their structure:
RDF Schema, and OWL
These formal descriptions often “called” ontologies.
Ontologies add “semantics” to the data.
Ontologies are themselves written in RDF, using special vocabularies (rdf:, rdfs:, owl:) with special semantics
Ontologies are themselves part of the Linked Data Web!
14 14
ESWC2010
Ontologies: Example FOAF
foaf:knows rdfs:domain foaf:Person
Everybody who knows someone is a Personfoaf:knows rdfs:range foaf:Person
Everybody who is known is a Person
foaf:Person rdfs:subclassOf foaf:Agent
Everybody Person is an Agent.
foaf:homepage rdf:type owl:inverseFunctionalProperty .
A homepage uniquely identifies its owner (“key” property)
…
15 15
ESWC2010
RDFS+OWL inference by rules 1/2
Semantics of RDFS can be partially expressed as (Datalog like) rules:
rdfs1: { ?S rdf:type ?C } :- { ?S ?P ?O . ?P rdfs:domain ?C . }
rdfs2: { ?O rdf:type ?C } :- { ?S ?P ?O . ?P rdfs:range ?C . }
rdfs3: { ?S rdf:type ?C2 } :- {?S rdf:type ?C1 . ?C1 rdfs:subclassOf ?C2 . }
cf. informative Entailment rules in [RDF-Semantics, W3C, 2004], [Muñoz et al. 2007]
1616
ESWC2010
RDFS+OWL inference by rules 2/2
OWL Reasoning e.g. inverseFunctionalProperty can also (partially) be expressed by Rules:
owl1: { ?S1 owl:SameAs ?S2 } :-
{ ?S1 ?P ?O . ?S2 ?P ?O . ?P rdf:type owl:InverseFunctionalProperty }
owl2: { ?Y ?P ?O } :- { ?X owl:SameAs ?Y . ?X ?P ?O }
owl3: { ?S ?Y ?O } :- { ?X owl:SameAs ?Y . ?S ?X ?O }
owl4: { ?S ?P ?Y } :- { ?X owl:SameAs ?Y . ?S ?P ?X }
cf. pD* fragment of OWL, [ter Horst, 2005], or, more recent: OWL2 RL
1717
ESWC2010
RDFS+OWL inference by rules: Example:
By rules of the previous slides we can infer additional information needed, e.g.
TimBL’s FOAF: <…/Berners-Lee/card#i> foaf:knows <…/Dan_Brickley> .
FOAF Ontology: foaf:knows rdfs:range foaf:Person
by rdfs2 <…/Dan_Brickley> rdf:type foaf:Person.
TimBL’s FOAF: <…/Berners-Lee/card#i> foaf:homepage
<http://www.w3.org/People/Berners-Lee/> .
DBLP: <…/dblp.l3s.de/d2r/…/Tim_Berners-Lee> foaf:homepage
<http://www.w3.org/People/Berners-Lee/> .
FOAF Ontology: foaf:homepage rdfs:type owl:InverseFunctionalProperty.
by owl1 <…/Berners-Lee/card#i> owl:sameAs <…/Tim_Berners-Lee>.
18
Who tells me that Dan Brickley is a foaf:Person? solved!
Different identifiers used for Tim Berners-Lee solved!
18
ESWC2010
RDFS+OWL inference, what’s missing?
Note: Not all of OWL Reasoning can be expressed in Datalog straightforwardly, e.g.:
foaf:Person owl:disjointWith foaf:Organisation
Can be written/and reasoned about with FOL/DL reasoners:
FOL Syntax:
DL Syntax:
Problem: Inconsistencies! Complete FOL/DL reasoning is often not necessarily suitable per se for Web data…
But can be “approximated” by Rules (without explosion):owl5: ERROR :- { ?X a ?C1; a ?C2. ?C1 owl:disjointWith ?C2.}
1919
ESWC2010
The more “common” view on OWL…
First-order/Description Logics Reading of OWL:
20 20
ESWC2010
OWL2
Common ontologies on the Web don’t use it a lot as of yet…
… but adds interesting functionality, potentially useful for Web ontologies, e.g.
PropertyChains– E.g. could be useful to tie sioc:name and foaf:nick via foaf:holdsAccount:
foaf:nick owl:propertyChainAxiom (foaf:holdsAccount sioc:name)
21
HOT! NEW!
21
ESWC2010
OWL2
Common ontologies on the Web don’t use it a lot as of yet…
… but adds interesting functionality, potentially useful for Web ontologies, e.g.
hasKey: – Multi-attribute Keys now possible in OWL, e.g.
– foaf:OnlineAccount/sioc:User members are uniquely identified by a combination of foaf:accountName and foaf:accountServiceHomepage:
foaf:OnlineAccount owl:hasKey
(foaf:accountName foaf:accountServiceHomepage) .
– OWL DL does not allow Datatype Properties to be IFPs– E.g. foaf:mbox_sha1sum
– IFPs could partly be simulated using OWL2’s owl:hasKey, as follows: owl:Thing owl:hasKey ( foaf:mbox_sha1sum ) .
– means that if *two named individuals* have the same mbox_sha1sum,then they are the same.
More OWL2 features in a second … handing over to Jeff22
HOT! NEW!
22
ESWC2010
Why OWL1 is Not Enough
Too expensive to reason with High complexity: NEXPTIME-complete
The most lightweight sublanguage OWL-Lite is NOT lightweight
Some ontologies only use some limited expressive power; e.g.The SNOMED (Systematised Nomenclature of Medicine) ontology
Not expressive enough; e.g. No user defined datatypes [Pan 2004; Pan and Horrocks 2006;
Motik and Horrocks 2008]
No metamodeling support [Pan 2004; Pan, Horrocks, Schreiber, 2005; Motik 2007]
Limited property support [Horrocks et al., 2006]
23
ESWC2010
From OWL1 to OWL2
OWL2: A new version of OWL Main goals:
1. To define “profiles” of OWL that are: smaller, easier to implement and deploy cover important application areas and are easily
understandable to non-expert users
2. To add a few extensions to current OWL that are useful, and is known to be implementable
many things happened in research since 2004
24
ESWC2010
New Expressiveness in OWL 2
New expressive power user defined datatypes, e.g.:
ex:personAge owl:equivalentClass _:x
_:x rdf:type rdfs:Datatype
_:x owl:onDatatype xsd:integer
_:x owl:withRestrictions (_:y1 _:y2)_:y1 xsd:minInclusive "0"^^xsd:integer
_:y2 xsd:maxInclusive "150"^^xsd:integer
punning (metamodeling), e.g.:ex:John rdf:type ex:Father
ex:Father rdf:type ex:SocialRole
25
ESWC2010
New Expressiveness in OWL 2
New expressive power on properties qualified cardinality restrictions, e.g.:
_:x rdf:type owl:Restriction _:x owl:onProperty foaf:know _:x owl:minQualifiedCardinality “2"^^xsd:nonNegativeInteger _:x owl:onClass Scottish
property chain inclusion axioms, e.g.:foaf:nick owl:propertyChainAxiom (foaf:holdsAccount sioc:name)
local reflexivity restrictions, e.g.:_:x rdf:type owl:Restriction _:x owl:onProperty like_:x owl:hasSelf "true"^^xsd:boolean [for narcissists]
reflexive, irreflexive, symmetric, and antisymmetric properties, e.g.:foaf:know rdf:type owl:ReflexiveProperty sioc:has_parent rdf:type owl:IrreflexiveProperty
disjoint properties, e.g.:sioc:parent_of owl:propertyDisjointWith sioc:has_parent
keys, e.g.: foaf:OnlineAccount owl:hasKey
(foaf:accountName foaf:accountServiceHomepage) 26
ESWC2010
New Expressiveness in OWL 2
Syntactic sugar (make things easier to say) Disjoint unions, e.g.:
child owl:disjointUnionOf (boy girl)
Disjoint classes, e.g.:_:x rdf:type owl:AllDisjointClasses
_:x owl:members (boy girl)
Negative assertions, e.g.:_:x rdf:type owl:NegativePropertyAssertion _:x owl:sourceIndividual John _:x owl:assertionProperty foaf:know_:x owl:targetIndividual Mary
27
ESWC2010
OWL 2 DL
R often used for ALC extended with property chain inclusion axioms following the notion introduced in RIQ [Horrocks and Sattler,
2003]
including transitive property axioms
Additional letters indicate other extensions, e.g.: S for property characteristics (e.g., reflexive and symmetric)
O for nominals/singleton classes
I for inverse roles
Q for qualified number restrictions
property characteristics (S) + R + nominals (O) + inverse (I) + qualified number restrictions(Q) = SROIQ
SROIQ [Horrocks et al., 2006] is the basis for OWL 2 DL
28
ESWC2010
OWL 2 Profiles and Reasoning Services
Rationale: Tractable
Tailored to specific reasoning services
Popular reasoning services TBox reasoning: OWL 2 EL
ABox reasoning: OWL 2 RL (to be covered in Session 2)
Query answering: OWL 2 QL
Specification: http://www.w3.org/TR/2009/CR-owl2-profiles-20090611/
29
ESWC2010
The family tree
OWL 2 DL
OWL 1 DL
OWL 2 QL
OWL 2 RL OWL 2 EL
SROIQ
SHOIN
DL-Lite
EL++
OWL 2 Full
In AC0
PTime-Complete
NExpTime-Complete
2NExpTime-Complete
Undecidable
30
ESWC2010
OWL 2 EL
A (near maximal) fragment of OWL 2 such that Satisfiability checking is in PTime (PTime-Complete)
Data complexity of query answering also PTime-Complete
Based on EL family of description logics [Baader et al. 2005]
Can exploit saturation based reasoning techniques Computes complete classification in “one pass”
Computationally optimal (PTime for EL)
Can be extended to Horn fragment of OWL DL [Kazakov 2009]
31
ESWC2010
Saturation-based Technique (basics)
Normalise ontology axioms to standard form:
Saturate using inference rules:
Extension to Horn fragment requires (many) more rules
32
ESWC2010
Saturation-based Technique (basics)
Example:
33
ESWC2010
Saturation-based Technique (basics)
Example:
34
ESWC2010
Saturation-based Technique (basics)
Example:
35
ESWC2010
OWL 2 QL
A (near maximal) fragment of OWL 2 such that Data complexity of conjunctive query answering in AC0
Based on DL-Lite family of description logics [Calvanese et al. 2005; 2006; 2008]
Can exploit query rewriting based reasoning technique Computationally optimal
Data storage and query evaluation can be delegated to standard RDBMS
Novel technique to prevent exponential blowup produced by rewritings [Kontchakov et al. 2010, Rosati and Almatelli 2010]
Can be extended to more expressive languages (beyond AC0) by delegating query answering to a Datalog engine [Perez-Urbina et al. 2010]
36
ESWC2010
Query Rewriting Technique (basics)
Given ontology O and query Q, use O to rewrite Qas Q0 s.t., for any set of ground facts A: ans(Q, O, A) = ans(Q0, ∅, A)
Use (GAV) mapping M to map Q0 to SQL query
ARewrite
O
QQ0
MapSQL
M
Ans
37
ESWC2010
Query Rewriting Technique (basics)
Given ontology O and query Q, use O to rewrite Qas Q0 s.t., for any set of ground facts A: ans(Q, O, A) = ans(Q0, ∅, A)
Use (GAV) mapping M to map Q0 to SQL query Resolution based query rewriting
Clausify ontology axioms
Saturate (clausified) ontology and query using resolution
Prune redundant query clauses
38
ESWC2010
Query Rewriting Technique (basics)
Example:
39
ESWC2010
Query Rewriting Technique (basics)
Example:
40
ESWC2010
Query Rewriting Technique (basics)
Example:
41
ESWC2010
Query Rewriting Technique (basics)
Example:
For OWL2 QL, result is a union of conjunctive queries
42
ESWC2010
Query Rewriting Technique (basics)
Data can be stored/left in RDBMS
Relationship between ontology and DB defined by mappings, e.g.:
UCQ translated into SQL query:
43
ESWC2010
The Rest of This Tutorial
Will focus on OWL2 reasoning methods that scale well
Will discuss challenges of OWL2 Reasoning over Web data
Will discuss relations to new/neighbour standards:– SPARQL Query answering with OWL2– RIF and OWL2
44 44
http://www.csd.abdn.ac.uk/ www.deri.ie
0:01:00
http://www.csd.abdn.ac.uk/ http://www.deri.ie
Reasoning over Linked Data:Scalability and Web-Tolerance
Aidan Hogan
ESWC 2010
2
Overview
Fig 1: Linked Data
explicit data
implicit data
Topic of today’s talk: How to exploit
implicit data for “query answering”
ESWC 2010
3
Part 1:
Overview and Motivation…
…(why) does Linked Data need reasoning?
ESWC 2010
4
Query Answering…
…over Linked Data
Search engines such as SWSE, Sindice, Falcons, Swoogle, Watson etc.
SPARQL endpoints over Web data such as YARS2, Virtuoso, etc.
ESWC 2010
5
eswc:Aidan ex:presented eswc:TutSession2 .
rr:Aidan ex:presented rr:SAORTalk .
Problem: Synonymous Omissions
Query:Give me all talks presented by Aidan
eswc:Aidan ex:presented ?talk .
IMPLIC
T
EX
PLIC
IT
ESWC 2010
6
eswc:Aidan ex:presented eswc:TutSession2 .
eswc:Aidan ex:presented ex:ThisTalk .
Problem: Synonymous Duplicates
Query:Give me all talks presented by Aidan
eswc:Aidan ex:presented ?talk .
IMPLIC
T
EX
PLIC
IT
ESWC 2010
7
eswc:TutSession2 ex:presentedBy eswc:Aidan .
Problem: Incomplete Answers
Query:Give me all talks presented by Aidan
eswc:Aidan ex:presented ?talk .
IMPLIC
T
EX
PLIC
IT
ESWC 2010
8
Solution: Publish Complete Data?
Query:Give me all talks presented by Aidan
eswc:Aidan ex:presented ?talk .
IMPLIC
T
EX
PLIC
IT
eswc:TutSession2 ex:presentedBy eswc:Aidan .
eswc:Aidan ex:presented eswc:TutSession2 .
ESWC 2010
9
eswc:TutSession2 ex:presentedBy eswc:Aidan .
Solution: Write Query in many ways?
Query:Give me all talks presented by Aidan
eswc:Aidan ex:presented ?talk .?talk ex:presentedBy eswc:Aidan .
IMPLIC
T
EX
PLIC
IT
ESWC 2010
10
rr:Aidan ex:presented rr:SAORTalk .rr:Aidan owl:sameAs eswc:Aidan .eswc:TutSession2 ex:presentedBy eswc:Aidan .ex:presentedBy owl:inverseOf ex:presented .
eswc:Aidan ex:presented rr:SAORTalk .
eswc:Aidan ex:presented eswc:TutSession2 .
Solution: Exploit OWL and RDFS…
Query:Give me all talks presented by Aidan
eswc:Aidan ex:presented ?talk .
IMPLIC
T
EX
PLIC
IT
ESWC 2010
11
Part 2:
Background…
…what kind of reasoning can we do?
ESWC 2010
12
OWL / RDFS
(loosely) Define the semantics of classes and properties… (define relationships between terms)
ex:presentedBy owl:inverseOf ex:presented .
ex:presentedBy rdfs:domain ex:Talk .
ex:presentedBy rdfs:range ex:Person .
Define equivalence between individuals (owl:sameAs)eswc:Aidan owl:sameAs rr:Aidan .
Give machines an insight into the meaning of data
Allows for reasoning
ESWC 2010
13
Reasoning
(Loosely) Use the semantics of classes and properties—defined in RDFS and OWL—to make implicit knowledge explicit
One approach is using rules: IF condition THEN consequent
?p1 owl:inverseOf ?p2 . ?s ?p1 ?o . => ?o ?p2 ?s .
ex:presentedBy owl:inverseOf ex:presented .eswc:TutSession2 ex:presentedBy eswc:Aidan .=> eswc:Aidan ex:presented eswc:TutSession2 .
?p rdfs:domain ?c . ?s ?p ?o . => ?s rdf:type ?c .
?p rdfs:range ?c . ?s ?p ?o . => ?o rdf:type ?c .
ex:presentedBy rdfs:domain ex:Talk .eswc:TutSession2 ex:presentedBy eswc:Aidan .=> eswc:TutSession2 rdf:type ex:Talk .
ex:presentedBy rdfs:range ex:Person .eswc:FridayTalk ex:presentedBy eswc:Aidan .=> eswc:Aidan rdf:type ex:Person .
ESWC 2010
14
Forward Chaining materialisation:
Avoid runtime expense of backward-chaining– Users taught impatience by Google
Pre-compute answers for quick retrieval
Web-scale systems should be scalable!– More data = more disk space AND/OR more machines
Web Reasoning: Forward Chaining!
ESWC 2010
15
deri:Aidan ex:presented deri:FridayTalk .deri:Aidan owl:sameAs ex:Aidan .ex:RR2009Talk ex:presentedBy ex:Aidan .ex:presentedBy owl:inverseOf ex:presented .
Reasoning: Make Explicit the Implicit
Query:Give me all talks presented by Aidan
ex:Aidan ex:presented ?talk .
ex:Aidan ex:presented deri:FridayTalk .ex:Aidan ex:presented ex:RR2009Talk .
IMPLIC
T
EX
PLIC
IT
ESWC 2010
16
Part 3:
Rule-based reasoning approaches for The Web…
…the Wild Wild Web.
ESWC 2010
17 17
Linked Data…
ESWC 2010
18
Web Reasoning: Challenges
Scalability Billions or tens of billions of statements (for the moment)
– Near linear scale!!!
Noisy data Inconsistencies galore
Publishing errors
“Ontology hijacking”
ESWC 2010
19
Web Reasoning: Challenges
Challenges (Semantic Web Wikipedia Article) Some of the challenges for the Semantic Web include vastness, vagueness, uncertainty,
inconsistency and deceit. Automated reasoning systems will have to deal with all of these issues in order to deliver on the promise of the Semantic Web.
Vastness: The World Wide Web contains at least 48 billion pages as of this writing (August 2, 2009). The SNOMED CT medical terminology ontology contains 370,000 class names, and existing technology has not yet been able to eliminate all semantically duplicated terms. Any automated reasoning system will have to deal with truly huge inputs.
Vagueness: These are imprecise concepts like "young" or "tall". This arises from the vagueness of user queries, of concepts represented by content providers, of matching query terms to provider terms and of trying to combine different knowledge bases with overlapping but subtly different concepts. Fuzzy logic is the most common technique for dealing with vagueness.
Uncertainty: These are precise concepts with uncertain values. For example, a patient might present a set of symptoms which correspond to a number of different distinct diagnoses each with a different probability. Probabilistic reasoning techniques are generally employed to address uncertainty.
Inconsistency: These are logical contradictions which will inevitably arise during the development of large ontologies, and when ontologies from separate sources are combined. Deductive reasoning fails catastrophically when faced with inconsistency, because "anything follows from a contradiction". Defeasible reasoning and paraconsistent reasoning are two techniques which can be employed to deal with inconsistency.
Deceit: This is when the producer of the information is intentionally misleading the consumer of the information. Cryptography techniques are currently utilized to ameliorate this threat.
ESWC 2010
20
Noisy Data: Omnipotent Being
Proposition 1
Web data is noisy.
Proof:
08445a31a78661b5c746feff39a9db6e4e2cc5cf
sha1-sum of ‘mailto:’ common value for foaf:mbox_sha1sum
An inverse-functional (uniquely identifying) property!!!
Any person who shares the same value will be considered the same
Q.E.D.
ESWC 2010
21
More Proof:
From http://www.eiao.net/rdf/1.0<owl:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<rdfs:label xml:lang="en">type</rdfs:label>
<rdfs:comment xml:lang="en">Type of resource</rdfs:comment>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#testRun"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#pageSurvey"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#siteSurvey"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#scenario"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#rangeLocation"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#startPointer"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#endPointer"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#header"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#runs"/>
</owl:Property>
Ontology hijacking!!
Noisy Data: Redefining Everything…and home in time for tea
ESWC 2010
22
The Web……forecast is for muck
ESWC 2010
23
“Standard” RDFS
OWL 2 RL (W3C Rec: 27 Oct. 2009)
“Non-standard” DLP
pD* (OWL Horst)
OWL–
OWL 2 RL first standard OWL rule expressible “fragment”! More inclusive than previous non-standard OWL rule fragments Includes RDFS rules Includes rule support for new OWL 2 constructs
What rules?
ESWC 2010
24
Okay, so let’s do forward-chaining OWL 2 RL on billions of triples collected from the Web…
foaf:mbox_sha1sum a owl:InverseFunctionalProperty .
?x foaf:mbox_sha1sum 08445a31a78661b5c746feff39a9db6e4e2cc5cf .
OWL 2 RL rule prp-ifp: ?p a owl:InverseFunctionalProperty . ?x1 ?p ?z . ?x2 ?p ?z .
⇒ ?x1 owl:sameAs ?x2 .
104 ?x1/?x2 bindings in body
108 inferred pair-wise and reflexive owl:sameAs statements
…or in simpler terms:pow!
ESWC 2010
25
Okay, so let’s do forward-chaining OWL 2 RL on billions of triples collected from the Web…
OWL 2 RL rule eq-ref: ?s ?p ?o . ⇒ ?s owl:sameAs ?s . ?p owl:sameAs ?p . ?o owl:sameAs ?o .
Adds |T| triples, where T is the set of RDF terms in the data
Could be easily supported by backward-chaining/query rewriting
Boring
ESWC 2010
26
Part 4:
Our Approach…
…pragmatic approach, making the necessary compromises……(and some more besides)
ESWC 2010
27
SAOR: Scalable Authoritative OWL Reasoner
Goals:
Scalability Separate TBox (schema) data
Incomplete reasoning!
Reduced Output Incomplete reasoning!
Web tolerance Consider provenance of Web data
Incomplete reasoning!
ESWC 2010
28
Scalable Reasoning: In-mem T-Box
Main optimisation: Store T-Box in memory
T-Box: (loosely) data describing classes and properties
By far, the most commonly accessed segment of data for reasoning
Quite small (1-2%)
e.g. from a 100M statement Web crawl A-Box: 3,753,791 X ?s foaf:name ?o .
vs. T-Box: <20 X foaf:name ?p ?o . + ?s ?p foaf:name .
ESWC 2010
29
Scan 1: Scan input data separate T-Box statements, load T-Box statements into memory
Scan 2: Scan all on-disk data, join with in-memory T-Box.
Scalable Reasoning: Scans
ESWC 2010
30
...
...ex:me ex:presented ex:ThisTalk ....
...ex:ThisTalk ex:presentedBy ex:me .ex:me rdf:type foaf:Person .ex:me rdf:type foaf:Agent ....
IN-MEM T-BOX
ON-DISK A-BOX
ON-DISK OUTPUT
Execution of three rules:
OWL 2 RL rule prp-inv1?p1 owl:inverseOf ?p2 . ?x ?p1 ?y . ⇒ ?y ?p2 ?x .
OWL 2 RL rule prp-dom?p rdfs:domain ?c . ?x ?p ?y . ⇒ ?x a ?c .
OWL 2 RL rule cax-sco?c1 rdfs:subClassOf ?c2 . ?x a ?c1 . ⇒ ?x a ?c2 .
Scalable Reasoning: No A-Box Joins
ESWC 2010
31
However: some rules do require A-Box joins ?p a owl:TransitiveProperty . ?x ?p ?y . ?y ?p z .
⇒ ?x ?p ?z .
Difficult to engineer a scalable solution (which reaches a fixpoint)
No A-Box joins for SAOR reasoning over 1B statements
~99% of inferences over Web data possible without A-Box joins
48/76 OWL 2 RL rules don’t require A-Box joins Side note: No RDFS rule requires A-Box joins
And rules cover ~most of what current Web ontologies use
Scalable Reasoning: A-Box joins?
ESWC 2010
32
T-Box only!
Document D authoritative for class/property X iff: X is a blank-node
– OR De-referenced URI of X coincides with or redirects to D
FOAF spec authoritative for foaf:Person ✓
MY spec not authoritative for foaf:Person ✘
Only allow extension in authoritative documents my:Person rdfs:subClassOf foaf:Person . (MY spec) ✓
BUT: Reduce obscure memberships foaf:Person rdfs:subClassOf my:Person . (MY spec) ✘
ALSO: Protect specifications foaf:knows rdf:type owl:SymmetricProperty . (MY spec) ✘
Similarly for other T-Box statements.
In-memory T-Box stores authoritative information for rule execution
Greatly reduces output size!!! Largely compatible with FOAF, SIOC, DC
Authoritative Reasoning
ESWC 2010
33
More Proof:
From http://www.eiao.net/rdf/1.0<owl:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
<rdfs:label xml:lang="en">type</rdfs:label>
<rdfs:comment xml:lang="en">Type of resource</rdfs:comment>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#testRun"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#pageSurvey"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#siteSurvey"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#scenario"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#rangeLocation"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#startPointer"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#endPointer"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#header"/>
<rdfs:domain rdf:resource="http://www.eiao.net/rdf/1.0#runs"/>
</owl:Property>
Ontology hijacking!!
Noisy Data: Redefining Everything…revisited
Not authoritative!!!!
ESWC 2010
34
Distributed Reasoning
...
...ex:me ex:presented ex:ThisTalk
...
SAME T-BOX SAME T-BOX SAME T-BOX SAME T-BOX SAME T-BOX
DIFF. A-BOX DIFF. A-BOX DIFF. A-BOX DIFF. A-BOX DIFF. A-BOX
...
...ex:me ex:presented ex:ThisTalk
...
...
...ex:me ex:presented ex:ThisTalk
...
...
...ex:me ex:presented ex:ThisTalk
...
...
...ex:me ex:presented ex:ThisTalk
...
LOCAL OUTPUT
...
...ex:me ex:presented ex:ThisTalk
...
LOCAL OUTPUT
LOCAL OUTPUT
LOCAL OUTPUT
LOCAL OUTPUT
...
...ex:me ex:presented ex:ThisTal
...
...ex:me ex:presented ex:ThisTalk
...
...ex:me ex:presented ex:ThisTalk
...
...ex:me rdf:type ex:Awesome .
... ... ... ... ...
...
...ex:me ex:presented ex:ThisTalk
...
...
...ex:me ex:presented ex:ThisTalk
...
...
...ex:me ex:presented ex:ThisTalk
...
...
...ex:me ex:presented ex:ThisTalk
...
...
...ex:me ex:presented ex:ThisTalk
...
EXTRACT T-BOX EXTRACT T-BOX EXTRACT T-BOX EXTRACT T-BOX EXTRACT T-BOX
COLLECT T-BOX COLLECT T-BOX COLLECT T-BOX COLLECT T-BOX COLLECT T-BOX
...
...
ESWC 2010
35
Distributed Reasoning
(no A-Box joins) Authoritative (of course) Eight machines, 4GB main memory, 2.2 GHz 1.192b input statements crawled January, pre-distributed over the
machines Reasoning in 113 minutes
– Extract T-Box 16 mins– Aggregate, perform authoritative analysis, broadcast T-Box: 14 mins– Reasoning over A-Box: 83 mins
Output 570m inferences
ESWC 2010
36
Part 5:
Other Notable Approaches…
…scalable/web-tolerant materialisation approaches
ESWC 2010
37
Other Scalable Approaches:Weaver et. al.
Jesse Weaver and James A. Hendler. Parallel Materialization of the Finite RDFS Closure for Hundreds of Millions of Triples. In Proceedings of the 8th International Semantic Web Conference
Similar to SAOR approach – applied to synthetic data Distributed RDFS reasoning Separate and flood T-Box information
all RDFS rules contain only one assertional pattern
ESWC 2010
38
Other Scalable Approaches:Weaver et. al.
Evaluation presented over LUBM(10,000)/4 = LUBM(2,500)
Synthetic dataset
Single ontology
346m triples
Data pre-distributed 128 machines
In memory computation
~4.8 mins
http://www.csd.abdn.ac.uk/ http://www.deri.ie
Scalable Query Answering Based on Quality Guaranteed Approximations
Jeff Z. Pan
ESWC2010
2
Outline
Introduction to Linked Data and OWL 2 Now: Quick intro of RDF/OWL/Linked Open Data Overview: from OWL 1 to OWL 2 Reasoning services in OWL 2
Session 2: Efficient Rule-based OWL Reasoning on Web Challenges posed by Web data Including provenance in reasoning Distributed reasoning SAOR and related rule-based approaches
Session 3: Scalable Query Answering Based on Quality Guaranteed Approximations Challenges Soundness preserving approximation Completeness preserving approximation
Session4: Interplay of OWL with neighbour standards: RIF and SPARQL RIF and OWL SPARQL and OWL SPARQL with Dynamic Entailment, an implementation.
ESWC2010
The DL Family
Smallest propositionally closed DL is ALC Class constructed using booleans
u, t, ¬,plus restricted quantifiers∃, ∀
Only atomic properties
E.g., Person all of whose children are either Doctors or have a child who is a Doctor:
Person u ∀hasChild.(Doctor t ∃hasChild.Doctor)
3
ESWC2010
The DL Family (2)
R often used for ALC extended with property chain inclusion axioms following the notion introduced in RIQ [Horrocks and Sattler,
2003]
including transitive role axioms
Additional letters indicate other extensions, e.g.: S for property characteristics (e.g., reflexive and symmetric)
O for nominals/singleton classes
I for inverse properties
Q for qualified number restrictions
role characteristics (S) + R + nominals (O) + inverse (I) + qualified number restrictions(Q) = SROIQ
SROIQ [Horrocks et al., 2006] is the basis for OWL 2 DL
4
ESWC2010
DL Ontology
A TBox (Terminonagy Box) is a set of “schema”axioms (sentences), e.g.:
{∃≥50 good_friend v Popular, good_friend v friend}
i.e., a background theory for the vocabulary
An ABox (Assertion Box) is a set of “data” axioms (ground facts), e.g.:{friend (John,Kate)}
5
ESWC2010
DL Ontology (II)
ESWC2010
Classification
ESWC2010
Query Answering
Example:
SELECT ?X
FROM <http://example.org/person.owl>
WHERE {?X friend ?Y .}
SELECT ?X
FROM <http://example.org/person.owl>
WHERE {?X friend ?Y .
?Y rdf:type Popular .}
88
ESWC2010
Query Answering (II)
Query answering
X:q ← conj(X;Y)– Head X:q
– Body conj(X;Y)– Distinguished variables X– Non-distinguished variables Y
Given a conjunctive query X:q ← conj(X;Y) and an ontology O, return all W (tuples of constants) that substitute X such that O ² conj(W;Y).
Example: q(x) ← friend(x,y) Æ Popular(y)
9
ESWC2010
Challenge: Query Answering with DL is Hard
Open problem: whether query answering in OWL 2 DL is decidable
And it is known to be hard …
[Garey & Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, 1979.]
I can’t find any algorithms, but neither can all these famous people.
10
ESWC2010
Challenge: Query Answering with DL is Hard
Open problem: whether query answering in OWL 2 DL is decidable
And it is known to be hard SHIQ with queries allowing only simple properties in [Ortiz et
al., 2006]– Data complexity: co-NP-complete
SHIQ [Glimm et al., 2007]: – Combined complexity: 2EXPTIME– Data complexity: co-NP-complete
In fact, co-NP-complete even for very small fragments of SHIQ [Calvnese et al., 2006], e.g. allowing
– Full negations in the left hand side of class inclusions, or – Disjunctions or universal restrictions in the right hand side of
class inclusions
11
ESWC2010
Why approximations?
In short, because there exist no algorithms for query answering in OWL 2 DL
12
ESWC2010
What to approximate?
Inputs query
ontology
Algorithm
AlgorithmInputs Outputs
13
ESWC2010
Quality of approximations
Outputs soundness preserving
completeness preserving
AlgorithmInputs Outputs
14
ESWC2010
Syntactic vs. Semantic Approximations
Syntactic approximations might not guarantee either soundness or completeness
Example (syntactic approximation) An OWL DL source ontology O = {∃≥50 good_friend v
Popular, good_friend v friend, good_friend(John,Kate)}
A syntactic approximation in ALC : O’ = {∃≥1 good_friendvPopular, good_friend(John,Kate)}
O’ entails Popular(John) but O does not
O entails friend(John,Kate) but O’ does not
15
ESWC2010
Existing Work
Approximation of queries [Struckenschmidt and van Harmelen, 2002; Wache et al., 2005]
Approximations of ontologies [DLDB, 2004; OWLJessKB, 2003]
Q QSimple
O
Q
OsimpleO
16
ESWC2010
Summary: Existing Work
Most based on syntactic approximations Few providing proofs on soundness or completeness
17
ESWC2010
Knowledge Compilations
Knowledge Compilation [Selman and Kautz, 1996] Lower-bound KBlb: M(KBlb) M(KB) (hence KBlb |= KB)
– Greatest lower-bound: no KB’ such that M(KBlb) ⊂ M(KB’) M(KB)
Upper-bound KBub: M(KB) M(KBub) (hence KB |= KBub) – Least upper-bound: no KB’ such that M(KB) M(KB’) ⊂
M(KBub)
MlbMMub
18
ESWC2010
Semantic Approximation [Pan and Thomas, 2007]
Idea: to approximate a source ontology O (in more expressive LS) with its (least) upper bound Oub (in less expressive LT) O |= Oub (soundness guaranteed)
Q
OubO
19
ESWC2010
Entailment Set
We use NC, NP and NI to denote the sets of class names, property names and individual names used in O NC, NP and NI are assumed to be finite
Entailment set ES(O, LT) of O in LT The set of all LT axioms that are entailed by O under NC, NPand NI
Lemma1: ES(O, LT) is the least upper bound (LUB) of O w.r.t. LT
Q
ES(O, LT)O
20
ESWC2010
Finite LUB is Not Always Possible
Example: ES(O, LT) could contain infinite axioms O = {> v ∀R.(∃R.>), Trans(R), R(a,b) } There exist infinite number of axioms in ES(O, ALC)
– ∃R.>(a)– ∃R. (∃R.>)(a)– ∃R.(∃R.(∃R.>))(a)– …
a
R R R …b
21
ESWC2010
Axiom Set
Axiom set AS(LT , NC, NP , NI) of LT w.r.t. NC, NP and NI The set of all LT axioms that can be constructed by using
only vocabulary in NC, NP and NI
We can calculate ES(O, LT) from AS(LT , NC, NP , NI)
Q ES(O, LT)O AS(LT , NC, NP , NI)
22
ESWC2010
Choosing LT for Query Answering
Why OWL 2 QL [Calvanese et al., 2005, 2006, 2008]
1. Data complexity of query answering: AC0
2. Lemma2: The size of AS(OWL2-QL , NC, NP , NI) is polynomial w.r.t. the sizes of NC, NP and NI.
3. Existing OWL 2 QL reasoning and query engines, such as QuOnto [Acciarri et al., 2005] Quill (QL reasoner in TrOWL) [Pan and Thomas, 2007; Thomas et. al.,
2010]
23
ESWC2010
Evaluation: Constructing ES
Wine ontology (79 named classes, 12 individual properties and 206 individuals): Without optimisation: did not finish in an hour
With optimisation: 4m and 14s
Lehigh University Benchmark: LUBM (50 universities) with more than 6,800,000 individuals Without optimisation: ran out of memory
With optimisation: about 2h
24
ESWC2010
Soundness and Completeness
Theorem 1: Given an ontology O, a conjunctive query q(X) and an evaluation [XS], if ES(O, OWL 2 QL) |= q[XS], then O |= q[XS].
However, in general, it could be incomplete
25
ESWC2010
Soundness and Completeness (II)
Theorem 2: Given an ontology OS, a database-style conjunctive query q(X) without non-distinguished variables and an evaluation [XS], ES(OS, OWL 2 QL) |= q[XS] iff OS |= q[XS].
Remark: disallowing non-distinguished variables seems to be the price to pay, in order to achieve complete results efficiently Racer does not allow them in their nRQL [Haarslev et al.,
2004]
KAON2 [Hustadt et al.,2004] does not allow them either
26
ESWC2010
Evaluation: Query Answering
Lehigh University Benchmark
OWL 2 DL/ SHIQ reasoners [Motik and Sattler, 2006] Pellet and Racer: unable to complete queries 1, 2 and 3
when more than 2 universities
KAON2 can answer queries for up to 4 universities
[ Q1(?x) :- GraduateStudent(?x) Æ takesCourse(?x,U0D0GraduateCourse0)
Q2(?x,?y,?z) :- GraduateStudent(?x) Æ University(?y),Department(?z) ÆmemberOf(?x,?z) Æ subOrganisationOf(?z,?y) ÆundergraduateDegreeFrom(?x,?y)
Q3(?x) :- Publication(?x) Æ publicationAuthor(?x,U0D0AssistentProfessor0) ]
27
ESWC2010
Evaluation: Query Answering (II)
Syntactic approximation systems [Guo et al., 2004] OWLJessKB can only handle 1 university
– All results are covered– Returned incorrect answers for queries 4, 6, 8 and 12
DLDB can handle 50 universities on all queries but query 2– Returned incomplete answers for queries 11 and 13
[ Q11(?x) :- ResearchGroup(?x) Æ subOrganisationOf(?x,University0)
Q12(?x,?y) :- Chair(?x) Æ Department(?y) Æ worksFor(?x,?y), subOrganisationOf(?y,University0)
Q13(?x) :- Person(?x) Æ hasAlumnus(University0,?x) ]
28
ESWC2010
Evaluation: Query Answering (III)
Quill/ONTOSEARCH2 can handle at least 50 universities Sound and complete results for all queries
DLDB vs. Quill/ONTOSEARCH2
ESWC2010
Fine-Grained Syntactic Approximation [Ren et al. 2010]
Why bother? Minor syntactic gap results in major complexity difference
Using approximation to bridge the gap
DL ROQ DL EL++
2NEXPTIME-complete PTIME-complete
30
ESWC2010
How Does it Work
TBox approximation Directly represent non-OWL2-EL concepts with fresh named concepts
– E.g., r.C subClassOf D Ar.C subClassOf D Maintain semantic relations for these named concepts
– complementary relations– cardinality relations
ABox approximation Internalise ABox into TBox
– E.g., C(a) {a} subClassOf C– r(a,b) {a} subClassOf r.{b}, …
Reasoning Using additional completion rules to recover the semantics
3131
ESWC2010
Example: How Does it Work
Syntactic approximation Directly represent non-
OWL2-EL concept with fresh names
Maintain complementary relations in complementary table (CT)
Maintain cardinality relations in cardinality table (QT)
Internalise ABox into TBox
…
32
Supervisor720Supervisor2
nSupervisor720Supervisor2
Supervisor720
Cisco7603Config Slot<=3hasSlot
Cisco7603Config
Slot>=4hasSlot
X
nX
Slot>=4hasSlotnX
32
ESWC2010
Example: How Does it Work (II)
Completion Rules Handling complement
– E.g. A subClassOf B => B subClassOf A
Handling cardinality– E.g. A subClassOf >= 3 r. B => A subClassOf >= 2 r. B
ALL
r B
A
C
ALLD Some
r nB
A
nC
Some D
B C
X1 X2
33
ESWC2010
Evaluations for the Oxford Benchmarks (REL – EL reasoner in TrOWL)
XXX
34
ESWC2010
Completeness Guaranteed Semantic Approximations [Pan et al. 2009]
Main idea: Approximating queries
Example: q(x) ← Popular(x) Æ good_friend(x,y) Æ has_pet(y,z) can be approximated to q’(x) ← Popular(x) This is a completeness guaranteed approximation, even
w.r.t. ES(O, OWL 2 QL)
Q QSimple
O
35
ESWC2010
Query rewriting
Weak Rewriting: Logical weaker constrains
FC0(q) : removing non-distinguish variables from q
FR(q) : Proxy Node Based Rolling Up Function
Fi(q) : cut the depth of concept descriptions in q to I
36
ESWC2010
01
Fine-Grained Completeness Guaranteed Semantic Approximations
is ES(O, OWL 2 QL)
Introduce new named classes to produce more fine grained OWL 2 QL upper bound approximations M(0) M( 1 ) M( 2 ) … M( Os )
OWL-DL ontology
Os
Semantic approximation 2
Entailment set 0
Entailment set 1
…
Entailment set m
34
Os
37
ESWC2010
Query answering
Solution(q,Os)
Solution(FCO(q),Os)
Solution(FR(q),Os)
Solution(F0(FR(q)),Os) Solution(F0(FR(q)), 0)
Solution(F1(FR(q)),Os)
Solution(F2(FR(q)),Os)
Solution(F3(FR(q)),Os)
………
Solution(F1(FR(q)), 1)
Solution(F2(FR(q)), 2)
Solution(F3(FR(q)), 3)
………
38
ESWC2010
Query answering
Solution(q,Os)
Solution(FCO(q),Os)
Solution(FR(q),Os)
Solution(F0(FR(q)),Os) Solution(F0(FR(q)), 0)
Solution(F1(FR(q)),Os)
Solution(F2(FR(q)),Os)
Solution(F3(FR(q)),Os)
………
Solution(F1(FR(q)), 1)
Solution(F2(FR(q)), 2)
Solution(F3(FR(q)), 3)
………
OWL 2 DL
OWL 2 QL
39
ESWC2010
Anytime Reasoning
Solution(q,Os)No.
Sol
utio
ns
Sequence0 1 2 3 4
Solution(F 0
(F R(q
)), 0
)
Solution(F 1
(F R(q
)), 1
)
Solution(F 2
(F R(q
)), 2
)
Solution(F 3
(F R(q
)), 3
)
Solution(F 4
(F R(q
)), 4
)
40
ESWC2010
Anytime Reasoning
No. Solution(q,Os) = 18
No.
Sol
utio
ns
Sequence0 1 2 3
S 0=46
S 1=30
S 2=25
S 3=22
4
41
ESWC2010
TrOWL
TrOWL: Tractable reasoning infrastructure for OWL 2 [Thomas et al. 2010] Quality guaranteed transformations (such as modularisation,
approximations, forgetting) OWL 2 DL -> OWL 2 QL (semantic approximation) OWL 2 DL -> OWL 2 EL (syntactic approximation)
Ontology reasoners (supporting OWL API and Protégé) TrOWL Quill (OWL 2 QL / DL) TrOWL REL (OWL 2 EL / DL)
Explanation Justification Explanation on transformation
ONTOSEARCH2 serves as its front end ontological search engine supporting keyword plus entailment search [Pan et al. 2008]
URL: http://trowl.eu/
4242
http://www.csd.abdn.ac.uk/ http://www.deri.ie
OWL2 and its neighbour standards:RIF and SPARQL1.1
Axel Polleres
ESWC2010
Outline
OWL2 and RIF RIF fly-over
OWL2RL in RIF
RIF/OWL joint interpretations and what you need to know about them
OWL2 and SPARQL1.1 SPARQL Entailment Regimes
Challenges+Pitfalls
What’s in the current SPARQL 1.1 Draft?
GiaBATA A prototype implementation of SPARQL with dynamic
Entailment regimes (e.g. RDFS, OWL2RL).
2
ESWC2010
3
RIF fly-over
ESWC2010
OWL and RIF
RIF: Rule Interchange Format (rather than Rule language)– Framework for Rule Languages– Support RDF import: interesting for rule languages on top of RDF– Built-Ins support (close to XPath/XQuery functions and operators)– RIF Dialects:
– RIF BLD: basic logic dialect = Horn rules with Built-ins, Equality
– RIF Core: Datalog fragment (no logical function symbols, no head-equality)
– RIF PRD: Production rules dialect
– � �Normative XML syntax
Commonalities with OWL:– RIF can model OWL2 RL– Share same Datatypes (XSD Datatypes, most OWL2 Datatypes)
Differences– Different target audience: E.g. production rules (RIF PRD dialect)– Not necessarily focused on decidability, BLD = generic HORN rules with built-
ins and function symbols (Turing-complete language)
4
ESWC2010
RIF Dialects
5
ESWC2010
Example – RIF Core
Full name in FOAF from givenName, familyName
if ({ ?X a foaf:Person ; foaf:givenName ?F ; foaf:familyName ?S } AND
?N = fn:concat(?F, “ “, ?S) )
then { ?F foaf:name ?N }
Not expressible in OWL, neither in SPARQL CONSTRUCT
CONSTRUCT { ?X foaf:name ?N }
WHERE {?X a foaf:Person; foaf:givenName ?F ; foaf:familyName ?S FILTER (?N = fn:concat(?F, “ “, ?S)) }
6
ESWC2010
Example – RIF Core
Full name in FOAF from givenName, familyName
{ ?F foaf:name ?N } :-
{ ?X foaf:givenName ?F ; foaf:familyName ?S } AND
?N = fn:concat(?F, “ “, ?S)
Can be read like Logic Programming rule
Presentation syntax not normative, we use a Mix of N3 and non-normative Presentation syntax in the spec here.
7
ESWC2010
Example – RIF Core
Full name in FOAF from givenName, familyName
?F[->foaf:name ?N] :-
?X[foaf:givenName ?F], ?X[foaf:familyName->?S],
?N = fn:concat(?F, “ “, ?S) .
Can be read like Logic Programming rule
Presentation syntax not normative, we use a Mix of N3 and non-normative Presentation syntax in the spec here.
RIF has F-Logic style Frames (e.g. FLORA-2)… same semantics as RDF-Triples
Further in rif # corresponds to class membership, ## to subclassing
in combination with RDF, # is the same as rdf:type )
8
ESWC2010
Example – RIF BLD
ATTENTION: Class membership # in conclusions is not in RIF Core.
{ ?x rdf:type ?y } :- ?x # ?y
?x # ?y :- { ?x rdf:type ?y }
9
ESWC2010
10
Translating OWL2RL into RIF
ESWC2010
OWL 2RL can be rewritten to RIF
http://www.w3.org/TR/rif-owl-rl/
Translates OWL2RL profile into RIF, relatively straightforward translation of abstract rules from
http://www.w3.org/TR/owl2-profiles/#Reasoning_in_OWL_2_RL_and_RDF_Graphs_using_Rules
Appendix 7: Static ruleset
Appendix 8: Dynamically instantiating a RIF Core rule set for a given OWL 2 RL, similar in spirit to the embedding in http://www.w3.org/TR/rif-rdf-owl/ Section 9.2
11
ESWC2010
Static ruleset
Some rules straightforward,e.g.owl1: { ?S1 owl:SameAs ?S2 } :-
{ ?S1 ?P ?O . ?S2 ?P ?O . ?P rdf:type owl:InverseFunctionalProperty }
owl2: { ?Y ?P ?O } :- { ?X owl:SameAs ?Y . ?X ?P ?O }
owl3: { ?S ?Y ?O } :- { ?X owl:SameAs ?Y . ?S ?X ?O }
owl4 : { ?S ?P ?Y } :- { ?X owl:SameAs ?Y . ?S ?P ?X }
Others need auxiliary predicates for the static version:
prp-spo2: {?S ?P ?On+1} :- { ?P owl:propertyChainAxiom (P0 ...Pn)
?S ?P0 ?O1. ... ?On ?Pn ?On+1.}
12
eq-rep-s:eq-rep-p:eq-rep-o:
prp-ifp:
We’d need that rule for all n, i.e. different property chain lenghts appearing in the ontology at hand.
{?S ?P ?On+1} :- { ?P owl:propertyChainAxiom ?pc } AND _checkChain(?S ?pc ?On+1)
ESWC2010
Static ruleset:
prp-spo2:
13
Can be handled with auxiliary predicates:
{ ?S ?P ?On+1 } :- { ?P owl:propertyChainAxiom ?pc } AND _checkChain(?S ?pc ?On+1��)
_checkChain(?start ?pc ?last) :-{ ?pc rdf:first ?p ; rdf:rest rdf:nil . ?start ?p ?last }
_checkChain(?start ?pc ?last) :- And ({ ?pc rdf:first ?p ; rdf:rest ?tl . ?start ?p ?next }_checkChain(?next ?tl ?last) ))
ESWC2010
Other rules, e.g. subclassOf, inverseOf
14
{ ?S rdf:type ?D } :- { ?S rdf:type ?C . ?C rdfs:subclassOf ?D }
prp-inv1:{ ?O ?P2 ?S } :- { ?P1 inverseOf ?P2 . ?S ?P1 ?O }
prp-inv2:{ ?O ?P1 ?S } :- { ?P1 inverseOf ?P2 . ?S ?P2 ?O }
Similarly for other rules:
all of OWL2RL can be translated to RIF Core rules, fed into your favorite rules engine, used for
Query answering,
Consistency checking
cax-sco:
ESWC2010
Dynamic ruleset (Template-Rules)
Idea: Translate each ontology axiom by axiom dynamically
E.g. ontology in RDF
foaf:Person rdfs:subClassOf foaf:Agent
foaf:topic owl:inverseOf foaf:page
15
ESWC2010
Dynamic ruleset (Template-Rules)
Idea: Translate each ontology axiom by axiom dynamically
E.g. ontology in RDF
Matching Template Rules in Appendix 8.2:
{?x rdf:type foaf:Agent} :- {?x rdf:type foaf:Person }
{ ?Y foaf:topic ?X } :- { ?Y foaf:page ?X }
{ ?Y foaf:page ?X } :- { ?Y foaf:topic ?X }
Plus some fixed ruleset (Appendix 8.1 FixedRules inhttp://www.w3.org/TR/rif-owl-rl/
16
ESWC2010
17
Embedding OWL2RL Ontologies into RIF
for combinations with arbitrary RIF rulesets
ESWC2010
RIF + RDF and OWL in combination
RIF/OWL joint interpretations http://www.w3.org/TR/rif-rdf-owl/ defines semantic
correspondence between RIF and RDF/RDFS/OWL interpretations,
i.e., semantics for combinations of RDF graphs, OWL ontologies and RIF rulesets
Defines: RIF-OWL-Direct Entailment: Based on OWL direct semantics
RIF-OWL-DL combination disallows certain RIF documents
(only constants for classes in #, ##, only constants for predicates in frames) …
RIF-OWL RDF-Based Entailment:
Based on OWL RDF-Based Semantics.
18
ESWC2010
Embedding
(Informative) Embedding in http://www.w3.org/TR/rif-rdf-owl/ give rise for implementation of combination of OWL2RL and RIF :
1. Embedding RIF DL-document formulas into RIF BLD, , Section 9.2.1
2. Embedding OWL 2 RL axioms into RIF BLD, Section 9.2.2
We focus on the latter part…
19
ESWC2010
Embedding OWL2RL axioms into rules:
Section 9.2.2 defines recursive translation from OWL axioms to RIF rules… tr()
Very similar to Dynamic Rules we saw before E.g. OWL2RL ontology in RDF
foaf:Person rdfs:subClassOf foaf:Agent
foaf:topic owl:inverseOf foaf:page
foaf:topic type owl:ObjectProperty
foaf:page type owl:ObjectProperty
20
ESWC2010
Embedding OWL2RL axioms into rules:
Section 9.2.2 defines recursive translation from OWL axioms to RIF rules… tr()
Very similar to Dynamic Rules we saw before Translated to OWL abstract syntax axioms:
SubClassOf(foaf:Person foaf:Agent)
InverseObjectProperties(foaf:topic foaf:page)
21
ESWC2010
Embedding OWL2RL axioms into rules:
Section 9.2.2 defines recursive translation from OWL axioms to RIF rules… tr()
Very similar to Dynamic Rules we saw before Translated to RIF by translation tr() in Section 9.2.2 of
http://www.w3.org/TR/rif-rdf-owl/ :
{?x rdf:type foaf:Agent} :- {?x rdf:type foaf:Person }
{ ?Y foaf:topic ?X } :- { ?Y foaf:page ?X }
{ ?Y foaf:page ?X } :- { ?Y foaf:topic ?X }
Plus some static ruleset (ROWL-Direct(V,R))
22
ESWC2010
Subtle differences to direct OWL2RL translation from before:
Most fundamentally equality: owl:sameAs is directly translated to RIF’s =, rather than axiomatised as in slide 10:
OWL RDF: <http://a> owl:sameAs <http://b> .
Is embedded as:<http://a> = <http://b>
E.g. in Combination with RIF ruleset: _q(<http://a>). _p(?x) :- iri-to-string(?y, ?x) and _q(?y)
Entails: _p("http://a")._p("<http://b>").
Not so if I take the axiomatisation of sameAs from slide 10. Bottomline: To straightforwardly implement the embedding for
combinations, You need a rule system that supports equality.
23
ESWC2010
24
SPARQL 1.1 querying over OWL2 ontologies?
ESWC2010
OWL2 and SPARQL1.1
SPARQL1.1 working group will define SPARQL query answering over OWL2 ontologies and RIF rulesets:
http://www.w3.org/TR/sparql11-entailment/
Latest Working Draft just released… Contains Draft Semantics for
– SPARQL1.1 on top of RDFS– SPARQL1.1 on top of OWL2
– SPARQL1.1 on top of RIF
25
ESWC2010
OWL2 and SPARQL1.1
General Idea: Answer Queries with implicit answers E.g. Graph
foaf:Person rdfs:subClassOf foaf:Agent .
foaf:Person rdfs:subclassOf
[ a owl:Restriction ;
owl:onProperty :hasFather ;
owl:someValuesFrom foaf:Person. ]
:jeff a Person
:jeff foaf:knows :aidan
foaf:knows rdfs:range foaf:Person.
SELECT ?X { ?X a foaf:Person }
Pure SPARQL 1.0 returns only :Jeff, should also return :aidan
26
ESWC2010
Challenges+Pitfalls: Possibly Infinite answers (by RDFS ContainerMembership
properties, OWL datatype reasoning, etc.)
Conjunctive Queries: non-distinguished variables
SPARQL 1.1 features: Aggregates
27
SPARQL+RDFS/OWL: Challenges+Pitfalls
ESWC2010
SPARQL+RDFS/OWL: Challenges+Pitfalls
Current Solution: Possibly Infinite answers (by RDFS ContainerMembership
properties, OWL datatype reasoning, etc.)– Restrict answers to rdf:/rdfs:/owl:vocabulary minus rdf:_1 …
rdf:_n plus terms occurring in the data graph
Non-distinguished variables– No non-distinguished variables, answers must result from
BGP matching, projection a post-processing step not part of entailment.
SPARQL 1.1 other features: Aggregates– Again not affected, answers must result from BGP matching,
projection a post-processing step not part of entailment.
Simple, BUT: maybe not always entirelty intuitive, so– Good to know ;-)
28
ESWC2010
Possibly Infinite answers RDF(S): Container Membership
Graph: :me :hasFavouritePresenter [ a rdf:Seq;
rdf:_1 :jeff.
rdf:_2 :aidan.
rdf:_3 :axel. ]
Query with RDFS Entailment in mind:SELECT ?CM { ?CM a rdfs:ContainerMembershipProperty}
Entailed by RDFS (axiomatic Triples):rdfs:_1 a rdfs:ContainerMembershipProperty .
rdfs:_2 a rdfs:ContainerMembershipProperty .
rdfs:_3 a rdfs:ContainerMembershipProperty .
rdfs:_4 a rdfs:ContainerMembershipProperty .
…
29
ESWC2010
Possibly Infinite answers RDF(S): Container Membership
Graph: :me :hasFavouritePresenter [ a rdf:Seq;
rdf:_1 :jeff.
rdf:_2 :aidan.
rdf:_3 :axel. ]
Query with RDFS Entailment in mind:SELECT ?CM { ?CM a rdfs:ContainerMembershipProperty}
SPARQL 1.1 restricts answers to rdf:/rdfs:/owl:vocabulary minus rdf:_1 … rdf:_n plus terms occurring in the data graph
So, the only answers are:{ ?CM/rdfs:_1, ?CM/rdfs:_2, ?CM/rdfs:_3 }
30
ESWC2010
Possibly Infinite answers OWL: datatype reasoning
Stupid way to say Peter is 50:
ex:Peter a [ a owl:Restriction ;
owl:onProperty ex:age ;
owl:allValuesFrom [ rdf:type rdfs:Datatype .
owl:oneOf ("50"^^xsd:integer) ] ]
Stupid query asking What is NOT Peters age:SELECT ?x WHERE {
ex:Peter a [ a owl:Restriction ; owl:onProperty ex:age ; owl:allValuesFrom [ a rdfs:Datatype ;
owl:datatypeComplementOf [ a rdfs:Datatype ; owl:oneOf (?x) ] ] ] }
Theoretical answer: all literal different from 50
31Again, no danger: SPARQL 1.1 restricts answers to rdf:/rdfs:/owl:vocabulary minus rdf:_1 … rdf:_n plus terms occurring in
ESWC2010
Non-distinguished variables:
E.g. Graphfoaf:Person rdfs:subClassOf foaf:Agent .
foaf:Person rdfs:subclassOf
[ a owl:Restriction ;
owl:onProperty :hasFather ;
owl:someValuesFrom foaf:Person. ]
:jeff a Person
:jeff foaf:knows :aidan
foaf:knows rdfs:range foaf:Person.
SELECT ?X ?Y { ?X :hasFather ?Y }
No answer, because no known value for ?Y in the data graph.
32
ESWC2010
Non-distinguished variables:
E.g. Graphfoaf:Person rdfs:subClassOf foaf:Agent .
foaf:Person rdfs:subclassOf
[ a owl:Restriction ;
owl:onProperty :hasFather ;
owl:someValuesFrom foaf:Person. ]
:jeff a Person
:jeff foaf:knows :aidan
foaf:knows rdfs:range foaf:Person.
SELECT ?X { ?X :hasFather ?Y }
But what about this one? ?Y looks like a “non-distinguished” variableSolution: In SPARQL 1.1 answers must result from BGP matching,
projection a post-processing step not part of entailment so, still no answer.
33
ESWC2010
Non-distinguished variables:
Simple Solution may seem not always intuitive, but: OWL Entailment in SPARQL based on BGP matching, i.e.
– always only returns results with named individuals– Doesn’t affect SELECT: takes place before projection– That is: non-distinguished variables can’t occur “by design”
In fact, conjunctive queries with non-distinguished variable still an open research problem for OWL:
– Decidable for SHIQ, [B. Glimm et al. JAIR, 2008]– Decidable for OWL1 DL without transitive properties OWL1 Lite
without nominals [B. Glimm, KR-10]– Decidability for SHOIN, SROIQ though still unknown…
34
ESWC2010
SPARQL 1.1 other features: Aggregates
Similar as before… aggregates are evaluated as post-processing after BGP matching, so, no effect:
foaf:Person rdfs:subClassOf foaf:Agent .
foaf:Person rdfs:subclassOf
[ a owl:Restriction ;
owl:onProperty :hasFather ;
owl:someValuesFrom foaf:Person. ]
:jeff a Person
:jeff foaf:knows :aidan
foaf:knows rdfs:range foaf:Person.
SELECT ?X { ?X a foaf:Person }
Under RDFS/OWL entailment returns : {?X/jeff, ?X/aidan}
35
ESWC2010
SPARQL 1.1 other features: Aggregates
Similar as before… aggregates are evaluated as post-processing after BGP matching, so, no effect:
foaf:Person rdfs:subClassOf foaf:Agent .
foaf:Person rdfs:subclassOf
[ a owl:Restriction ;
owl:onProperty :hasFather ;
owl:someValuesFrom foaf:Person. ]
:jeff a Person
:jeff foaf:knows :aidan
foaf:knows rdfs:range foaf:Person.
SELECT ?Y AS Count(?X) { ?X a foaf:Person }
Under RDFS/OWL entailment returns : {?Y/2}
36
ESWC2010
GiaBATA
Time allowed, we will show a system which implements dynamic SPARQL querying, under different entailment regimes and how it can be implemented.
Based on LP engine DLV Datalog with built-ins (roughly RIF Core),
persistent Database backend (DLV-DB)
Optimisations (rewriting to push join processing into SQL as far as possible, magic sets,…)
plus a lot more features (nonmonotonicity, aggregates, …)
Overall idea for SPARQL+RDFS/OWL2RL over RDF graphs: Translate OWL2RL to Datalog rules a la RIF, see above.
Translate SPARQL query to Datalog [Polleres, WWW2007]
Feed resulting program into a rules engine (DLV-DB) that runs over a Rel DB storing RDF graphs.
Check Details at: http://axel.deri.ie/~axepol/presentations/20091029iann-etal-
ISWC2009_GiaBATA.pptx
37
ESWC2010
How to implement this?
GiaBATA system: SPARQL dlvhex (logic program)
Ruleset dlvhex (logic program)
Deductive Database techniques: Datalog engine (dlvhex)
Postgres SQL Database underneath (dlv-db)
RDF storable in different schemas in RDB
Magic sets, storage
38
SQL
ESWC2010
SPARQL dlvhex (logic program)
Based on [Polleres ,WWW2007]
Non-recursive Datalog with negation and built-ins:
39
ESWC2010
OWL2RL Static Ruleset dlvhex (logic program)
Straighforward, just translates rules in a way “compatible” with the SPARQL translation:
40
{?s ?q ?o } <= {?s ?p ?o . ?p rdfs:subPropertyOf ?q}
ESWC2010
SPARQL+Rules SQL
Done by dlv-DB, cf. [Terracina, et al. TPLP 8(2),2008]
All non-recursive parts are pushed to the Database
All recursive parts handled by semi-naïve evaluation
(more efficient than WITH RECURSIVE views in SQL, where necessary, intermediate results temporarily materialized into the DB)
Some necessary optimisations to make this reasonably performant:
FILTER expression evaluation is pushed to SQL (3-valued semantics of SPARQL Filters is handled natively in SQL)
No miracles… but magic: Magic set optimisations for focused fwd-chaining evaluation.
Join-reordering, not yet implemented, but we did some manual reordering to optimize the query plan in the experiments.
41
ESWC2010
42
Q/A?
Introduction to Linked Data and OWL 2 Now: Quick intro of RDF/OWL/Linked Open Data Overview: from OWL 1 to OWL 2 Reasoning services in OWL 2
Session 2: Efficient Rule-based OWL Reasoning on Web Challenges posed by Web data Including provenance in reasoning Distributed reasoning SAOR and related rule-based approaches
Session 3: Scalable Query Answering Based on Quality Guaranteed Approximations Challenges Soundness preserving approximation Completeness preserving approximation
Session4: Interplay of OWL with neighbour standards: RIF and SPARQL RIF and OWL SPARQL and OWL SPARQL with Dynamic Entailment, an implementation.
ESWC2010
References OWL2, Scalable/Tractable OWL Reasoning:
[Baader et al. 2005] Franz Baader, Sebastian Brandt, Carsten Lutz: Pushing the EL Envelope. IJCAI 2005: 364-369
[Calvanese et al. 2005] Diego Calvanese, Giuseppe De Giacomo, Domenico Lembo, Maurizio Lenzerini, Riccardo Rosati: DL-Lite: Tractable Description Logics for Ontologies. AAAI 2005: 602-607
[Calvanese et al. 2006] Diego Calvanese, Giuseppe De Giacomo, Domenico Lembo, Maurizio Lenzerini, Riccardo Rosati: Data Complexity of Query Answering in Description Logics. KR 2006: 260-270
[Calvanese et al. 2008] Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini, Riccardo Rosati: View-Based Query Answering over Description Logic Ontologies. KR 2008: 242-251
[Glimm et al. 2008] Birte Glimm, Carsten Lutz, Ian Horrocks, and Ulrike Sattler. Conjunctive query answer-ing for the description logic SHIQ. J. Artif. Intell. Res. (JAIR), 31:157–204, 2008.
[Birte Glimm and Sebastian Rudolph]. Status QIO: Conjunctive Query Entailment is Decidable. In Principles of Knowledge Representation and Reasoning (KR 2010), 2010.
[Delbru et al. 2008] R. Delbru, A. Polleres, G. Tummarello and S. Decker: Context Dependent Reasoning for Semantic Documents in Sindice. In Proceedings of the 4th International Workshop on Scalable Semantic Web Knowledge Base Systems.
[Hogan et al. 2008] Aidan Hogan, Andreas Harth, Axel Polleres: SAOR: Authoritative Reasoning for the Web. In Proceedings of the 3rd Asian Semantic Web Conference.
[Hogan&Decker 2009] Aidan Hogan, Stefan Decker: On the Ostensibly Silent ‘W’ in OWL 2 RL. InProceedings of the 3rd International Conference on Web Reasoning and Rule Systems.
[Hogan et al. 2009] Aidan Hogan, Andreas Harth, Axel Polleres: Scalable Authoritative OWL Reasoning for the Web. In International Journal on Semantic Web and Information Systems (IJSWIS).
[Motik 2007] Boris Motik: On the Properties of Metamodeling in OWL. J. Log. Comput. 17(4): 617-637 (2007).
[Motik and Horrocks 2008] Boris Motik and Ian Horrocks. OWL Datatypes: Design and Implementation. In Proc. of the 7th International Semantic Web Conference (ISWC 2008), volume 5318 of Lecture Notes in Computer Science, pages 307-322. Springer, 2008.
[Horrocks et al. 2006] Ian Horrocks, Oliver Kutz, Ulrike Sattler: The Even More Irresistible SROIQ. KR 2006: 57-67.
[Kazakov 2009] Yevgeny Kazakov: Consequence-Driven Reasoning for Horn SHIQ Ontologies. IJCAI 2009: 2040-2045
43
ESWC2010
[Kontchakov et al. 2010] Roman Kontchakov, Carsten Lutz, David Toman, Frank Wolter and Michael Zakharyaschev. The Combined Approach to Query Answering in DL-Lite. In Proc. of KR2010.
[Ortiz et al. 2006] Magdalena Ortiz, Diego Calvanese, Thomas Eiter: Characterizing Data Complexity for Conjunctive Query Answering in Expressive Description Logics. AAAI 2006
[Pan 2004] Jeff Z. Pan. Description Logics: Reasoning Support for the Semantic Web. Ph.D. Thesis, School of Computer Science, the University of Manchester, 2004.
[Pan and Horrocks 2006] Jeff Z. Pan and Ian Horrocks. OWL-Eu: Adding Customised Datatypes into OWL. In Journal of Web Semantics, 4(1). 29-49. 2006.
[Pan, Horrocks, Schreiber, 2005] Jeff Z. Pan, Ian Horrocks and Guus Schreiber. OWL FA: A Metamodeling Extension of OWL DL. In Proc. of the International workshop on OWL: Experience and Directions (OWL-ED2005). 2005
[Pan and Thomas, 2007] Jeff Z. Pan and Edward Thomas. Approximating OWL-DL Ontologies. In Proc. of the 22nd AAAI Conference on Artificial Intelligence (AAAI-07). 1434-1439. 2007.
[Pan et al. 2009] Jeff Z. Pan, Edward Thomas and Yuting Zhao. Completeness Guaranteed Approximation for OWL DL Query Answering. In Proc. of the 22nd International Workshop on Description Logics (DL2009). 2009.
[Pérez-Urbina et al. 2010] Héctor Pérez-Urbina, Boris Motik, Ian Horrocks: Tractable query answering and rewriting under description logic constraints. J. Applied Logic 8(2): 186-209 (2010)
[Ren et al. 2010] Yuan Ren, Jeff Z. Pan and Yuting Zhao. Soundness Preserving Approximation for TBox Reasoning. In Proc. of the 25th AAAI Conference Conference (AAAI2010). 2010.
[Rosati and Almatelli 2010] Riccardo Rosati and Alessandro Almatelli. Improving query answering over DL-Lite ontologies. In Proc. of KR2010.
[ter Horst 2005] Herman J. ter Horst: Combining RDF and Part of OWL with Rules: Semantics, Decidability, Complexity. In Proceedings of the 4th International Semantic Web Conference
[Urbani et al. 2009] Jacopo Urbani, Spyros Kotoulas, Eyal Oren, Frank van Harmelen: Scalable Distributed Reasoning Using MapReduce. In Proceedings of the 8th International Semantic Web Conference
[Weaver et al. 2009] Jesse Weaver and James A. Hendler. Parallel Materialization of the Finite RDFS Closure for Hundreds of Millions of Triples. In Proceedings of the 8th International Semantic Web Conference
References OWL2, Scalable/Tractable OWL Reasoning:
44
ESWC2010
45
References on RDF and SPARQL Querying
[Gutierrez et al. 2004] Gutierrez, C., Hurtado, C.A., Mendelzon, A.O.: Foundations of semantic web databases. In: PODS 2004, ACM (2004) 95–106
[Muñoz et al. 2007] Sergio Muñoz, Jorge Pérez, and Claudio Gutierrez. Minimal deductive systems for RDF. In Proceedings of the 4th European Semantic Web Conference (ESWC2007), 2007.
[Meier 2008] Michael Meier. Towards Rule-Based Minimization of RDF Graphs under Constraints. In Proc. RR’08, volume 5341 of LNCS, pages 89–103. Springer, 2008.
[Pichler et al. 2010] Reinhard Pichler, Axel Polleres, Sebastian Skritek, and Stefan Woltran. Redundancy elimination on rdf graphs in the presence of rules, constraints, and queries. In Proc. RR’10, Bressanone, Italy, September 2010.
[Polleres 2007] Axel Polleres. From SPARQL to rules (and back). In Proceedings of the 16th World Wide Web Conference (WWW2007), pages 787–796, Banff, Canada, May 2007. ACM Press
[Pérez et al, 2006] Pérez, J., Arenas, M., Gutierrez, C.: Semantics and complexity of SPARQL. ACM Trans. Database Syst. 34(3) (2009)
[Angles&Gutierrez, 2008]Angles, R., Gutierrez, C.: The expressive power of SPARQL. In: Proc. ISWC 2008. Volume 5318 of LNCS., Springer (2008) 114–129
[Ianni et al., 2009] G. Ianni, T. Krennwallner, A. Martello, A. Polleres. Dynamic querying of mass-storage RDF data with rule-based entailment regimes. In Proceedings of the 8th International Semantic Web Conference (ISWC 2009), October 2009. Springer.
[Terracina, et al.,2008] Terracina, G., Leone, N., Lio, V., Panetta, C.: Experimenting with recursive queries in database and logic programming systems. Theory Pract. Log. Program. 8(2) (2008) 129–165.
[Siberski et al. 2006] Wolf Siberski, Jeff Z. Pan and Uwe Thaden. Querying the Semantic Web with Preferences. In Proc. of the 5th International Semantic Web Conference (ISWC2006), 612 - 624. 2006.
ESWC2010
46
Relevant W3C Standard Specs
RDF Semantics http://www.w3.org/TR/rdf-mt/
OWL2 Web Ontology Language Primer http://www.w3.org/TR/owl2-primer/
OWL2 Web Ontology Language Profiles http://www.w3.org/TR/owl2-profiles/
SPARQL Query Language for RDF http://www.w3.org/TR/rdf-sparql-query/
SPARQL1.1 Query Language for RDF (working draft) http://www.w3.org/TR/sparql11-query/
SPARQL1.1 Entailment Regimes (working draft) http://www.w3.org/TR/sparql11-entailment/
RIF Core Dialect http://www.w3.org/TR/rif-core/
RIF Basic Logic Dialect http://www.w3.org/TR/rif-bld/
RIF RDF and OWL compatibility http://www.w3.org/TR/rif-rdf-owl/
ESWC2010
47
Acknowledgements
Richard Cyganiak Renaud Delbru Ian Horrocks Nophadol Jekjantuk Anja Jentzsch Yuan Ren Edward Thomas Yuting Zhao Giovambattista Ianni Alessandra Martello Thomas Krennwallner The members of the W3C OWL WG The members of the W3C RIF WG The members of the W3C SPARQL WG
47
Software: TrOWL http://trowl.eu/