+ All Categories
Home > Documents > Scalable OWL Reasoning for Linked Data - University...

Scalable OWL Reasoning for Linked Data - University...

Date post: 24-May-2018
Category:
Upload: vodang
View: 216 times
Download: 1 times
Share this document with a friend
86
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
Transcript

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/


Recommended