The minimum DL you need
DL is a decidable fragment of FOL
Description Logic gives you most of first-order logic's modelling power while keeping reasoning decidable (an algorithm always terminates). The trade is intentional: less expressivity, predictable performance.
Three primitives
- Concept (≈ OWL class) — a unary predicate.
Person,Doctor. - Role (≈ OWL object property) — a binary predicate.
hasChild,worksFor. - Individual (≈ OWL named individual) — a constant.
:alice.
The ALC operators (the alphabet that gave its name to the family)
| Symbol | Reading | OWL counterpart |
|---|---|---|
⊓ | intersection | owl:intersectionOf |
⊔ | union | owl:unionOf |
¬ | complement | owl:complementOf |
∃ R.C | exists R into C | owl:someValuesFrom |
∀ R.C | for all R into C | owl:allValuesFrom |
⊑ | subsumption | rdfs:subClassOf |
≡ | equivalence | owl:equivalentClass |
Example: a HappyParent is a parent all of whose children are happy.
$$HappyParent \equiv Parent \sqcap \forall hasChild.Happy$$