In philosophy, "ontology" is the study of the nature of existence
and the kinds of things that exist.
In AI, "an ontology" is a theory(?) specifying the things that
there are in some domain, together with their properties
and relationships.
In my view, an ontology is the semantic domain that some syntactic
domain "talks about" or represents.
What follows is an ontology for a blocks world inspired by:
Winograd's blocks world in his Understanding Natural
Language (1972)
the classic blocks world of AI planning
Barwise & Etchemendy's domain as originally presented
in their "Tarski's World" and most recently in
their Language, Proof, and Logic.
The blocks world consists of the following objects:
a table, upon which all else can rest.
Things can be "off" the table, as well as "on" it.
The table is divided into (say) a 10x10 checkerboard,
and each other object, when on the table, is on
one of the squares of this board.
Each row and column is identified by a
positive integer (1..10), and each
square by the ordered pair of its
(column,row)--or is this syntax, not
ontology?
3-dimensional geometric solids,
each of which is a block:
(minimal version):
cubes
dodecahedrons
tetrahedrons
(maximal, or Platonic-solids, version):
cube
dodecahedron
icosahedron
octahedron
tetrahedron
Each object (including the table?) has the following properties: