Attribute Language with Complement

Created on March 2, 2013, 8:58 p.m. by Hevok & updated by Hevok on May 2, 2013, 5:30 p.m.

The **Attributive/Attribute Language with Complement (ALC) is one of the most simple Description Logics. It consists out of Classes which are Concepts that a filled in with Individuals. One has Relations between these Classes which are Properties/Roles. A Role in Description Logics is nothing else than a Property. If you wants to define an Individual that belongs to a specific Class.

In Attributive Language with Complement (ALC) there are Atomic Types which are the Building Blocks of ALC. These Atomic Types are Concept which are Classes like A, B, C in capital letters and there are two special Concepts. One is the Top Concept, the Universal Concept, that is above all other Concepts. All Concepts are Subclass of this Universal Concept. On the other end there is the Bottom Concept which is always empty (the Empty Clause) as no Individual is in it. The Bottom Concept is itself is a Subclass of all other Concepts, but on the other hand there is no Class/Concept that is Subclass of the Bottom Class/Concept. So one has the upper and the lower bounding Classes of our universe, i.e. top and bottom. Then one has Role Names which are also in Capital Letters and are most time given with Letters like R (as Roles), S, T and so on.

Then one has Constructors. The most simplest Constructor is Negation (not C for example), then there are Constructor for Conjunctions (C and D) and Disjunction which means an union or an OR (this is C or D), and one has two different versions of Quantifiers. The first is a restricted version of the Existential Quantifier and a restricted version of the Universal Quantifier. Quantifiers in Description Logics are always applied on a Role or Property in Combination with Classes. This Property also is restricted in its Range to a specific Class. Here C is a Class that defines the Range of the Property. It means here for example that for this existential Quantification one defines a Class, which is here the Domain of the Property R, where one subsumes all these individuals that are connected by the Property R with another Class which is in C. These can be done with an existential Quantification or a universal Quantification. An universal Quantification means that all Individuals A that are defined by this Class are connected via the role A to another Element or another Individual that must be part of C and may not be part of any other Class. For the existential Quantifier therefore it also might be in some other Class, but not for the Universal Quantifier.

The are atomic Types

  • Atomic Types

    • concept names A, B, ...
    • special concepts
      • ⊤ - Top (universal concept)
      • ⊥ - Bottom concept
    • role names R, S, ..
  • Constructors

    • Negation (¬)
    • Conjunction: C ∩ D
    • Disjunction: C ∪ D
    • Existential Quantifier: ∃R.C
    • Universal Quantifier: ∀R.C

For example if one defines a Class, where one has the Property attends one can say a Person attends a Course. There one has the class Course as a Range, as a Person attends a Lecture, so this is a Range restriction where the range of the Role must be Lecture and one says that one is defining a Class of all Individuals that are attending a Lecture. But of course these Individuals might attend also something else. They are not restricted only to attend to the Lecture. If one would say the same thing with a universal Quantifier, then these Individuals that are defined by that Class must visit a Lecture and nothing else.

Defines a Class

∃attends.Lecture
property range
/Role    restriction
  • Class Relations
  • Inclusion C ⊑ D
    • E.g. Man ⊑ Human
  • Equality
    • E.g., Frau ≡ Woman
  • Class Constructors
  • E.g., Seminarist ≡ Person ∩ (∃particiatesAt.Seminar ∪ ∃manages.Seminar)

Between Classes there can be Relations, for example there can be a Class Inclusion. For instance Class C might be a Subclass of Class D. Like Man is a subclass of Human. And then there can be equality of Classes which means these two classes are equivalent. For example if one has woman on hand on the other side the German Identifier for Woman and they are the same Individuals in the Class. Then of course one can construct more complex Classes with the help of Class Constructors. For example a Class can be defined as being equivalent to expression given in ALC Description Logics. Here for instance it says a Seminarist is a person who at the same time participates at the seminar (S/he can also participate at some other course, which does not matter at leas s/he visits at least one Seminar) or who manages are Seminar (of course these person are also allowed to manage something else).

So this is simple complex class definition: A Seminarist is a person who participates in a Seminar or who manages a Seminar. On the other hand it is not restricted to visiting and participating in a Seminar as these Persons that are Seminarist may also do something else.

  • Terminological Knowledge (TBox)
  • Axioms describing the structure of the represented domain (conceptional schema)
    • Human ⊑ ∃hasParents.Human Orphan ≡ Human ∩ ¬∃hasParents.Alive
  • Assertional Knowledge (ABox)
  • Axioms describing specific situations (data)
    • Orphan(harrypotter) hasParent(harrypotter, jamespotter)

In Terminological Knowledge (TBox) one has Axioms that describe the structure of the represented Domain or the conceptional schema. For example, a class Human is a Subset of all things that have as parent a human. Then one can say an Orphan is equivalent to a human who's Parent are not alive.

Sentences of Natural Languages need to be translated into Description Logics and vice versa.

In the Assertional Knowledge (ABox) one has the Knowledge about the Individuals. So the Axioms in the ABox describe specific Situations or Data. For example, one can say that Harry Potter is an Orphan and one can say Harry Potter has Parents and one of its Parents names is James Potter.

alc.jpg

Tags: classes, semantic web, logic, ai, simple, attributes, types, relations, complementation
Categories: Concept
Parent: Logic
Children: Class Inclusion and Equivalence, Complex Class Relation, Formal Syntax, Open World, Quantifiers on Roles

Update entry (Admin) | See changes

Comment on This Data Unit