170 likes | 305 Views
Consistency Checking of Semantic Web Ontologies. Kenneth Baclawski, Northeastern U. & VIS Mieczyslaw M. Kokar, Northeastern U. & VIS Richard Waldinger, SRI & Kestrel Paul A. Kogut, Lockheed Martin. Overview. Inconsistency UBOT Tools ConsVISor Snark Conclusions Future directions.
E N D
Consistency Checking of Semantic Web Ontologies Kenneth Baclawski, Northeastern U. & VIS Mieczyslaw M. Kokar, Northeastern U. & VIS Richard Waldinger, SRI & Kestrel Paul A. Kogut, Lockheed Martin
Overview • Inconsistency • UBOT Tools • ConsVISor • Snark • Conclusions • Future directions
Consistency con•sis•ten•cy agreement with what has already been done or expressed; conformity with previous practice [Webster] • An inconsistent ontology means one part of the • ontology does not agree with another • In logic: from P and not(P) can derive anything Inconsistency is a dangerous thing for autonomous agents!
Logical Consistency • Definition: there exists a non-trivial model of the theory. • If a theory is inconsistent then every logical statement can be proven true. • Our Opinion: • One consistent ontology for Semantic Web – impossible • Consistent subsets of a set of ontologies – but need to know when a given set is inconsistent – need warnings • Every single ontology should be consistent – need checking
Inconsistent Ontology: Example (UML syntax) • Recursive combination of expressions • Elementary – constants, variables • Operation – includes operators (e.g., +, *) • Example: (x + y + 5)*(z + 3)*(a + b) • Problem: • at least twice more Operations than Expressions (cardinality constraint) • more Expressions than Operations (subClass constraint) • #Expression #Operation 2*#Expression – inconsistency? • Operation – either empty or infinite! • Mistake: cardinality restrictions inverted (not uncommon)
[Enzyme] [Protein] [Chemical] [Reaction]<[Enzyme] Thus Enzyme<Enzyme! […] – class cardinality
UBOT - Ontology Engineering Tools DAML Ontology Engineer CRAVE XMI models UML DAML Translation UML GUI DAML ontologies Consistency checking results DAML ontologies Consistency Reasoning Agent DAML ontologies DAML ontologies ConsVISor BugVISor Consistency checking results Specware SNARK
ConsVISor • Input: URI for DAML ontology or annotation • Processing: Prolog-based tool that checks ontologies against the DAML+OIL axiomatic semantic specification • Output: list of error and warning messages • Role: • help ontology engineers check ontologies • help website developers check DAML annotations • Cannot check consistency of the language (DAML)
ConsVISor Architecture daml20.pl Prolog DAML file d2p Modified daml20.pl Final Messages p2d Messages
SNARK/Specware • Specware (from Kestrel Institute) • Formal specifications • Based on category theory • SNARK (from SRI) • Theorem prover (resolution, paramodulation, special unification, sorts, procedural attachments, extensibility with Lisp) • But may not terminate (when ontology is consistent) • Can check consistency of the language specification!
Example (SNARK) Checking Consistency of DAML Axiomatization Revised axiom Original axiom: (<=> (Type ?fp FunctionalProperty) (and (Type ?fp Property) (=> (and (PropertyValue ?fp ?s ?v1) (PropertyValue ?fp ?s ?v2)) (= ?v1 ?v2)))) (<=> (Type ?fp FunctionalProperty) (and (Type ?fp Property) (forall (?s ?v1 ?v2) (=> (and (PropertyValue ?fp ?s ?v1) (PropertyValue ?fp ?s ?v2)) (= ?v1 ?v2))))) • With the original axiom every property is functional • Consequently, since rdf:Bag is both rdfs:Class and rdf:Resource • rdfs:Class = rdf:Resource
Checking Restriction w/SNARK • daml:Restriction was used to state that one can have only one father (see [1]) • SNARK was able to prove that there is at least one father for everybody • But could not prove that there are no more than one • The problem was in the DAML specification of cardinality restriction • Specification has been revised [1] www.daml.org/2001/03/daml+oil-walkthru.html
Conclusion • Inconsistencies are not desirable although not easy to avoid • It’s better to identify them and then decide how to treat them rather than ignore • ConsVISor is available at http://vis.home.mindspring.com for checking consistency of your DAML ontologies • Can be used to find problems in an ontology, not necessarily inconsistencies and not necessarily all • SNARK can find more, but will quit after some time • SNARK can be used to check language specifications
Current/Future Work Ontology Or Annotated Source DAML Axioms ConsVISor Errors BugVISor Bug Locations Explanations DAML Bug Ontology
Current/Future Work (cont.) • Integrate ConsVISor with Snark • Investigate ways to address time complexity of consistency checking • Make the integrated tool available on the web • Analyze errors due to merging different ontologies • Provide quantitative evidence of problems related to inconsistencies