Top Banner
Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome
21

Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

Dec 25, 2015

Download

Documents

Brett Chandler
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

Integrating DLs withLogic Programming

Boris Motik, University of Manchester

Joint work with

Riccardo Rosati, University of Rome

Page 2: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

2/21

Contents

• Description Logics and OWL

• What is Missing in DLs?

• Hybrid MKNF Knowledge Bases

• Reasoning Algorithm

• Conclusion

Page 3: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

3/21

Description Logics and OWL

• OWL (Web Ontology Langage) language for ontology modeling in the Semantic Web standard of the W3C (http://www.w3.org/2004/OWL/)

• OWL is based on Description Logics (DLs) inspired by semantic networks DLs have a precise semantics based on first-order logics well-understood computational properties

• What can we say in OWL?

UK cities are in UK regions.UK cities are in UK regions. UKCity v 9 isIn.UKRgnUKCity v 9 isIn.UKRgn 8 x : UKCity(x) ! 9 y : isIn(x,y) Æ UKRgn(x)8 x : UKCity(x) ! 9 y : isIn(x,y) Æ UKRgn(x)

UK regions are EU regions.UK regions are EU regions. UKRgn v EURgnUKRgn v EURgn 8 x : UKRgn(x) ! EURgn(x)8 x : UKRgn(x) ! EURgn(x)

Things in EU are parts of EU.Things in EU are parts of EU. 9 isIn.EURgn v EUPart9 isIn.EURgn v EUPart 8 x : [9 y : isIn(x,y) Æ EURgn(y)] ! EUPart(x)8 x : [9 y : isIn(x,y) Æ EURgn(y)] ! EUPart(x)

UK cities are parts of EU.UK cities are parts of EU. UKCity v EUPartUKCity v EUPart 8 x : UKCity(x) ! EUPart(x)8 x : UKCity(x) ! EUPart(x)

We can conclude:

Page 4: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

4/21

DLs vs. Logic Programming

• OWL… …has been very successful …but many features are still needed in practice

• Logic programming seems to address many needs• Political dimension: The battle for The Semantic Web Language

• This work provides an integration framework for DLs and LP fully compatible with both systems

OWLLP

RIF Working Group

Page 5: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

5/21

Contents

• Description Logics and OWL

• What is Missing in DLs?

• Hybrid MKNF Knowledge Bases

• Reasoning Algorithm

• Conclusion

Page 6: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

6/21

• Relational expressivity OWL can express only tree-like axioms

• Polyadic predicates e.g., Flight(From, To, Airline)

• Exceptions the heart is on the left, but in some cases it is on the right

Human v HeartOnLeft, Dextrocardiac v Human,Dextrocardiac v :HeartOnLeft

the class Dextrocardiac is unsatisfiable we want to say “with no contrary evidence, the heart is on the left”

Missing Features (I)

9 S.(9 R.C u 9 R.D) v Q ,8 x:{[9 y: S(x,y) Æ (9 x: R(y,x) Æ C(x)) Æ (9 x: R(y,x) Æ D(x))] ! Q(x)},8 x,x1,x2,x3:{ S(x,x1) Æ R(x1,x2) Æ C(x2) Æ R(x1,x3) Æ D(x3) ! Q(x) }

x

x1

S

x2 x3

R R

Page 7: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

7/21

Missing Features (II) – Closed Worlds

flight(MAN,STR)flight(MAN,LHR)flight(MAN,FRA)flight(FRA,ZAG)

Question: is there a flight from MAN to MUC?

Open worlds (=OWL):Don’t know!

We did not specify thatwe know information about

all possible flights.

Closed worlds (=LP):No.

If we cannot prove something,it must be false.

• Partial solution: close off the predicate flight8 x,y: flight(x,y) $ (x ¼ MAN Æ y ¼ STR) Ç (x ¼ MAN Æ y ¼ LHR) Ç …

cannot express many things (e.g., transitive closure)

• Closed-world is orthogonal to closed-domain reasoningPerson v 9 father.Person Person(Peter) > v { Peter,Paul }

Peter and Paul are now the only objects (the domain is closed) we do not have CWA (e.g, we cannot derive :father(Peter,Paul)

Page 8: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

8/21

Missing Features (III) – Constraints

• “Each person must have an SSN” naïve attempt:

Person u :(9 hasSSN.SSN) v ?

in FOL, this is equivalent to:

Person v 9 hasSSN.SSN

assume that only Person(Peter) is given we expect the constraint to be violated (no SSN)

but KB is satisfiable: Peter has some unknown SSN

• FOL formulae… …speak about the general properties of worlds

…cannot reason about their own knowledge

Page 9: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

9/21

Contents

• Description Logics and OWL

• What is Missing in DLs?

• Hybrid MKNF Knowledge Bases

• Reasoning Algorithm

• Conclusion

Page 10: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

10/21

Main Idea

(Researcher t Programmer)(Boris)

Researcher v Employed

Programmer v Employed

² Employed(Boris)² Researcher(Boris)² Programmer(Boris)

² K Employed(Boris)² :K Researcher(Boris)² :K Programmer(Boris)

• K is nonmonotonic if we assert Researcher(Boris), then…

K Researcher(Boris) holds :K Researcher(Boris) does not hold any more

• OWA vs. CWA CWA requires introspection – reasoning about own beliefs

• Modal logics allow reasoning about consequences KB ² A iff KB ² K A KB ² A iff KB ² :K A ( looks like CWA

Page 11: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

11/21

Minimal Knowledge and Negation as Failure

• [Lifschitz; IJCAI ’91, Artificial Intelligence ’95]• Syntax: FOL with modal operators K and not• Semantics:

an FO interpretation I and two sets of FO interpretations M and N

• M is a model of if: (I,M,M) ² and for each M’ ¾ M, there is some I’ 2 M’ such that (I’,M’,M) ²

(I,M,N) ² A iif A is true in I

(I,M,N) ² : iif is false in I

(I,M,N) ² 1 Æ 2 iif both 1 and 2 are true in I

(I,M,N) ² K iif (J,M,N) ² for each J 2 M

(I,M,N) ² not iif (J,M,N) ² for some J 2 N

Gelfond-Lifschitz reduct!

Page 12: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

12/21

Hybrid MKNF Knowledge Bases

• DL-safety: each variable in each rule must occur in a body non-DL-K-atom makes rules applicable only to named objects necessary for decidability

H1 Ç … Ç Hn à B1, …, Bm

• Hi are first-order or K-atoms

• Bi are first-order, K-, or not-atoms

P(t1, …, tn) - first-order atom

K P(t1, …, tn) - K-atom

not P(t1, …, tn) - not-atom

• MKNF Rule:

• Hybrid MKNF Knowledge Base: K = (O,P) O – a FOL KB in some language DL P – a finite set of MKNF rules

• Semantics by translation into MKNF

K) = K (O) Æ Ær 2 P 8 x1,…,xn : H1 Ç … Ç Hn ½ B1 Æ … Æ Bm

Page 13: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

13/21

Example (I)

• We derive seasideCity(Barcelona) assuming it does not lead to contradiction deriving seasideCity(Hamburg) would cause a contraction

• We derive Suggest(Barcelona) this involves standard DL reasoning we do not know the name of the beach in Barcelona

default rule

Page 14: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

14/21

Example (II)

• We treat ¼ in a special way we minimize equality along with other predicates

this yields intuitive consequences

• The constraint is satisfied HolyFamily is a church,

the architect of SagradaFamilia has been specified, and

HolyFamily and SagradaFamilia are synonyms

constraint

Page 15: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

15/21

Compatibility

• Our formalism is fully compatible with DLs(O,;) ² iff O ² for any FOL formula

to achieve this, we modified MKNF slightly we must treat equality in a special way

• Our formalism is fully compatible with LP(;,P) ² A iff P ² A for A a ground atom

already shown by Lifschitz

• The combination seems quite intuitive …as long as we do not mix modal and nonmodal atoms

Page 16: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

16/21

Contents

• Description Logics and OWL

• What is Missing in DLs?

• Hybrid MKNF Knowledge Bases

• Reasoning Algorithm

• Conclusion

Page 17: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

17/21

How to Represent Models

• An MKNF model M is a set of interpretations = typically infinite!

we need a finite representation

• We represent M by a FOL formula such thatM = { I | I ² }

• We can consider only K-atoms from P (P,N) – a partition of all K-atoms into positive and negative

objective knowledge ():

obK,P = O [ { A | K A 2 P }

our main task is to find a partition (P,N) that defines a model

Page 18: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

18/21

The General Case

Grounding

Guess a partition that defines an MKNF model

Check whether the rules are satisfied in this model.

Check whether this model is consistent with the DL KB.

Check whether this is the model of minimal knowledge.

Check whether the query does not hold in the model.

These are the extensions to the standard algorithm for disjunctive datalog.

Page 19: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

19/21

Data Complexity

• If rules have special form, we can… …find (P,N) in an easier way (e.g. deterministically) and/or …check the minimality condition easier

• Data complexity of answering ground atomic queries: schema is fixed data is variable

• The notion of stratification is rather complex it must take into account recursion through the DL KB

difficult to check (= undecidable) and relatively weak

Page 20: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

20/21

Contents

• Description Logics and OWL

• What is Missing in DLs?

• Hybrid MKNF Knowledge Bases

• Reasoning Algorithm

• Conclusion

Page 21: Integrating DLs with Logic Programming Boris Motik, University of Manchester Joint work with Riccardo Rosati, University of Rome.

21/21

Conclusion

• Hybrid MKNF rules… …generalize most known combinations of DLs and rules

they generalize Rosati’s DL-log

they do not generalize Eiter’s approach

…are fully compatible with both DLs and LP

…are intuitive

…have nice complexity

• Future work: well-founded semantics

not trivial, because MKNF is a two-valued logic

implementation