
ALC DL is a decidable subset of First Order Logic
An Ontology is a machine-readable representation of things, groups of things, and relationships between things.
ALC DL formalises ontologies as follows:
Symbol | Description | Example | Read |
---|---|---|---|
⊤ is a special concept with every individual as an instance | top | ||
empty concept | bottom | ||
intersection or conjunction of concepts | C and D | ||
union or disjunction of concepts | C or D | ||
negation or complement of concepts | not C | ||
universal restriction | all R-successors are in C | ||
existential restriction | an R-successor exists in C | ||
Concept inclusion | all C are D | ||
Concept equivalence | C is equivalent to D | ||
Concept definition | C is defined to be equal to D | ||
Concept assertion | a is a C | ||
Role assertion | a is R-related to b |
A justification is a minimal set of premises that are required to be true in order for an entailment to hold.
The necessity of multiple justifications for an entailment η stems from the need to aid the understanding of domain experts when they debug an ontology. This may be induced by the need for an alternative justification for an entailment, which ultimately produces a different explanation for the same entailment η.
A justification is analogous to a set of axioms for a theorem. This means that an explanation for the pertinent conclusion needs to be computed by forming new propositions that are entailed within the justification.
Suppose we have an ontology O from which we derive a justification J for an entailment η whereby O entails η. The goal is to lemmatise J into J′ such that J′ is “less complex” than J.
The above figure illustrates what a construction of an explanation for an entailment E looks like. In this case, η = E, J = {ax1, ax2, ax3, ax4, ax5}, and {ε_1 , ε_2 , ε_3 , ..., ε_n } = {le1, le2}. We observe that {ax1, ax2} |= le1, {ax3, ax4, ax5} entails le2, and {le1, le2} entails E. Without le1 and/or le2, it cannot be proven that η entails E.
Example inputFor each and every node in the proof tree, we employ a parse tree which converts an ALC DL proposition into an equivalent English proposition.
An complete explanation is generated by traversing a proof tree in a pre-order fashion. Whenever we encounter a node, we print the contents of the node (i.e. English proposition) as a statement and we indicate that this statement is implied because of the children of the pertinent node.