Kristian
Kristian

Reputation: 21820

What is the owl:Nothing class designed to do?

If you look at the OWL ontology definition, you'll see a bunch of class definitions. One of them is the following:

owl:Nothing a owl:Class ;
     rdfs:label "Nothing" ;
     rdfs:comment "This is the empty class." ;
     rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
     rdfs:subClassOf owl:Thing . 

Does this serve a purpose, if so, what is it?

Upvotes: 10

Views: 2895

Answers (1)

Jakub Kotowski
Jakub Kotowski

Reputation: 7571

It has a purpose. The Web Ontology Language (OWL) corresponds to a Description Logic which is a logic (a subset of the First Order Logic) for defining concepts by means of doing intersections, unions, restrictions, etc. on concepts. Concepts are some kind of sets and you need the bottom concept (owl:Nothing, empty set) and the top concept (owl:Thing, the set of all individuals) for the theory to have nice properties.

Apart from the purely theoretical considerations, it also has a practical purpose, for example:

Person ⊓ ∀ hasChild:⊥.

which is the concept describing people without children.

is the bottom concept and is interpreted as the empty set . denotes intersection. ∀ hasChild:⊥ maps to OWL's allValuesFrom.

See Basic Description Logics by Franz Baader.

Upvotes: 12

Related Questions