-
Key: COMMONS14-28
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
Summary
The Collections ontology gives Commons a practical core for parthood: a transitive hasPart, a direct-part property for tree views, and membership kept separate from parthood. A review of the ontology as of main (commit 655fa9c) found several internal inconsistencies. Its coverage is also thin compared with the part-whole relations in OntoUML, which is on track to become an OMG specification. This issue proposes fixes for the inconsistencies and a small set of additions that would let Commons map cleanly to OntoUML.
Current design
Collections defines two property families:
Family Properties Transitive Purpose Parthood hasPart / isPartOf, with sub-properties hasDirectPart / isDirectPartOf hasPart yes; direct parts no General whole-part, plus direct parts for tree views Inclusion comprises / isIncludedIn, with sub-properties hasMember (discrete elements) and hasConstituent (non-discrete, e.g. substances) No Allows cardinality restrictions Other modules build on these:
- cmns-loc:hasSubregion and cmns-org:hasSubUnit are sub-properties of hasPart.
- cmns-rlcmp:Composition uses hasConstituent.
- cmns-cds:CodeSet and cmns-org:Organization use hasMember.
- cmns-strcol:List and cmns-strcol:ChronologicallyOrderedCollection use hasConstituent.
The split between the two families comes from an OWL 2 DL rule: cardinality restrictions are not allowed on transitive properties, so hasPart cannot be a sub-property of comprises. Even so, the note on comprises says the two "should be considered" disjoint. That presents a technical constraint as a difference in meaning. hasConstituent is defined for substances, and a portion of a substance counts as a part in nearly every account of mereology.
Problems found
- The Constituent class contradicts hasConstituent. StructuredCollections gives cmns-col:Constituent the synonym "element" and the note "an object constituting part of a set", which describes a member. But hasConstituent is disjoint with hasMember and is meant for constituents that are not discrete elements. List and ChronologicallyOrderedCollection then use hasConstituent for their items, which are discrete and indexed. Under the current definitions, those items should use hasMember.
- The Collection usage note recommends hasPart for collection contents. Because hasPart is transitive, the parts of a member would be inferred to be parts of the collection. Membership should be non-transitive, as OntoUML memberOf is. The usage note on Constituent has the same problem with isPartOf.
- The change note is stale. The Collections change note for
COMMONS-12says properties were added "that allow for taxonomic parthood". No such property exists. The note may be referring to hasDirectPart. - Proper vs. improper parthood is not stated. The hasPart definition, taken from the Stanford Encyclopedia of Philosophy, does not say whether a thing is part of itself. OWL 2 DL cannot declare a transitive property irreflexive, so the definition text has to settle it. hasDirectPart is a simple property (it has no transitive sub-properties), so it can legally be declared asymmetric and irreflexive and used in cardinality restrictions.
- The Organization restriction is too broad. Organization is a subclass of (hasPart only Organization), so no building, system or document can be stated as part of an organization. A restriction on hasSubUnit would capture the intent.
- The hasMember domain is stated only in a note. The note says the domain "should be some sort of collection, aggregate, or group", but no axiom says so.
- hasConstituent is overloaded. It is used for portions of substances (its definition), for ingredients in a Composition, and for list items (see 1). OntoUML treats these as three different relations.
Comparison with OntoUML
OntoUML, which is based on the Unified Foundational Ontology (UFO), has no single generic part-of. Modelers choose among four part-whole relation types, each with defined transitivity, and can qualify a relation with metaproperties. The table below maps Commons onto those types. It is based on OntoUML 2 as currently published, so the RTF should check it against the OMG submission text.
Concern Commons today OntoUML Gap / suggestion Generic parthood hasPart, transitive No generic stereotype; generic proper parthood exists only in the underlying UFO theory Keep hasPart as the generic super-property, and place the transitive OntoUML relation types under it Functional parts hasDirectPart, hasSubUnit componentOf, between functional complexes; transitive only in restricted cases Add hasComponent under hasDirectPart, so it is not transitive and allows cardinality restrictions Membership hasMember, non-transitive memberOf; the whole is a collective; not transitive Already aligned; consider axiomatising the domain (problem 6) Sub-collections None; the Collection note suggests hasPart subCollectionOf, collective to collective; transitive Add hasSubCollection under hasPart Portions of stuff hasConstituent, also used for other things subQuantityOf, quantity to quantity; transitive; the part is essential and not shareable by default Restrict hasConstituent to this sense (problems 1 and 7) Part-whole metaproperties None essential, inseparable, immutable part, immutable whole, shareable; mandatory part or whole through multiplicities OWL cannot express these modal properties. Add annotation properties or modeling guidance so OntoUML models can be carried over Weak supplementation Not addressed Validation requires a whole to have at least two parts Add a usage note; use a min-cardinality restriction on hasDirectPart for specific classes where needed Constitution Composition plus roles comes close UFO treats constitution (e.g. a statue and its clay) as distinct from parthood Add a note to Composition saying it is not parthood Parts of events None Covered by UFO-B event mereology Out of scope for this issue OntoUML models are usually transformed to OWL via gUFO, which provides isComponentOf, isCollectionMemberOf and isSubCollectionOf. If the additions above are adopted, those are natural mapping targets.
Proposed resolution
- Fix the Constituent / hasConstituent contradiction. Either change List and ChronologicallyOrderedCollection to use hasMember, or redefine hasConstituent and drop its disjointness with hasMember.
- Change the Collection and Constituent usage notes to recommend hasMember / isMemberOf for collection contents.
- Correct the
COMMONS-12change note. - State in the hasPart definition whether parthood is reflexive. Declare hasDirectPart asymmetric and irreflexive.
- Replace the Organization restriction on hasPart with one on hasSubUnit.
- Decide whether to axiomatise the domain of hasMember.
- Add hasSubCollection / isSubCollectionOf (transitive, sub-property of hasPart) and hasComponent / isComponentOf (sub-property of hasDirectPart).
- Add explanatory notes linking the Commons properties to the corresponding OntoUML relation types.
- For discussion: make hasDirectPart a sub-property of comprises as well as of hasPart. comprises would stay simple, so cardinality restrictions on it remain legal, and the two hierarchies would join at the direct level. This conflicts with the current "should be considered disjoint" note on comprises, which would need revising.
-
Reported: Commons 1.3 — Thu, 29 Oct 2026 19:52 GMT
-
Updated: Fri, 30 Oct 2026 20:00 GMT
COMMONS14 — Inconsistencies in treatment of parthood
- Key: COMMONS14-28
- OMG Task Force: Commons Ontology Library (Commons) 1.4 RTF