Automated Reasoning Support for First-Order Ontologies presented at - - PowerPoint PPT Presentation

automated reasoning support for first order ontologies
SMART_READER_LITE
LIVE PREVIEW

Automated Reasoning Support for First-Order Ontologies presented at - - PowerPoint PPT Presentation

Automated Reasoning Support for First-Order Ontologies presented at the 4 th Workshop on Principles and Practice of Semantic Web Reasoning (PPSWR 2006) Peter Baumgartner (National ICT Australia, Canberra/Australia) Fabian M. Suchanek


slide-1
SLIDE 1

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 1 Fabian M. Suchanek

Automated Reasoning Support for First-Order Ontologies

presented at the 4th Workshop on Principles and Practice

  • f Semantic Web Reasoning (PPSWR 2006)

Peter Baumgartner (National ICT Australia, Canberra/Australia) Fabian M. Suchanek (Max-Planck-Institute for CS, Saarbruecken/Germany)

slide-2
SLIDE 2

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 2 Fabian M. Suchanek

Automated Reasoning Support for FOLOs

ر Motivation ر Our Transformation from FOL to DLPs ر Existentially Quantified Formulae ر Equality ر Conclusion

slide-3
SLIDE 3

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 3 Fabian M. Suchanek

Model Computation

Model (set of derivable facts) Ontology (set of FOL formulae)

sings(elvis). singer(elvis). ∀x singer(x) => sings(x) singer(elvis)

slide-4
SLIDE 4

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 4 Fabian M. Suchanek

Use of Model Computation

Model computation can be used for: ر Finding contradictions in the ontology (there is a model only iff the ontology is consistent) ر Debugging the ontology ر Proving/disproving conjectures

slide-5
SLIDE 5

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 5 Fabian M. Suchanek

Undecidability of Model Computation

Model Computation is only semi-decidable for FOL: ر we can (in principle) always detect unsatisfiability ر we cannot always detect satisfiability (for principal reasons)

slide-6
SLIDE 6

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 6 Fabian M. Suchanek

Existing Approaches

There exist model generation systems (e.g. MACE4 and Paradox). Problems: ر They try to map all constants to the same domain element ر They have difficulties if there are many distinct constants

Fails for n>8

p(c1,...cn). ¬p(x1,...,xi-1, x ,xi+1...,xj-1, x ,xj+1,...xn). for all 1<i<j<n

slide-7
SLIDE 7

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 7 Fabian M. Suchanek

Our Approach DLP KRHyper/ smodels / dlv Transform

slide-8
SLIDE 8

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 8 Fabian M. Suchanek

Disjunctive Logic Programs (DLPs)

Rule: r(a) v p(x,y) :- q(x,y), r(z), not(s(a,x)). A Disjunctive Logic Program (DLP) is a set of rules.

slide-9
SLIDE 9

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 9 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x inCharge(x) => onLeave(x) v ∃y refersTo(x,y)

Prenex Negation Normal Form

∀x[…] ∃y[…] [Qz…] ¬inCharge(x) v onLeave(x) v refersTo(x,y)

slide-10
SLIDE 10

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 10 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x inCharge(x) => onLeave(x) v ∃y refersTo(x,y) ∀x[…] ∃y[…] [Qz…] ¬inCharge(x) v onLeave(x) v refersTo(x,y)

slide-11
SLIDE 11

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 11 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x inCharge(x) => onLeave(x) v ∃y refersTo(x,y) ∀x[…] ∃y[…] [Qz…] ¬inCharge(x) v onLeave(x) v refersTo(x,y)

Disjuncts with existential or following variables Disjuncts without existential or following variables

slide-12
SLIDE 12

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 12 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x inCharge(x) => onLeave(x) v ∃y refersTo(x,y) ∀x[…] ∃y[…] [Qz…] ¬inCharge(x) v onLeave(x) v refersTo(x,y)

Disjuncts with existential or following variables Disjuncts without existential or following variables

slide-13
SLIDE 13

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 13 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x inCharge(x) => onLeave(x) v ∃y refersTo(x,y)

negative literals

∀x[…] ∃y[…] [Qz…] ¬inCharge(x) v onLeave(x) v refersTo(x,y)

Disjuncts with existential or following variables Disjuncts without existential or following variables

slide-14
SLIDE 14

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 14 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x ∃y ¬inCharge(x) v onLeave(x) v refersTo(x,y) Option 1: Usual Skolemization

prev∃(x) v is_sat∃(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x).

