Fabian M. SuchanekPPSWR 2006 - Automated Reasoning Support for FOL Ontologies 1 presented at the 4...
-
Upload
hugo-reeves -
Category
Documents
-
view
215 -
download
0
description
Transcript of Fabian M. SuchanekPPSWR 2006 - Automated Reasoning Support for FOL Ontologies 1 presented at the 4...
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 1Fabian M. Suchanek
presented at the4th Workshop on Principles and Practice
of Semantic Web Reasoning (PPSWR 2006)
Peter Baumgartner (National ICT Australia, Canberra/Australia)
Fabian M. Suchanek (Max-Planck-Institute for CS, Saarbruecken/Germany)
Automated Reasoning Support
for First-Order Ontologies
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 2Fabian M. Suchanek
Automated Reasoning Support for FOLOs
Motivation ر
Our Transformation from FOL to DLPs ر
Existentially Quantified Formulae ر
Equality ر
Conclusion ر
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 3Fabian M. Suchanek
Model Computation
Ontology (set of FOL formulae)
Model (set of derivable facts)
x singer(x) => sings(x)
singer(elvis)
sings(elvis).
singer(elvis).
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 4Fabian 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 ر
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 5Fabian 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) ر
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 6Fabian 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 ر
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 7Fabian M. Suchanek
Existing Approaches
p(c1,...cn).p(x1,...,xi-1, x ,xi+1...,xj-1, x ,xj+1,...xn). for all 1<i<j<n
Fails for n>8
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 ر
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 8Fabian M. Suchanek
Our Approach
DLP KRHyper/ smodels / dlv
Transform
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 9Fabian M. Suchanek
Disjunctive Logic Programs (DLPs)
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.
Rule:
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 10Fabian M. Suchanek
Our Transformation from FOL to DLPs
Prenex Negation Normal Form
x inCharge(x) => onLeave(x) v y refersTo(x,y)
x[…] y[…] [Qz…] inCharge(x) v onLeave(x) v refersTo(x,y)
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 11Fabian M. Suchanek
Our Transformation from FOL to DLPs
x[…] y[…] [Qz…] inCharge(x) v onLeave(x) v refersTo(x,y)
x inCharge(x) => onLeave(x) v y refersTo(x,y)
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 12Fabian M. Suchanek
Our Transformation from FOL to DLPs
Disjuncts without existential or following variables
Disjuncts with existential or following variables
x[…] y[…] [Qz…] inCharge(x) v onLeave(x) v refersTo(x,y)
x inCharge(x) => onLeave(x) v y refersTo(x,y)
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 13Fabian M. Suchanek
Our Transformation from FOL to DLPs
Disjuncts without existential or following variables
Disjuncts with existential or following variables
x[…] y[…] [Qz…] inCharge(x) v onLeave(x) v refersTo(x,y)
x inCharge(x) => onLeave(x) v y refersTo(x,y)
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 14Fabian M. Suchanek
Our Transformation from FOL to DLPs
negative literals
Disjuncts without existential or following variables
Disjuncts with existential or following variables
x[…] y[…] [Qz…] inCharge(x) v onLeave(x) v refersTo(x,y)
x inCharge(x) => onLeave(x) v y refersTo(x,y)
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 15Fabian M. Suchanek
Our Transformation from FOL to DLPs
Option 1: Usual Skolemization
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).
Problem:
onLeave(Smith)
refersTo(Smith,Miller)
refersTo(Smith,sk(Smith)).
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 16Fabian M. Suchanek
Our Transformation from FOL to DLPs
Option 2: Recyling
false :- is_sat(x),
not(refersTo(x,y)).
(simplified. See paper)
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)).
x y inCharge(x) v onLeave(x) v refersTo(x,y)
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 17Fabian M. Suchanek
k(sk(sk(sk(sk(sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith)))))))))).
Our Transformation from FOL to DLPs
Option 2: Recyling
prev(x) v is_sat(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x).
Problem:
x onLeave(x)refersTo(Smith,sk(Smith)).
false :- is_sat(x),
not(refersTo(x,y)).
refersTo(sk(Smith),sk(sk(Smith))).
refersTo(sk(sk(Smith)),sk(sk(sk(Smith)))).
refersTo(sk(sk(sk(Smith))),sk(sk(sk(sk(Smith))))).
refersTo(sk(sk(sk(sk(Smith)))),sk(sk(sk(sk(sk(Smith)))))).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)))))))).
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))))))))))).
sk(sk(sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith)))))))))))).
sk(sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith))))))))))))).
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))))))))))))))).
sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(
sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk
sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(s
x y inCharge(x) v onLeave(x) v refersTo(x,y)
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 18Fabian M. Suchanek
Our Transformation from FOL to DLPs
Option 2: Recyling
false :- is_sat(x),
not(refersTo(x,y)).
(simplified. See paper)
prev(x) v is_sat(x) v onLeave(x) v refersTo(x,sk(x)) :- inCharge(x).
Problem:
x onLeave(x)refersTo(Smith,sk(Smith)).
x y inCharge(x) v onLeave(x) v refersTo(x,y)
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 19Fabian M. Suchanek
Our Transformation from FOL to DLPs
Option 3: Loop check
refersTo(x,sk(z)) :-
prev(x),
refersTo(z,sk(z)).
(simplified. See paper)
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(Smith)).
x y inCharge(x) v onLeave(x) v refersTo(x,y)
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 20Fabian M. Suchanek
Our Transformation from FOL to DLPs
DLPTransformprev , is_sat
The model is preserved (modulo the fresh predicate symbols).
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 21Fabian M. Suchanek
Treating Equality
equal(dog(smith), bonzo).
inCharge(dog(smith)).
inCharge(bonzo).
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 22Fabian M. Suchanek
Treating Equality
Substitutionaxioms
Equivalenceaxioms
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).
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 23Fabian M. Suchanek
Treating Equality
equal(dog(smith), bonzo).
inCharge(dog(smith)).
equal(dog(dog(smith)),dog(bonzo)).
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).
Substitutionaxioms
Equivalenceaxioms
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(dog(dog(dog(dog(dog(dog(dog(smith))))))))),w
equal(dog(dog(dog(dog(dog(dog(dog(dog(dog(dog(smith)))))
equal(dog(dog(dog(dog(dog(dog(dog(dog(dog(dog(dog(elvi
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 24Fabian M. Suchanek
Treating Equality
equal(dog(smith), bonzo).
inCharge(dog(smith)).
Substitutionaxioms
Equivalenceaxioms
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).
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 25Fabian M. Suchanek
Treating Equality
equal(dog(smith), bonzo).
inCharge(dog(smith)).
Equivalenceaxioms
equal(X,X).
equal(X,Y) :- equal(Y,X).
equal(X,Z) :- equal(X,Y), equal(Y,Z).
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 26Fabian M. Suchanek
Treating Equality
equal(dog(smith), bonzo).
inCharge( X ) :- equal(X,dog(smith)).
Equivalenceaxioms
Flatten function terms (Brand 1975)
equal(X,X).
equal(X,Y) :- equal(Y,X).
equal(X,Z) :- equal(X,Y), equal(Y,Z).
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 27Fabian M. Suchanek
Treating Equality
equal(dog(smith), bonzo).
inCharge( X ) :- equal(X,dog(smith)).
inCharge(bonzo).
Equivalenceaxioms
equal(X,X).
equal(X,Y) :- equal(Y,X).
equal(X,Z) :- equal(X,Y), equal(Y,Z).
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 28Fabian M. Suchanek
Treating Equality
DLPTransform
Iff the original DLP has a model that satisfies equality,
then the transformed DLP has a model (which contains the original one)
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 29Fabian M. Suchanek
Preliminary Experiments with 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 ر
SUMO
x human(x) => y mother(x,y)
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 30Fabian 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
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 31Fabian M. Suchanek
Preliminary Experiments with SUMO
Results:
Equality transformation proved scalable and useful ر
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 32Fabian M. Suchanek
Preliminary Experiments with SUMO
Results:
Equality transformation proved scalable and useful ر
orientation(germany,west, biggestTradingPartner(germany)).
orientation(france, west, germany).
equal(biggestTradingPartner(germany),france).
orientation(germany, east, france).
orientation(germany, west, france).
F G BTP(G)
=
We added the following conjectures to SUMO:
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 33Fabian M. Suchanek
Preliminary Experiments with SUMO
Results:
Equality transformation proved scalable and useful رRecycling of terms works as expected ر
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 34Fabian 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)).
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 35Fabian 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:
agent(p,smith).
agent(p,smith)
instance(p,judicialProcess)
SUMO axiom: x instance(x,judicialProcess) => y agent(x,y)
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 36Fabian 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 ر
PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 37Fabian M. Suchanek
Conclusion
Our transformation for FOL ontologies
allows to compute models for large ontologies ر
supports equality ر
avoids unnecessary skolem terms ر
avoids infinite models (often) ر