1 / 37

presented at the 4 th Workshop on Principles and Practice of Semantic Web Reasoning (PPSWR 2006)

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).

kostya
Download Presentation

presented at the 4 th Workshop on Principles and Practice of Semantic Web Reasoning (PPSWR 2006)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automated Reasoning Support for First-Order Ontologies presented at the 4th 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) PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  2. 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

  3. Model Computation Model (set of derivable facts) Ontology (set of FOL formulae) sings(elvis). singer(elvis). • x singer(x) => sings(x) singer(elvis) PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  4. 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

  5. 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

  6. 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

  7. 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 PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  8. Our Approach Transform DLP KRHyper/ smodels / dlv PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  9. 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. 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) Prenex Negation Normal Form x[…]y[…] [Qz…]inCharge(x) v onLeave(x) v refersTo(x,y) 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) 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) x[…] y[…] [Qz…]inCharge(x) v onLeave(x) v refersTo(x,y) Disjuncts without existential or following variables Disjuncts with existential or following variables PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  13. 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 existential or following variables Disjuncts with existential or following variables PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  14. 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 existential or following variables Disjuncts with existential or following variables 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 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)). 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), not(refersTo(x,y)). Problem: onLeave(Smith) refersTo(Smith,Miller) refersTo(Smith,sk(Smith)). (simplified. See paper) PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  17. 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), not(refersTo(x,y)). sk(sk(sk(Smith)))))))),sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(sk(Smith)))))))))))))). Problem: x onLeave(x) 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( 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))))). 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), not(refersTo(x,y)). Problem: x onLeave(x) refersTo(Smith,sk(Smith)). (simplified. See paper) 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 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) PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  20. Our Transformation from FOL to DLPs DLP prev , is_sat Transform The model is preserved (modulo the fresh predicate symbols). PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  21. Treating Equality equal(dog(smith), bonzo). inCharge(dog(smith)). inCharge(bonzo). PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  22. 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). Substitutionaxioms Equivalenceaxioms PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  23. Treating Equality equal(dog(dog(dog(dog(dog(dog(dog(dog(dog(dog(dog(elvi equal(dog(dog(dog(dog(dog(dog(dog(dog(dog(dog(smith))))) 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(smith)))))))),dog(wi 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 equal(dog(dog(dog(dog(dog(dog(dog(smith))))))),dog(dog(wif equal(dog(dog(dog(dog(dog(dog(smith)))))),dog(dog(dog(wif Equivalenceaxioms equal(dog(dog(dog(dog(dog(smith))))),dog(dog(dog(dog(pris equal(dog(dog(dog(dog(smith)))),dog(dog(dog(bonzo)))). equal(dog(dog(dog(smith))),dog(dog(bonzo))). equal(dog(dog(smith)),dog(bonzo)). PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  24. 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). Substitutionaxioms Equivalenceaxioms PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  25. 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). Equivalenceaxioms PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  26. 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). Equivalenceaxioms PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  27. 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). Equivalenceaxioms inCharge(bonzo). PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  28. Treating Equality Transform DLP 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

  29. 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) PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  30. 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

  31. Preliminary Experiments with SUMO Results: رEquality transformation proved scalable and useful PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  32. Preliminary Experiments with SUMO Results: رEquality transformation proved scalable and useful We added the following conjectures to SUMO: orientation(germany,west, biggestTradingPartner(germany)). orientation(france, west, germany). F G BTP(G) equal(biggestTradingPartner(germany),france). = orientation(germany, east, france). orientation(germany, west, france). PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  33. 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

  34. 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

  35. 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). PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

  36. 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

  37. Conclusion Our transformation for FOL ontologies ر allows to compute models for large ontologies ر supports equality رavoids unnecessary skolem terms ر(often) avoids infinite models PPSWR 2006 - Automated Reasoning Support for FOL Ontologies

More Related