CIDOC-CRM Class Analysis

Table of Contents

Up: Profile


This is a brief analysis of the classes in the CIDOC-CRM ontology and their practical utility. The definition of "useful" is those classes which a reasonably comprehensive producer or consumer of a CIDOC-CRM based model should be expected to understand and would make functional differentiations on. Following this definition, there are several sets of classes that can be ignored, for various reasons.

Classes to Ignore

Abstract Classes

Classes: E1, E2, E18, E19, E20, E24, E28, E70, E71, E72, E77, E89, E90, E92

There are 15 classes which are not themselves directly used, however are the domain or range of useful relationships, or otherwise important distinctions within the class hierarchy. These classes likely need to stay in the ontology, but can be ignored for practical purposes. Producers should never put them into their data, and consumers can likewise expect to never see them in data.

Data Type Classes

Classes: E59, E60, E61, E62, E94, E95

The classes in the CRM that model data types (String, Number, etc) can be ignored, and indeed are ignored in the recent RDF ontologies. Instead the appropriate XSD types should be used in their place:

Overly Specific Classes

There are many classes that fail the CRM's own test of individual importance. These can be broken down into clusters. The solution for all of these classes is instead to use P2 has type to refer to an external vocabulary, if needed at all.

Attribution Reification Classes: E14, E15, E16, E17

All of the subclasses of E13 Attribute Assignment can be dispensed with, and replaced with references to external vocabularies from an instance of E13. This would be more consistent with other assignments that must use E13 directly, such as attribution of an artist to a production event, the valuation of an object assigning a Monetary Amount to an object, the naming of an object assigning an Appellation and so on.

Appellation Classes: E35, E41, E44, E45, E46, E47, E48, E49, E50, E51, E75, E82

All of the subclasses of E41 Appellation can be dispensed, other than E42 Identifier. For the most part there is also no need to associate specific vocabulary terms to replace them. The name of a Place does not need to be an E44 Place Appellation, as this carries no additional information beyond the class of the subject of the relationship. This also prevents the modeling collision between Names (E44 and similar) and Identifiers (E42) for resources as it would be questionable which of the two classes to use. It should be noted that Identifiers are not Linguistic Objects, even if they are derived from some formal identifier scheme.

E41 Appellation is also added to the list of classes to ignore, as it is not also a Linguistic Object. The number of Appellations which are not Linguistic is infinitesimal compared to the set of Linguistic Appellations, and hence we use only the Name extension class that inherits both Appellation and Linguistic Object.

Entity Beginning and Ending Classes: E6, E66, E67, E68, E69, E81

Subclasses of E63 Beginning of Existence and E64 End of Existence can be ignored, and their parent classes used instead. The modeling of parents in the E67 Birth class is less than ideal, and instead a role-based approach with specific activities in the same way as the production of artworks can be used to differentiate surrogates and egg donors from the woman that raised the child, and equivalent patterns for male involvement. The inclusion of E6 Destruction in this set may be surprising to some, especially considering E12 Production is maintained as useful. The rationale is that as E6 is not also an E7 Activity (which E12 is, making it useful), then the semantics of E6 and E64 are identical and thus the parent class is preferred for consistency. If an Activity is needed for the End of Existence of an entity, then the extension class EndingActivity should be used instead. Similarly, E81 is a Beginning of Existence and an End of Existence, but not an Activity. As most transformations are carried out by some actor, we instead use the extension class TransformingActivity.

Entity Specialization Classes: E27, E31, E32, E40, E84, E96, E99

These classes (E27 Site, E31 Document, E32 Authority Document, E40 Legal Body, E84 Information Carrier, E96 Purchase, E99 Product Type) have no useful distinguishing features beyond what could easily be conveyed with a Type on their respective parent classes. Authority Documents and concepts should instead use the W3C's SKOS ontology rather than attempting to model knowledge organization using CRM. Information Carriers are only distinguished from Man Made Objects by the unknowable intent of the designer. Likewise, the distinction between E73 and E31 is that instances of E31 is that subset of E73s that make propositions about reality ... which is not a very useful or tractable distinction. While Purchase does have a property (had_sales_price), it is quickly insufficient for any non-trivial transaction or description common in the art market, including multiple buyers or sellers, commissions, part payment/part exchange, reserve prices, and so on. Given the need for a Payment class, and the use of dimension to relate other prices, Purchase becomes unnecessary.

Visual Concept Classes: E34, E37, E38

There is a significant overlap between the classes E34 Inscription, E36 Visual Item, E37 Mark and E38 Image. The simplest approach is to use only E36 for visual or image content, and instead of E34, instead use E33 Linguistic Object to capture inscriptions. E38 Image, while a more appealing class name, has no additional features or meaning beyond that of E36. Similarly, E37 has no differences with E36. The use of E33 for inscriptions is more consistent with other modeling of textual information, assuming that the inscription really contains linguistic content. For the situations where it is uncertain if an inscription is linguistic, then E36 is preferred. Note that E37 "does not intend to describe ... an individual physical embodiment", which is modeled instead as a Man-Made Object.

Curated Holding Classes: E78, E87

The E78 Curated Holding class, formerly called Collection, is the subject of much debate as to the requirements for which sets of objects can be considered collections (curated holdings) and which are sets of objects that are not curated. In order to have a consistent approach, in the absence of a separate class to represent sets, the preferred class for all such aggregations is Aggregation. Collections can be typed as such using the well established P2_has_type relationship to an appropriate vocabulary. This also obviates the need for E87, as an overly specific subclass of Activity. Aggregation is preferred over E19 Physical Object for consistency with sets of other types of resource, and that a Collection which was never brought together stretches the limits of the definition. It also makes it very hard to distinguish between an object with physical parts (Painting with a Frame) and a Collection with members (Paintings Collection with a Painting).

