Description Logic in 12 Minutes

Concepts, roles, individuals, and the ALC alphabet — the maths under OWL.

0/3 done

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)

SymbolReadingOWL counterpart
intersectionowl:intersectionOf
unionowl:unionOf
¬complementowl:complementOf
∃ R.Cexists R into Cowl:someValuesFrom
∀ R.Cfor all R into Cowl:allValuesFrom
subsumptionrdfs:subClassOf
equivalenceowl:equivalentClass

Example: a HappyParent is a parent all of whose children are happy.

$$HappyParent \equiv Parent \sqcap \forall hasChild.Happy$$

Lego with rules

Think of DL as Lego with shape rules:

  • Each brick is a concept. Each connector is a role.
  • The rules (, , , ) tell you how bricks may snap together.
  • The reasoner is the instruction booklet: from the bricks on the table it derives every legal sub-assembly you didn't explicitly build.

Crucially, the rules are designed so the booklet always terminates. That's decidability — and it's why DL exists at all rather than just using FOL.

Tie it to what you know

Map ALC operators to a primitive you already use.

  • Which ALC operator most closely resembles an SQL `JOIN`? (Answer: ∃ R.C — 'there exists a related row matching condition C'.)
  • Which one resembles a TypeScript discriminated union? (Answer: ⊔ — union of concepts.)
  • Which one has *no* SQL analogue and is exactly why ontologies are interesting? (Answer: ∀ R.C, because SQL has no native 'for all related rows' check.)

Tools & resources

Tools & resources

Reading in progress · 0 of 3 activities done