Change - Logical Class Constructor

Created on March 11, 2013, 11:42 p.m. by Hevok & updated on March 11, 2013, 11:48 p.m. by Hevok

In OWL one has Class Constructors for the logical AND, OR and NOT, i.e. Conjunction, Disjunction and the Negation, respectively. OWL has the corresponding Classes of owl:intersectionOf, owl:unionOf and owl:complementOf. owl:unionOf denotes the logical Disjunction and owl:complementOf denotes the logical Negation

For the Conjunction it is owl:intersectionOf which corresponds to the Set Theoretic Model of owl, like Intersection of two sets. ¶

logical AND (Conjunction): owl:intersectionOf ⊓ ¶
logical OR (Disjunction): owl:unionOf ⊔ ¶
logical Negation owl:complementOf ¬ ¶
logical Constructors are applied to create complex Class Descriptions from Atomic Classes ¶

:AI a owl:Class . ¶
:ProgrammsRunning a owl:Class . ¶
:AIOnline a owl:Class ; ¶
owl:intersectionOf (:AI :ProgrammsRunning) . ¶

DL: ¶

:AIOnline ≣ ProgrammsRunning ⊓ AI ¶

The Class "AIOnline" results from the Intersection of all indivdiduals of the classes "ProgrammsRunning" and "AI" ¶

:AI a owl:Class ; ¶
owl:equivalentClass [ ¶
owl:unionOf ( :EVA ¶
:Cabal ¶
:Cortana ) ¶
] . ¶

DL: ¶

AI ≣ EVA ⊔ Cabal ⊔ Cortana ¶

EVA, Cabal and Cortana are also AIs. ¶

On the other hand Disjunction is owl:unionOf. For instance defining AI as equivalent to the Classes of or the Union of EVA, Cabal and Cortana. This can be states in OWL by saying that AI is a owl:Class that is equivalent to via the owl:equivalentClass expression and then one states this in an empty node. There one states in this empty node one defines an empty node that consists of an Union of EVA, Cabal and Cortana that of course before had to be defined as a Class. But defining it in that way one also knows that they are Classes. So one can define the Class AI as the union of other Classes. ¶

Disjoint owl:comlementOf
semantically equivalent assertion ¶

With the Complement one can state that a Class is totally different from another Class. For instance a Human is totally different to an AI. These two Classes are of course Disjunctive, then one can also state this in the way in Description Logics that a Human is subclass of not AI. This can be written shorter with an owl:disjointWith Property, but one can also state this Fact if one says that Human is an owl:Class and this is a Subclass of the Complement of an AI. So it is another way to define disjointness between two Classes. ¶

Human ⊑ ¬AI ¶

:Human a owl:Class ; ¶
rdfs:subClassOf [ ¶
owl:complementOf :AI ¶
] . ¶

:Human a owl:Class ; ¶
owl:disjointWith :AI .

Comment: Corrected code blocks.

Comment on This Data Unit