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: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.
:AIOnline ≣ ProgrammsRunning ⊓ AI
AI ≣ EVA ⊔ Cabal ⊔ Cortana
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.
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 .