This site provides an encoding of the CIDOC Conceptual Reference Model as an OWL 2 DL ontology. It is meant as an alternative to the existing RDFS and OWL DL versions, making use of new OWL 2 constructs for a more accurate representation of the model, and uses stable, host- and version-independent URIs.

Ontology files

Encoding guidelines

The following guidelines were applied in the encoding process.

  1. All terms use the common namespace The preferred namespace prefix for this is crm. By using PURL this namespace stays stable and independent of the server where the ontology is hosted. It doesn't contain any file extensions to stay independent of file formats and no version number either. All versions of the ontology will use the same term URIs which allows for easy data integration or switching of versions.
  2. Identifiers of class and property terms are formed by replacing blanks in their names by underscores and concatenating the CRM concept identifiers with those names through an underscore. For example: E63_Beginning_of_Existence or P2B_is_type_of. Note that other RDF representations of the CRM use a dot after the identifier. This is however problematic in several syntaxes, hence the use of the underscore here.
  3. No inverse properties have been defined so as to make data integration easier. The inverse names of properties are captured through the property on the defined properties.
  4. The classes "E59 Primitive Value", "E60 Number", "E61 Time Primitive" and "E62 String" are not defined as classes within this ontology because they are really meant to be implemented as primitive types in CRM-compatible forms. Each property having one of them as its range will be declared here as a datatype property. So far all of them have been declared with a range of rdfs:Literal rather than specific datatypes for various reasons. "P30 has note" for example can be typed as xsd:string or simply be a plain literal. There is no one datatype in XSD that captures all of what "E60 Number" expresses and there is none that allows date ranges as defined for "E61 Time Primitive".
  5. RDF does not support properties of properties, therefore, users may create their own sub-properties for CRM properties that have a type property such as "P3 has note": Instead of P3 has note (P3.1 has type : parts description) declare
    :P3_parts_description a owl:DatatypeProperty ; rdfs:subPropertyOf crm:P3_has_note .
    An alternative that might be explored in the future is property reification.
  6. As recommended by the Definition of the CIDOC Conceptual Reference Model no cardinality restrictions have been defined for the property quantifiers declared therein.
  7. The same definitions notes: "Properties that have identical domain and range are either symmetric or transitive." - However this does not work for all properties with identical domain and range so the spec is clearly wrong here. Also it doesn't make clear statements for each of those properties so these properties have been declared as symmetric or transitive or neither based on careful consideration of their definitions.
    The spec also says that "P9 consist of" is a transitive asymmetric property but this is not possible in OWL 2 DL so in order to stay within its boundaries this property has only been declared as transitive.
  8. As declared by the definition document, the classes "E2 Temporal Entity" and "E77 Persistent Item" have been declared as disjoint as have the classes "E18 Physical Thing" and "E28 Conceptual Object".
  9. Properties defined as "shortcuts" have been linked to the longer versions using OWL 2 property chains.
  10. Documenting properties of the terms were encoded using a mixture of SKOS and RDFS terms.

Change guidelines

The following policy will be applied when encoding later versions of the CRM.

  1. For each following version of the CRM a new ontology will be created and saved under a file containing the version number. The PURL will be updated to point to the latest version. Thus the ontologies will be kept in sync with the update process of the CRM. Fixes to the files that are not related to version changes of the CRM will be applied silently and not cause a new ontology version to be created.
    All ontology files will always use as the ontology IRI and each ontology version also gets a version IRI, for example
  2. As has been said the terms will always use the same namespace across all versions of the ontology. Note however that – since the term URIs contain the names of the terms – the URI of a term might change. This is however not seen as a stability problem because it is assumed that changes of term names imply substantial changes in the meaning of the term so it should just be seen as a new term.
    The update policy for terms is thus as follows:
    1. If a new term appears in a new version of the CRM it will just be added to the related new version of the ontology.
    2. If a term gets removed in a new version of the CRM it will be marked as deprecated in (but not removed from) the related new version of the ontology. In future versions it will probably just stay like that.
    3. If a term name gets changed in a new version of the CRM the term will be marked as deprecated in the related new version of the ontology but also kept in it and a new term with the new name will be added.


This page as well as all of the ontology files (but not the CIDOC Conceptual Reference Model itself) are licenced under a Creative Commons licence.

Last change: 2009-09-08 by Simon Reinhardt