From W3C Wiki

The partOf relation is one of the basic structuring primitives of the universe. It is the foundation of Mereology, the theory of parthood relations (see e.g. [1] which contains an extensive axiomatization of parthood by Achille Varzi, based mainly on the work of Peter Simons, [2]). PartOf is so basic that there is a school of thought which believes partOf and not subClass should be the central organizing relation of ontologies [3]. hmm... the RoleNoun convention suggests part rather than partOf.

The partOf relation is widely agreed to be a partial order; it is transitive, anti-symmetric, and reflexive. The reflexivity of partOf is, however, largely mathematical, and leads immediately to a possibly more useful irreflexive relation, properPartOf, which entails partOf (in other words, every whole is partOf itself, but nothing is a properPartOf itself).

Another common relation in mereological theories is overlaps, the relation between two things that share at least one part. The overlaps relation is typically used to express the constraint of supplementation, that is, that two things that overlap must have at least one part that they do not share (otherwise they are the same).

OWL Formalization

OWL has a fundamental expressive limitation - it does not have variables (see NoVariablesInOWL), and cannot express reflexivity, irreflexivity, nor anti-symmetry, thus all we can say about partOf and properPartOf is that they are transitive and have inverses.

<owl:TransitiveProperty rdf:ID="partOf">
  <owl:inverseOf rdf:resource="hasPart" />
  <rdfs:comment xml:lang="EN">partOf is also reflexive, and anti-symmetric.</rdfs:comment>

<owl:TransitiveProperty rdf:ID="properPartOf">
<owl:inverseOf rdf:resource="hasProperPart" />
  <rdfs:subPropertyOf rdf:resource="partOf" />
  <rdfs:comment xml:lang="EN">properPartOf is also irreflexive, and anti-symmetric.</rdfs:comment>

Synonyms componentOf and hasComponent are reasonable synonyms for partOf and hasPart respectively.

Of course, hasComponent and componentOf should be used in the descriptions of individuals only when no additional semantics of the corresponding relation is known. Usually, however, one should introduce appropriate sub-properties of them and use the sub-properties in order to imply the additional semantics.


A common confusion is with the constitution relation, which is a relation between things and the material or substance from which they are made. For example, marble is not partOf a marble statue, the statue is constituted of marble. This is not simply a question of granularity; at some level the parts of the statue do decompose down to molecules which correspond to marble. However, while the molecules are clearly partOf the statue, marble itself is not. It is a subclass of material; the statue and molecules are individuals.

Students of ontology and conceptual modeling often have a hard time differentiating between partOf and subClass. They are both partial orders, and both clearly can be used to organize the universe. Furthermore, most people learn how to use a hierarchical file system and equate that form of organization with a mix of partOf and subClass.


  1. Varzi, Achille. 2003. Mereology. In Edward N. Zalta, ed., The Stanford Encyclopedia of Philosophy.
  2. Simons, Peter. 1987. Parts. A Study in Ontology. Oxford: Clarendon.
  3. Smith, Barry. 1998. The basic tools of formal ontology. In, Nicola Guarino, ed., Formal Ontology in Information Systems. IOS Press.

other examples:

  • cyc:parts: (#$parts WHOLE PART) means that #$Individual PART is a part of #$Individual WHOLE.
  • sumo:part: "The basic mereological relation. All other mereological relations are defined in terms of this one."

hmm... what format to use for design patterns? DanConnolly is quite fond of PPR:PortlandForm, though there are a number of other PPR:PatternForms, e.g. PPR:AlexandrianForm, PPR:CanonicalForm.


genesis: ISWC discussion of OWL guidelines, best practices, etc. started by ChrisWelty

See Also

mail from David Price referring to part-whole in engineering terms