-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.qmd
413 lines (311 loc) · 22.3 KB
/
index.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
---
title: CIDOC-CRM in RDF Application Profile
subtitle: Guidelines how to use CIDOC-CRM in RDF for interoperability
date: 2025-01-27
authors:
- name: Jakob Voß
orcid: 0000-0002-7613-4123
affiliations:
- name: Verbundzentrale des GBV (VZG)
---
# Introduction
The [CIDOC Conceptual Reference Model (CRM)](https://www.cidoc-crm.org/) is a conceptual data model used in the cultural heritage domain. The [Resource Description Framework (RDF)](https://www.w3.org/TR/rdf11-concepts/) is a graph-based data format. Both CRM and RDF have been created independently for integration of information. RDF is a good fit to express CRM in data and it has been used to do so. The expression of CRM in RDF is not trivial though, so some guidelines are needed. This document provides an **application profile** to best use CRM in RDF for integration with other RDF data. The primary use case is data integration into the [Knowledge Graph of NFDI4Objects](https://graph.nfdi4objects.net).
:::{.callout-note}
This document is still in an early draft. Contributions and feedback are very welcome!
The document sources are managed in a git repository at <https://github.com/nfdi4objects/crm-rdf-ap>.
:::
## Expressing CRM and RDF
CRM defines abstract types of entities (CRM classes) such as events, measurements, places, and actors with relationship types (CRM properties) to connect instances of these entity types. RDF and its most common extensions define how to identify entities (resources), entity types (RDF classes) and relationship types (CRM properties) with URIs and values with Unicode strings (RDF literals) optionally having a language or a data type to encode values such as numbers and dates. RDF is used with ontologies that define RDF classes, properties, and constraints. CRM looks like an ontology or like it could directly be mapped to an RDF ontology, but this is not the case. CRM is agnostic to data formats: CRM classes are not RDF classes and CRM has no concept of data types and values, so any expression of CRM in RDF comes with choices of design. It is possible to express the same information modeled with CRM in different forms of RDF, so data cannot be integrated flawlessly.
Some recommendation exist to express CRM in RDF (@Doerr2020) and to combine it with other ontologies (e.g. @Nys2018).
# Primitive values
[E59 Primitive Value] and its subclasses are not expressed as RDF classes. Instead
- instances of [E62 String](http://www.cidoc-crm.org/cidoc-crm/E62) are expressed as RDF literals with optional language tag, and
- instances of [E60 Number](http://www.cidoc-crm.org/cidoc-crm/E60) are expressed as RDF literals with numeric data type such as `xsd:integer`
The CRM classes [E61 Time Primitive], [E94 Space Primitive], and [E95 Spacetime Primitive] are both subclasses of [E59 Primitive Value] and of [E41 Appellation], so [the latter](#e41-appelation) can be used when a mapping to established RDF data types is not applicable.
## Temporal data
Temporal values (instances of of [E61 Time Primitive] and [E52 Time-Span] in CRM) SHOULD be expressed by RDF literals with one of the data types from XML Schema (XSD) Data Types or from Extended Date/Time Format (EDTF) listed in @tbl-temporal-data-types.
| Datatype | Description | Example
|:--------------------|:------------|:-------
| `xsd:date` | Year, month and day and optional time zone | `2010-12-17`
| `xsd:time` | Time with o | `13:20:00-05:00`
| `xsd:dateTime` | Full date, time, and optional time zone | `1912-04-15T02:38–05:18`
| `xsd:dateTimeStamp` | Full date, time and mandatory time zone | `1912-04-15T02:38–05:18Z`
| `xsd:gYear` | Year and optional time zone | `2010`
| `xsd:gYearMonth` | Year, month, and optional time zone | `2010-12`
| `xsd:gMonth` | Month and optional time zone | `--12`
| `xsd:gMonthDay` | Month, day, and optional time zone | `--12-17`
| `xsd:gDay` | Day and optional time zone | `---17`
| `edtf:EDTF` | Complex temporal value in [EDTF] syntax | `2024~`
| `edtf:EDTF-level0` | EDTF limited to level 1 features | `2010-12`
| `edtf:EDTF-level1` | EDTF limited to level 1 and 2 features | `2010-12?`
| `edtf:EDTF-level2` | EDTF with all features up to level 2 | `15XX-?12`
: Temporal data types {#tbl-temporal-data-types}
~~~{.ttl #lst-temporal-primitives lst-cap="An event with date/time given with different data types"}
@prefix crm: <http://www.cidoc-crm.org/cidoc-crm/> .
@prefix edtf: <http://id.loc.gov/datatypes/edtf/> .
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<TitanticSinking> a crm:E81_Transformation ;
crm:P124_transformed <RMSTitanic> ;
crm:P123_resulted_in <TitanticWreck> ;
crm:P4_has_time-span
"1912-04-15"^^xsd:date , # date only
"1912-04-15T02:38–05:18Z"^^xsd:dateTimeStamp , # precise date and time with timezone
"1912-04-15?"^^edtf:EDTF . # uncertain date with EDTF
~~~
More complex temporal values MAY be expressed as instance of [time:TemporalEntity] or its subclasses from [Time Ontology] as discussed by @Nys2018 and described in [EDTF in RDF]. RDF literals are preferred because it is easer to derive [time:TemporalEntity] than the other way round.
~~~{.ttl #lst-edtf lst-cap="Extended temporal value expressed with Time Ontology"}
<WW1> a time:Interval ; # instead of E52_Time-Span
edtfo:hasEDTFDateTimeDescription "1914/1918" ;
time:hasBeginning [ time:inXSDgYear "1914"^^xsd:gYear ] ;
time:hasEnd [ time:inXSDgYear "1918"^^xsd:gYear ] .
~~~
::: {.callout-tip}
Support of simple temporal data with XSD data types is not part of SPARQL 1.2 specification (see [proposal SEP-0002](https://github.com/w3c/sparql-dev/blob/main/SEP/SEP-0002/sep-0002.md)) but included in most SPARQL processors, so typed date values -- in contrast to plain strings -- can directly be calculated with.
:::
::: {.callout-note}
@Doerr2020 recommended to use additional properties for temporal intervals ([E52 Time-Span]):
- `P81a_end_of_the_begin` together with `P81b_begin_of_the_end` instead of [P81 ongoing throughout]
- `P82a_begin_of_the_begin` together with `P82b_end_of_the_end` instead of [P82 at some time within]
The use of these properties may lead to false assumption of precision and it introduced a solitary solution to a problem also addressed outside of CIDOC. For this reasons these additional properties should *not* be used in favour of EDTF and/or Time Ontology.
:::
Temporal CRM properties SHOULD be expressed with corresponding properties from Time Ontology:
| CRM class or property | in RDF |
|:-------------|:-------|
| [E52 Time-Span] | Literal or [time:Interval]
| [E61 Time Primitive] | [time:TemporalEntity]
| [P79 beginning is qualified by] | = ?
| [P80 end is qualified by] | = ?
| [P81 ongoing throughout] | ?
| [P82 at some time within] | ?
| [P86 falls within] | [time:intervalIn]
| [P160 has temporal projection] | ?
| [P164 is temporally specified by] | ?
| [P170 defines time] | ?
| [P183 ends before the start of] | [time:before]
| [P183i starts after the end of] | [time:after]
| [P173 starts before or with the end of] | ?
| [P174 starts before the end of] | ?
| [P175 starts before or with the start of] | ?
| [P176 starts before the start of] | ?
| [P182 ends before or with the start of] | ?
| [P184 ends before or with the end of] | ?
| [P185 ends before the end of] | ?
| [P191 has duration] | ?
<!--
[P86i contains]
[P164i temporally specifies]
[P160i is temporal projection of]
-->
[Time Ontology]: https://www.w3.org/TR/owl-time/
[time:TemporalEntity]: https://www.w3.org/TR/owl-time/#time:TemporalEntity
[time:Interval]: https://www.w3.org/TR/owl-time/#time:Interval
[time:after]: https://www.w3.org/TR/owl-time/#time:after
[time:before]: https://www.w3.org/TR/owl-time/#time:before
[EDTF in RDF]: https://periodo.github.io/edtf-ontology/
[time:intervalIn]: https://www.w3.org/TR/owl-time/#time:intervalIn
[EDTF]: https://www.loc.gov/standards/datetime/
<!-- TODO: duration, P192 -->
## Spatial data
Instances of **[E94 Space Primitive]** should be expressed using [GeoSPARQL] Ontology as instance of [geo:Geometry], compatible with various geographic data formats (WKT, GeoJSON, GML...).^[See also CRM Geo draft at <http://www.cidoc-crm.org/extensions/crmgeo/>, defining superclasses of `geo:Geometry`.] CRM Property [P168 place is defined by] should be expressed with RDF property `geo:hasGeometry`. CRM Properties [P171 at some place within], and [P172 contains] can be used as RDF properties to link places ([E53 Place]) to outer and inner geometries but `geo:hasBoundingBox` and `geo:hasCentroid` should be preferred, if applicable.
The preferred serialization of spatial coordinates is WKT because this allows for spatial queries with GeoSPARQL. GeoJSON can be derived automatically for display in web applications. For simple WKT POINT coordinates in WGS 84 coordinate system, data providers MAY use the [Basic Geo (WGS84 lat/long) Vocabulary](https://www.w3.org/2003/01/geo/) in addition.
~~~{.ttl #lst-spatial-example lst-cap="A place with geographic coordinates"}
@prefix crm: <http://www.cidoc-crm.org/cidoc-crm/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix wgs84: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
<TitanticWreckLocation> a crm:E53_Place ;
crm:P89_falls_within <AtlanticOcean> ;
geo:hasGeometry [
a geo:Geometry ;
geo:asWKT "POINT (-49.946944 41.7325 -3803)"^^geo:wktLiteral ;
geo:asGeoJSON '{"type": "Point","coordinates": [-49.946944,41.7325,-3803]}' ;
wgs84:long "-49.946944" ; wgs84:lat "41.7325" ; wgs84:alt "-3803"
] .
~~~
GeoSPARQL properties `geo:hasMetricSpatialResolution` and/or `geo:hasSpatialAccuracy` can be used to indicate level of detail.
## Geotemporal data
The CRM class [E95 Spacetime Primitive] and its corresponding property [P169i spacetime volume is defined by] MUST NOT be used in RDF. Their purpose in CRM is to define the time and place of an abstract [E92 Spacetime Volume] or one of its subclasses. In RDF this can be done by combination of [P4 has time-span] or [P160 has temporal projection] for time (see [Temporal data]) and [P161 has spatial projection] or [geo:hasGeometry] for place (see [Spatial data]):
~~~{.ttl #lst-geotemporal-data lst-cap="A spacetime primitive in time and place"}
@prefix crm: <http://www.cidoc-crm.org/cidoc-crm/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
<AssassinationOfArchdukeFranzFerdinand>
crm:P4_has_time-span "1914-06-28"^^xsd:date ;
geo:hasGeometry [
# 43°51'28.5"N 18°25'43.9"E
geo:asWKT "POINT (18.4283426 43.8576859)"^^geo:wktLiteral
] .
~~~
[P161 has spatial projection]: http://www.cidoc-crm.org/cidoc-crm/P161_has_spatial_projection
[GeoSPARQL]: https://www.ogc.org/de/publications/standard/geosparql/
[geo:Geometry]: http://www.opengis.net/ont/geosparql#Geometry
[geo:hasGeometry]: http://www.opengis.net/ont/geosparql#hasGeometry
Applications MAY assume:
~~~ttl
crm:E92_Spacetime_Volume rdfs:subClassOf
geosparql:SpatialObject ,
time:TemporalEntity .
~~~
::: {.callout-note}
The CRMgeo extension of CRM combines CRM and GeoSPARQL in a similar but more complex way @Hiebel2016.
:::
# Authority files and types
CRM class **[E32 Authority Document]** and CRM property **[P71 lists]** MUST NOT be used in RDF but corresponding SKOS RDF classes [ConceptScheme] and [inScheme] instead.
CRM also defines class **[E55 Type]** with properties **[P127 has broader term]** and **[P127i has narrower term]**. The class MUST NOT be used in RDF. Instead it can be mapped to one of:
- `skos:Concept` and `skos:broader`/`skos:narrower`, or to
- individual RDF classes, connected with `rdfs:subClassOf`, or
- a more specific sublass or more generic superclass of [E55 Type], such as [E56 Language] and [E28 Conceptual Object].
Applications MAY define [ConceptScheme] as subclass of [E31 Document], [Concept] a subclass of [E27 Conceptual Object] and [inScheme] as subproperty of [P67 refers to].
[P127 has broader term]: http://www.cidoc-crm.org/cidoc-crm/P127
[P127i has narrower term]: http://www.cidoc-crm.org/cidoc-crm/P127i_has_narrower_term
[P4 has time-span]: http://www.cidoc-crm.org/cidoc-crm/P4
[P71 lists]: http://www.cidoc-crm.org/cidoc-crm/P71
[P67 refers to]: http://www.cidoc-crm.org/cidoc-crm/P67
[P79 beginning is qualified by]: http://www.cidoc-crm.org/cidoc-crm/P79
[P80 end is qualified by]: http://www.cidoc-crm.org/cidoc-crm/P80
[P81 ongoing throughout]: http://www.cidoc-crm.org/cidoc-crm/P81
[P82 at some time within]: http://www.cidoc-crm.org/cidoc-crm/P82
[P86 falls within]: http://www.cidoc-crm.org/cidoc-crm/P86
[P86i contains]: http://www.cidoc-crm.org/cidoc-crm/P86i_contains
[P160 has temporal projection]: http://www.cidoc-crm.org/cidoc-crm/P160
[P160i is temporal projection of]: http://www.cidoc-crm.org/cidoc-crm/P160i_is_temporal_projection_of
[P164 is temporally specified by]: http://www.cidoc-crm.org/cidoc-crm/P164
[P164i temporally specifies]: http://www.cidoc-crm.org/cidoc-crm/P164i_temporally_specifies
[P168 place is defined by]: http://www.cidoc-crm.org/cidoc-crm/P168
[P170 defines time]: http://www.cidoc-crm.org/cidoc-crm/P170
[P171 at some place within]: http://www.cidoc-crm.org/cidoc-crm/P171
[P172 contains]: http://www.cidoc-crm.org/cidoc-crm/P172
[P183 ends before the start of]: http://www.cidoc-crm.org/cidoc-crm/P183_ends_before_the_start_of
[P183i starts after the end of]: http://www.cidoc-crm.org/cidoc-crm/P183i_starts_after_the_end_of
[P191 has duration]: http://www.cidoc-crm.org/cidoc-crm/P191
[P169i spacetime volume is defined by]: http://www.cidoc-crm.org/cidoc-crm/P169i_spacetime_volume_is_defined_by
[P173 starts before or with the end of]: http://www.cidoc-crm.org/cidoc-crm/P173
[P174 starts before the end of]: http://www.cidoc-crm.org/cidoc-crm/P174
[P175 starts before or with the start of]: http://www.cidoc-crm.org/cidoc-crm/P175
[P176 starts before the start of]: http://www.cidoc-crm.org/cidoc-crm/P176
[P182 ends before or with the start of]: http://www.cidoc-crm.org/cidoc-crm/P182
[P184 ends before or with the end of]: http://www.cidoc-crm.org/cidoc-crm/P184
[P185 ends before the end of]: http://www.cidoc-crm.org/cidoc-crm/P185
# CRM Classes to use with caution
## E58 Measurement Unit
Defintion of instances of [E58 Measurement Unit] should be avoided but either taken from an established vocabulary of units such as QUDT or expressed as RDF value with UCUM datatype.^[See [cdt:ucum](https://ci.mines-stetienne.fr/lindt/v4/custom_datatypes#ucum) and [QUDT](https://qudt.org/).]
~~~ttl
@prefix unit: <http://qudt.org/vocab/unit/> .
@prefix cdt: <https://w3id.org/cdt/> .
<TitanticSinking>
crm:P191_had_duration [ a crm:E54_Dimension ;
crm:P90_has_value 160 ; crm:P91_has_unit unit:MIN ; # value and QUDT unit
rdf:value "7 min"^^cdt:ucum # UCUM string
] .
~~~
## E41 Appellation
**[E41 Appellation]** and its subclasses ([E35 Title] and [E42 Identifier]) should be avoided (see [above](#primitive-values) for additional subclasses [E61 Time Primitive], [E94 Space Primitive], and [E94 Space Primitive]), unless a name cannot uniquely be identified with a sequence of Unicode characters and an optional language tag:
~~~ttl
<RMSTitantic>
crm:P102_has_title "RMS Titanic"@en ;
crm:P1_is_identified_by [
rdfs:value "MGY" ;
crm:P2_has_type <http://www.wikidata.org/entity/Q353659> # call sign
] .
~~~
If there are multiple names with one preferred name per language and optional name alias, use `skos:prefLabel` and `skos:altLabel`:
~~~ttl
<RMSTitantic>
skos:prefLabel "RMS Titanic"@en ;
skos:altLabel "Titanic"@en, "Royal Mail Steamship Titanic"@en .
~~~
The RDF property `skos:prefLabel` should not be confused with [P48 has preferred identifier] to be used for identifiers only.
If information about the act of naming is required, use [E13 Attribute Assignment] for simple appelations or [E15 Identifier Assignment] for identifiers.
If an identifier **[E42 Identifier] is an URI** meant to identify an RDF resource, dont use plain strings but resource URIs in RDF. If a resource happens to have multiple equivalent URIs, choose a preferred URI and use `owl:sameAs` to record aliases:
~~~ttl
<RMSTitantic> a crm:E18_Physical Thing ;
owl:sameAs
<http://www.wikidata.org/entity/Q3018259> ,
<http://kbpedia.org/kko/rc/RMS-Titanic-TheShip> .
~~~
instead of
~~~ttl
<RMSTitanic> a crm:E18_Physical Thing .
crm:P1_is_identified_by
[ a crm:E42_Identifier ;
crm:P190_has_symbolic_content "http://www.wikidata.org/entity/Q3018259" ] ,
[ a crm:E42_Identifier ;
crm:P190_has_symbolic_content "http://kbpedia.org/kko/rc/RMS-Titanic-TheShip" ] .
~~~
# Deprecated CRM classes
CRM is constantly evolving, so some CRM classes have been renamed or replaced. Outdated classes and properties MUST be supported nevertheless to integrate data that has already been published.
See @CRMResources for a list of CRM versions.
# Bibliographic References
The encoding of bibliographic data is out of the scope of CRM. LRMoo (formerly known as FRBRoo) extends CRM to express the IFLA Library Reference Model (LRM) for bibliographic information managed by libraries [@LRMoo]. The model is based on four levels of description called WEMI (Work, Expression, Manifestation, Item) instead of one class, so the model is not practical for simple bibliographic references (citation data). As long as bibliographic entities are not the core object of investigation, it is enough to express publications as instance of [E31 Document] and express details with an established RDF ontologies for citation data. The preferred choice is the [Bibliographic Ontology] (BIBO). Additional ontologies exist for more details, for instance the [Citation Typing Ontology]\ (CiTO) for citations between publications.
Data providers MUST NOT create their own classes and properties to model bibliographic references with CRM but use BIBO. Applications MAY use the following CRM classes and statements to link BIBO and its corresponding ontologies with CRM:
~~~ttl
dcterms:Agent rdfs:subClassOf crm:E77_Persistent_Item .
foaf:Agent rdfs:subClassOf crm:E77_Persistent_Item .
crm:E39_Actor rdfs:subClassof dcterms:Agent .
crm:E39_Actor rdfs:subClassof foaf:Agent .
foaf:Person owl:equivalentClass crm:E74_Person .
event:Event owl:equivalentClass crm:E5_Event .
bibo:Document rdfs:subClassof crm:E31_Document .
bibo:Collection rdfs:subClassof crm:E31_Document .
~~~
BIBO refers to individual classes and properties from other ontologies (FOAF, DCTERMS, PRISM...). Data providers MUST use these classes and properties in bibliographic references but they MAY include additional RDF statements with corresponding classes and properties from CRM.
Entities (authors, publishers...) SHOULD be referenced by established URI (DOI, ORCID, ROR...) like shown in the following example of a proceedings article:
::: {#lst-bibo lst-cap="Example of a full bibliographic reference"}
```ttl
{{< include examples/bibo.ttl >}}
```
:::
If structured data is not available, bibliographic references can also be expressed with blank nodes having a plain string value `rdfs:label`:
::: {#lst-bibo-flat}
```ttl
_:123 a bibo:Document
rdfs:label "D. Vrandečić, L. Pintscher, and M. Krötzsch. 2023. Wikidata ..." .
```
:::
::: {.callout-tip}
The citation management software [Zotero](https://www.zotero.org/) can import a large number of formats and export BIBO RDF.
:::
To link bibliographic references to other CRM entities use [P70 documents].
[Citation Typing Ontology]: http://purl.org/spar/cito
[Bibliographic Ontology]: https://www.dublincore.org/specifications/bibo/bibo/
# Differences to the official encoding of CRM in RDF
An official encoding of CRM in RDF is published since version 7.1.2, managed at <https://gitlab.isl.ics.forth.gr/cidoc-crm/cidoc_crm_rdf/> (@Doerr2020). The encoding of CRM in RDF described in this document differes by introduction of SKOS:
- [E55 Type] has been replaced by [Concept] and the latter is defined subclass of [E28 Conceptual Object]
(instead of defining [Concept] a subclass of [E55 Type]).
- [E32 Authority Document] has been replaced by [ConceptScheme] and the latter is defined subclass of [E31 Document]
- [P71 lists] has been replaced by [inScheme] and the latter is defined subproperty of [P67 refers to].
- [P172 has broader term] has been replaced by [broader]
(instead of defining the former superproperty of the latter)
- [P172i has narrower term] has been replaced by [narrower]
(instead of defining the former superproperty of the latter)
In addition the use of non-standard temporal properties such as `P81a_end_of_the_begin` and `P82b_end_of_the_end` will likely be discouraged in favour of [Time Ontology] and [EDTF].
Rationales: integration with terminologies and simplification of queries.
# References
<!-- TODO: add SKOS -->
::: {#refs}
:::
[E13 Attribute Assignment]: http://www.cidoc-crm.org/cidoc-crm/E13
[E15 Identifier Assignment]: http://www.cidoc-crm.org/cidoc-crm/E15
[E28 Conceptual Object]: http://www.cidoc-crm.org/cidoc-crm/E28
[E31 Document]: http://www.cidoc-crm.org/cidoc-crm/E31
[E32 Authority Document]: http://www.cidoc-crm.org/cidoc-crm/E32
[E35 Title]: http://www.cidoc-crm.org/cidoc-crm/E35
[E42 Identifier]: http://www.cidoc-crm.org/cidoc-crm/E42
[E55 Type]: http://www.cidoc-crm.org/cidoc-crm/E55
[E56 Language]: http://www.cidoc-crm.org/cidoc-crm/E56
[E58 Measurement Unit]: http://www.cidoc-crm.org/cidoc-crm/E58
[E52 Time-Span]: http://www.cidoc-crm.org/cidoc-crm/E52
[E53 Place]: http://www.cidoc-crm.org/cidoc-crm/E53
[E41 Appellation]: http://www.cidoc-crm.org/cidoc-crm/E41
[E59 Primitive Value]: http://www.cidoc-crm.org/cidoc-crm/E59
[E61 Time Primitive]: http://www.cidoc-crm.org/cidoc-crm/E61
[E92 Spacetime Volume]: http://www.cidoc-crm.org/cidoc-crm/E92
[E94 Space Primitive]: http://www.cidoc-crm.org/cidoc-crm/E94
[E95 Spacetime Primitive]: http://www.cidoc-crm.org/cidoc-crm/E95
[P70 documents]: http://cidoc-crm.org/cidoc-crm/P70_documents
[P172 has broader term]: http://cidoc-crm.org/cidoc-crm/P127_has_broader_term
[P172i has narrower term]: http://cidoc-crm.org/cidoc-crm/P127_has_broader_term
[Concept]: https://www.w3.org/TR/skos-reference/#concepts
[ConceptScheme]: https://www.w3.org/TR/skos-reference/#schemes
[inScheme]: https://www.w3.org/TR/skos-reference/#schemes
[broader]: https://www.w3.org/TR/skos-reference/#semantic-relations
[narrower]: https://www.w3.org/TR/skos-reference/#semantic-relations