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
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
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
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
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
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
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 7 Fabian M. Suchanek
Our Approach DLP KRHyper/ smodels / dlv Transform
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 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 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
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
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
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
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
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
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