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 (Max-Planck-Institute for CS, Saarbruecken/Germany) Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 1
Automated Reasoning Support for FOLOs ر Motivation ر Our Transformation from FOL to DLPs ر Existentially Quantified Formulae ر Equality ر Conclusion Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 2
Model Computation Model Ontology (set of derivable facts) (set of FOL formulae) ∀ x singer(x) => sings(x) sings(elvis). singer(elvis). singer(elvis) Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 3
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 Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 4
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) Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 5
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 p(c 1 ,...c n ). n>8 ¬ p(x 1 ,...,x i-1 , x ,x i+1 ...,x j-1 , x ,x j+1 ,...x n ). for all 1<i<j<n Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 6
Our Approach Transform DLP KRHyper/ smodels / dlv Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 7
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. Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 8
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) Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 9
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) Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 10
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 without Disjuncts with existential or existential or following variables following variables Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 11
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 without Disjuncts with existential or existential or following variables following variables Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 12
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 without Disjuncts with existential or existential or following variables following variables Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 13
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). Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 14
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)). Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 15
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) Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 16
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), Problem: not(refersTo(x,y)). ¬ onLeave(Smith) refersTo(Smith,Miller) refersTo(Smith,sk(Smith)). (simplified. See paper) Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 17
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), Problem: not(refersTo(x,y)). ¬ onLeave(Smith) refersTo(Smith,Miller) refersTo(Smith,sk(Smith)). (simplified. See paper) Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 18
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), Problem: not(refersTo(x,y)). ¬∃ x onLeave(x) refersTo(Smith,sk(Smith)). Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 19
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), Problem: not(refersTo(x,y)). ¬∃ 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))))). Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 20
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))))))). Our Transformation from FOL to DLPs 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))))))))). ∀ x ∃ y ¬ inCharge(x) v onLeave(x) v refersTo(x,y) k(sk(sk(sk(sk(sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith)))))))))). Option 2: Recyling (sk(sk(sk(sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith))))))))))). 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)))))))))))). sk(sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith))))))))))))). false :- is_sat (x), ∃ sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith)))))))))))))). Problem: not(refersTo(x,y)). k(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith))))))))))))))). ¬∃ x onLeave(x) sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk( refersTo(Smith,sk(Smith)). 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))))). Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 21
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), Problem: not(refersTo(x,y)). ¬∃ x onLeave(x) refersTo(Smith,sk(Smith)). (simplified. See paper) Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 22
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) Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 23
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), Problem: not(refersTo(x,y)). ¬∃ x onLeave(x) refersTo(x,sk(z)) :- refersTo(Smith,sk(Smith)). prev ∃ (x), refersTo(z,sk(z)). (simplified. See paper) Fabian M. Suchanek PPSWR 2006 - Automated Reasoning Support for FOL Ontologies 24
Recommend
More recommend