Regular readers of this blog will notice an ongoing series of definitions of the term "ontology". Here is another one, by Tom Gruber, dating from 2009 (in the Encyclopedia of Database Systems, Springer-Verlag, 2009).
an ontology defines a set of representational primitives with which to model a domain of knowledge or discourse
The definition may be perfect, but as a description of a concept in terms that an untrained reader might understand, it scores about zero.
<--break->To Gruber's credit, he acknowledges the use of the term in philosophy, which is utterly different to its use in information science. Compare this to Heather Hedden, in her The Accidental Taxonomist (2010), who refers to the Gruber definition but gives in my opinion a far more useful explanation:
an ontology ... aims to describe a domain of knowledge, a subject area, by both its terms (called individuals or instances) and their relationships and thus supports inferencing.
Helpfully, or otherwise, Gruber in the same work also uses the term semantic and clarifies it:
Similarly, while an ontology must be formulated in some representation language, it is intended to be a semantic level specification -- that is, it is independent of data modeling strategy or implementation.
Here "semantic" clearly has nothing to do with meaning. Quite what is means here is not clear to me.