slide-15
SLIDE 15

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 15 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x ∃y ¬inCharge(x) v onLeave(x) v refersTo(x,y) Option 1: Usual Skolemization

prev∃(x) v is_sat∃(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x). Problem: ¬onLeave(Smith) refersTo(Smith,Miller) refersTo(Smith,sk(Smith)).

slide-16
SLIDE 16

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 16 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x ∃y ¬inCharge(x) v onLeave(x) v refersTo(x,y) Option 2: Recyling

prev∃(x) v is_sat∃(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x). Problem: ¬onLeave(Smith) refersTo(Smith,Miller) refersTo(Smith,sk(Smith)).

(simplified. See paper)

slide-17
SLIDE 17

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 17 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x ∃y ¬inCharge(x) v onLeave(x) v refersTo(x,y) Option 2: Recyling

prev∃(x) v is_sat∃(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x). false :- is_sat∃(x), not(refersTo(x,y)). Problem: ¬onLeave(Smith) refersTo(Smith,Miller) refersTo(Smith,sk(Smith)).

(simplified. See paper)

slide-18
SLIDE 18

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 18 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x ∃y ¬inCharge(x) v onLeave(x) v refersTo(x,y) Option 2: Recyling

prev∃(x) v is_sat∃(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x). false :- is_sat∃(x), not(refersTo(x,y)). Problem: ¬onLeave(Smith) refersTo(Smith,Miller) refersTo(Smith,sk(Smith)).

(simplified. See paper)

slide-19
SLIDE 19

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 19 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x ∃y ¬inCharge(x) v onLeave(x) v refersTo(x,y) Option 2: Recyling

prev∃(x) v is_sat∃(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x). false :- is_sat∃(x), not(refersTo(x,y)). Problem: ¬∃x onLeave(x) refersTo(Smith,sk(Smith)).

slide-20
SLIDE 20

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 20 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x ∃y ¬inCharge(x) v onLeave(x) v refersTo(x,y) Option 2: Recyling

prev∃(x) v is_sat∃(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x). false :- is_sat∃(x), not(refersTo(x,y)). Problem: ¬∃x onLeave(x) refersTo(Smith,sk(Smith)). refersTo(sk(Smith),sk(sk(Smith))). refersTo(sk(sk(Smith)),sk(sk(sk(Smith)))). refersTo(sk(sk(sk(Smith))),sk(sk(sk(sk(Smith))))).

slide-21
SLIDE 21

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 21 Fabian M. Suchanek

refersTo(sk(sk(sk(sk(Smith)))),sk(sk(sk(sk(sk(Smith)))))).

Our Transformation from FOL to DLPs

refersTo(sk(sk(sk(sk(sk(Smith))))),sk(sk(sk(sk(sk(sk(Smith))))))). refersTo(sk(sk(sk(sk(sk(sk(Smith)))))),sk(sk(sk(sk(sk(sk(sk(Smith)))))))). k(sk(sk(sk(sk(sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith)))))))))).

Option 2: Recyling

ersTo(sk(sk(sk(sk(sk(sk(sk(Smith))))))),sk(sk(sk(sk(sk(sk(sk(sk(Smith))))))))). (sk(sk(sk(sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith))))))))))).

∀x ∃y ¬inCharge(x) v onLeave(x) v refersTo(x,y)

prev∃(x) v is_sat∃(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x). sk(sk(sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith)))))))))))). false :- is_sat (x), sk(sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith))))))))))))). Problem: ¬∃x onLeave(x)