Ineffective Classes

Rights: E30

The definition of E30 Right in CIDOC-CRM doesn't fit any actual need that has been encountered to date. The rationale is below, but the summary is that E30 is conceptual and is not contextualized by space or time, however the legal status of objects changes all the time. In more, excruciating, detail ...

The basic problem with E30 Right is that it is a Conceptual Object, and Conceptual Objects cannot be destroyed. While there is any carrier of the object, including the CIDOC-CRM description of it or even within someone's memory, then the concept still exists somewhere. As it cannot be written down without persisting it, it cannot be destroyed and instead it can simply pass out of all knowledge. This means that the existence of the Right is not the same as the validity of the Right: the concept of slavery in America still exists, but it is no longer legally valid. There are no terms within the CRM to express the effective dates, and the CRM-SIG clarified that the right's effectiveness would be a different sort of resource. In particular that an E30 Right "is the formulation of the right, the terms", and not whether the right had any legal standing in any jurisdiction at any point in time.

It also means that for every combination of Right+Object+Actor, there are many instances, all of which exist at the same time. The Right of Ownership of the Mona Lisa has at least one instance per Actor that ever actually owned it, and given the conceptual nature of E30, there could be many Rights for Actors that never actually owned it.

There is also no way to distinguish jurisdiction or legal code under which the right would exist, if it was ever in force. The discussion of the SIG was inconclusive as to whether a Right can be conceived by anyone, or only by Actors with the potential to make them legally enforcable even if they never do so. In other words, if I conceive of the terms of a Right of ownership, that applies to the Mona Lisa, and is possessed by myself ... is that an E30 Right, or is it just a Conceptual Object that quacks like a Right. If I cannot conceive Rights into existence, the requirements for agents that can conceive them are unknown, especially given that they're not governed by legal jurisdictions nor time.

Finally, E72 Legal Object is not the parent of Conceptual Object but instead of Symbolic Object. This means that Rights cannot be applied to ideas, yet patents can provide legal protection for those ideas. Thus even if all of the above were solved, Rights would still not cover the correct set of classes without multiple instantiation.

In summary, CIDOC-CRM lacks the expressiveness to state what is required and the current definition of E30 Right is insufficiently clear for use. There was little enthusiasm in the SIG to take up the modeling effort, despite some reasonable suggestions from several parties. As such, we have added the PropertyInterest extension to allow the description of effective rights, not just conceptual ones. If you're still not convinced, you can read the email thread that starts here (if you dare).

Unnecessary Classes

Specific Classes: E9, E11, E26, E29, E79, E80

After analysis of the datasets available from multiple consortia and large individual organizations, the data available does not currently require using these classes. This is not to say that they will not be useful in the future, just that they are not used by any model at the moment. In particular:

Condition Classes: E3

Not only is there no current use case for E3 Condition State, it is too complex to use in any practical way, and lacks important additional structure in the ontology to make it worth the effort. For example, there is no way to create an identity for "Box with lid open" versus "Box with lid closed" for the purposes of associating measurements or photographs.

Incomprehensible Classes: E93

E93 Presence is simply incomprehensible. As such, it has no known use cases and is impossible to know whether it is useful or not. It is telling that there are no examples given in the documentation.

The definition is:

This class comprises instances of E92 Spacetime Volume, whose arbitrary temporal extent has been chosen in order to determine the spatial extent of a phenomenon over the chosen time-span.

If further explanation, from any source, is forthcoming, then E93 might be moved into a different category.

Useful Classes

Classes: E4, E5, E7, E8, E10, E12, E13, E21, E22, E33, E39, E42, E52, E53, E54, E55, E56, E57, E58, E63, E64, E65, E73, E74, E85, E86, E97, E98

The remaining 28 classes are actively used in mappings for the known datasets.

Useful Additional Classes


There is currently no way to describe the Activity of transferring MonetaryAmounts between actors, a Payment. The transfer classes (Acquisition, Transfer of Custody, Move) are very specific as to their semantics and the sorts of things that can be transferred. Thus, a new class is required, Payment, with three relationships of paid_from, paid_to and paid_amount. A better solution would be a low level transfer class that could be used to transfer right of custody, right of ownership, the object itself, and monetary amounts, from one actor to another.


E41 Appellation is not a descendent of E33 Linguistic Object, meaning that it cannot have an E56 Language associated with it. As practically every name of a person or thing that is not an E42 Identifier is linguistic, the utility of E41 is greatly reduced. Instead we create a new class that inherits from both E41 and E33, called Name.

EndingActivity, TransformingActivity

Like Name, these classes merge End of Existence and Transformation with Activity respectively. Even if the


A replacement for E30 Right that handles the place(s) and time(s) that the right is actually valid for, rather than just the concept of the right.

Aggregation, Proxy

As described above, E78 Curated Holding is overly specific and E19 is both insufficient and ambiguous to use to model collections of objects. There is no way to have sets of instances of non Object classes, such as Types or Places. The use of Aggregation gives us a consistent method to describe sets of resources, and the Proxy notion of the aggregated resource in the context of the aggregation gives us a convenient mechanism to record context-specific information.


This class is used when there is a relationship between two instances, but not one that is able to be described using the model, or when the data does not make it clear what the relationship is beyond a label. This is a fallback to ensure that what (perhaps little) data does exist can be captured, with a view to (hopefully) later improving the modeling.