Title: Consistency Checking of Semantic Web Ontologies
1Consistency 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
2Overview
- Inconsistency
- UBOT Tools
- ConsVISor
- Snark
- Conclusions
- Future directions
3Consistency
consistency
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!
4Logical 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
5Inconsistent 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 ? 2Expression
inconsistency? - Operation either empty or infinite!
- Mistake cardinality restrictions inverted (not
uncommon)
6Whats wrong with this ontology?
7Enzyme ? Protein ? Chemical ?
ReactionltEnzyme Thus EnzymeltEnzyme!
class cardinality
8UBOT - 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
9ConsVISor
- Input URI for DAML ontology or annotation
- Processing Prolog-based tool that checks
ontologies against the DAMLOIL 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)
10ConsVISor Architecture
daml20.pl
Prolog
DAML file
Modified daml20.pl
d2p
Final Messages
Messages
p2d
11Num ID Message
1 0034 The classes http//quantlabs.com/vis/ont/vehicle.damlWaterCraft and http//quantlabs.com/vis/ont/vehicle.damlLandVehicle were declared to be disjoint, but they both contain http//quantlabs.com/vis/ont/vehicle.damlavk3379.
12SNARK/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!
13Example (SNARK)
Checking Consistency of DAML Axiomatization
Revised axiom
Original axiom
(ltgt (Type ?fp FunctionalProperty) (and
(Type ?fp Property) (gt (and
(PropertyValue ?fp ?s ?v1)
(PropertyValue ?fp ?s ?v2)) ( ?v1
?v2))))
(ltgt (Type ?fp FunctionalProperty) (and
(Type ?fp Property) (forall (?s ?v1
?v2) (gt (and (PropertyValue ?fp
?s ?v1) (PropertyValue
?fp ?s ?v2)) ( ?v1 ?v2)))))
- With the original axiom every property is
functional - Consequently, since rdfBag is both rdfsClass
and rdfResource - rdfsClass rdfResource
14Checking Restriction w/SNARK
- damlRestriction 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/damloil-walkthru.html
15Conclusion
- Inconsistencies are not desirable although not
easy to avoid - Its better to identify them and then decide how
to treat them rather than ignore - ConsVISor is available at http//vis.home.mindspri
ng.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
16Current/Future Work
Ontology Or Annotated Source
DAML Axioms
ConsVISor
Errors
BugVISor
Bug Locations Explanations
DAML Bug Ontology
17Current/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