not(refersTo(x,y)). sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith)))))))))))))). k(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith))))))))))))))). refersTo(Smith,sk(Smith)). sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk( refersTo(sk(Smith),sk(sk(Smith))). sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk refersTo(sk(sk(Smith)),sk(sk(sk(Smith)))). sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(s refersTo(sk(sk(sk(Smith))),sk(sk(sk(sk(Smith))))).

slide-22
SLIDE 22

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 22 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x ∃y ¬inCharge(x) v onLeave(x) v refersTo(x,y) Option 2: Recyling

prev∃(x) v is_sat∃(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x). false :- is_sat∃(x), not(refersTo(x,y)). Problem: ¬∃x onLeave(x) refersTo(Smith,sk(Smith)).

(simplified. See paper)

slide-23
SLIDE 23

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 23 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x ∃y ¬inCharge(x) v onLeave(x) v refersTo(x,y) Option 3: Loop check

prev∃(x) v is_sat∃(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x). Problem: ¬∃x onLeave(x) refersTo(Smith,sk(Smith)).

(simplified. See paper)

slide-24
SLIDE 24

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 24 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x ∃y ¬inCharge(x) v onLeave(x) v refersTo(x,y) Option 3: Loop check

prev∃(x) v is_sat∃(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x). false :- is_sat∃(x), not(refersTo(x,y)). Problem: ¬∃x onLeave(x) refersTo(x,sk(z)) :- prev∃(x), refersTo(z,sk(z)). refersTo(Smith,sk(Smith)).

(simplified. See paper)

slide-25
SLIDE 25

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 25 Fabian M. Suchanek

Our Transformation from FOL to DLPs ∀x ∃y ¬inCharge(x) v onLeave(x) v refersTo(x,y) Option 3: Loop check

prev∃(x) v is_sat∃(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x). false :- is_sat∃(x), not(refersTo(x,y)). Problem: ¬∃x onLeave(x) refersTo(x,sk(z)) :- prev∃(x), refersTo(z,sk(z)). refersTo(Smith,sk(Smith)). refersTo(sk(Smith),sk(Smith)).

(simplified. See paper)

slide-26
SLIDE 26

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 26 Fabian M. Suchanek

Our Transformation from FOL to DLPs DLP Transform

prev∃ , is_sat∃ The model is preserved (modulo the fresh predicate symbols).

slide-27
SLIDE 27

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 27 Fabian M. Suchanek

Treating Equality equal(dog(smith), bonzo). inCharge(dog(smith)). inCharge(bonzo).

slide-28
SLIDE 28

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 28 Fabian M. Suchanek

Treating Equality equal(dog(smith), bonzo). inCharge(dog(smith)). inCharge(Y):-inCharge(X),equal(X,Y). equal(dog(X),dog(Y)) :- equal(X,Y). equal(X,X). equal(X,Y) :- equal(Y,X). equal(X,Z) :- equal(X,Y), equal(Y,Z). Substitution axioms Equivalence axioms

slide-29
SLIDE 29

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 29 Fabian M. Suchanek

Treating Equality equal(dog(smith), bonzo). inCharge(dog(smith)). inCharge(Y):-inCharge(X),equal(X,Y). equal(dog(X),dog(Y)) :- equal(X,Y). equal(X,X). equal(X,Y) :- equal(Y,X). equal(X,Z) :- equal(X,Y), equal(Y,Z). Substitution axioms Equivalence axioms equal(dog(dog(smith)),dog(bonzo)).

slide-30
SLIDE 30

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 30 Fabian M. Suchanek

Treating Equality equal(dog(dog(dog(dog(dog(dog(dog(dog(dog(dog(dog(elvi equal(dog(smith), bonzo). inCharge(dog(smith)). equal(dog(dog(dog(dog(dog(dog(dog(dog(dog(smith))))))))),w equal(dog(dog(dog(dog(dog(dog(dog(dog(dog(dog(smith))))) inCharge(Y):-inCharge(X),equal(X,Y). equal(dog(X),dog(Y)) :- equal(X,Y). equal(X,X). equal(X,Y) :- equal(Y,X). equal(X,Z) :- equal(X,Y), equal(Y,Z). Substitution axioms Equivalence axioms equal(dog(dog(dog(smith))),dog(dog(bonzo))). equal(dog(dog(dog(dog(smith)))),dog(dog(dog(bonzo)))). equal(dog(dog(dog(dog(dog(smith))))),dog(dog(dog(dog(pris equal(dog(dog(dog(dog(dog(dog(smith)))))),dog(dog(dog(wif equal(dog(dog(dog(dog(dog(dog(dog(smith))))))),dog(dog(wif equal(dog(dog(dog(dog(dog(dog(dog(dog(smith)))))))),dog(wi equal(dog(dog(smith)),dog(bonzo)).

slide-31
SLIDE 31

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 31 Fabian M. Suchanek

Treating Equality equal(dog(smith), bonzo). inCharge(dog(smith)). inCharge(Y):-inCharge(X),equal(X,Y). equal(dog(X),dog(Y)) :- equal(X,Y). equal(X,X). equal(X,Y) :- equal(Y,X). equal(X,Z) :- equal(X,Y), equal(Y,Z). Substitution axioms Equivalence axioms

slide-32
SLIDE 32

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 32 Fabian M. Suchanek

Treating Equality equal(dog(smith), bonzo). inCharge(dog(smith)). equal(X,X). equal(X,Y) :- equal(Y,X). equal(X,Z) :- equal(X,Y), equal(Y,Z). Equivalence axioms

slide-33
SLIDE 33

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 33 Fabian M. Suchanek

Treating Equality equal(dog(smith), bonzo). inCharge( X ) :- equal(X,dog(smith)). Flatten function terms (Brand 1975) equal(X,X). equal(X,Y) :- equal(Y,X). equal(X,Z) :- equal(X,Y), equal(Y,Z). Equivalence axioms

slide-34
SLIDE 34

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 34 Fabian M. Suchanek

Treating Equality equal(dog(smith), bonzo). inCharge( X ) :- equal(X,dog(smith)). equal(X,X). equal(X,Y) :- equal(Y,X). equal(X,Z) :- equal(X,Y), equal(Y,Z). Equivalence axioms inCharge(bonzo).

slide-35
SLIDE 35

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 35 Fabian M. Suchanek

Treating Equality DLP Transform

Iff the original DLP has a model that satisfies equality, then the transformed DLP has a model (which contains the original one)

slide-36
SLIDE 36

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 36 Fabian M. Suchanek

Preliminary Experiments with SUMO

SUMO The Suggested Upper Merged Ontology (SUMO): ر is the largest public formal ontology available today ر uses first order logic with higher order features ر contains 1800 facts and rules if higher order features are stripped

∀x human(x) => ∃y mother(x,y)

slide-37
SLIDE 37

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 37 Fabian M. Suchanek

Preliminary Experiments with SUMO

Applying our approach to SUMO: ر The transformation to a DLP takes just a few seconds ر The model computation with KRHyper takes just a few seconds ر The model computation revealed numerous inconsistencies in SUMO

slide-38
SLIDE 38

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 38 Fabian M. Suchanek

Preliminary Experiments with SUMO

Results: ر Equality transformation proved scalable and useful

slide-39
SLIDE 39

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 39 Fabian M. Suchanek

Preliminary Experiments with SUMO

Results: ر Equality transformation proved scalable and useful We added the following conjectures to SUMO:

  • rientation(germany,west, biggestTradingPartner(germany)).
  • rientation(france, west, germany).

F G BTP(G)

=

equal(biggestTradingPartner(germany),france).

slide-40
SLIDE 40

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 40 Fabian M. Suchanek

Preliminary Experiments with SUMO

Results: ر Equality transformation proved scalable and useful We added the following conjectures to SUMO:

  • rientation(germany,west, biggestTradingPartner(germany)).
  • rientation(france, west, germany).

F G BTP(G)

equal(biggestTradingPartner(germany),france).

  • rientation(germany, east, france).
  • rientation(germany, west, france).

=

slide-41
SLIDE 41

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 41 Fabian M. Suchanek

Preliminary Experiments with SUMO

Results: ر Equality transformation proved scalable and useful ر Recycling of terms works as expected

slide-42
SLIDE 42

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 42 Fabian M. Suchanek

Preliminary Experiments with SUMO

Results: ر Equality transformation proved scalable and useful ر Recycling of terms works as expected We added the following conjecture to SUMO: instance(p,judicialProcess)

slide-43
SLIDE 43

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 43 Fabian M. Suchanek

Preliminary Experiments with SUMO

Results: ر Equality transformation proved scalable and useful ر Recycling of terms works as expected We added the following conjecture to SUMO: instance(p,judicialProcess) SUMO axiom: ∀x instance(x,judicialProcess) => ∃y agent(x,y) agent(p,sk(p)).

slide-44
SLIDE 44

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 44 Fabian M. Suchanek

Preliminary Experiments with SUMO

Results: ر Equality transformation proved scalable and useful ر Recycling of terms works as expected We added the following conjecture to SUMO: instance(p,judicialProcess) agent(p,smith) SUMO axiom: ∀x instance(x,judicialProcess) => ∃y agent(x,y) agent(p,smith).

slide-45
SLIDE 45

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 45 Fabian M. Suchanek

Preliminary Experiments with SUMO

Results: ر Equality transformation proved scalable and useful ر Recycling of terms works as expected ر Loop check cannot always avoid infinite models

slide-46
SLIDE 46

PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 46 Fabian M. Suchanek

Conclusion

Our transformation for FOL ontologies ر allows to compute models for large ontologies ر supports equality ر avoids unnecessary skolem terms ر(often) avoids infinite models