Description logics
Some notes on Description Logics: a less expressive but more compact logic compared to First Order Logic.
The notes come from learning the youtube tutorial by Harald Sack, feel free to check it out here.
Some facts about Description Logics:
- DLs are fragments of FOL. (compromise of expressivity and scalability)
- DLs are decidable (mostly).
- Possess sufficient expressivity.
- Related to modal logics. (modal logic has a refined version of quantifier telling information about possibility and/or necessity)
Constructor: Help DL create complex descriptions from simple descriptions. Most of the time is called the (logical) operator.
General DL Architecture
DL knowledge base:
1. TBox(terminological knowledge ): knowledge about concepts of a domain. Like “A writer is a person who is the author of a book.”
2. ABox(Assertional knowledge): knowledge about individuals/entities. Like “GeorgeOrwell is a writer” / “GeorgeOrwell is the author of AnimalFarm”.
3. RBox(Role-centric knowledge): knowledge about roles interdependencies. Like “coAuthor is a subproperty of author.”
Attribute Language with Complement (ALC)
Remember that DLs are a family of logic-based formalisms applied for knowledge representation. ALC is one of the family that use a specific set of constructors. It’s the smallest deductively complete DL. What is. deductively complete? All possible deductions with ALC stay in ALC.
Class constructors are conjunction, disjunction, and negation. Quantifiers restrict domain and range of roles. The restriction helps maintain decidability of a DL.
Basic building blocks:
- Classes: concept names like “author” that usually denoted as A, B, C, … Special concepts could be denoted with Top/Bottom concept symbols.
- Roles / properties: usually denoted as R, S, T, …
- Individuals
Some examples of the difference between FOL and ALC for showing class inclusion and class equivalence:
Also an example of showing complex class relations:
Quantifiers on Roles
Strict binding and Open binding: In the following example, the author is a role, or property, of the class Book. We can “bind” the range of a Role to a Class.
- A Book must be authored by a writer. (strict binding)
- Every Book has at least one author (who is a person). (open binding)
Formal Syntax
Production rules for creating well-formed classes in ALC: