sdml_core/stdlib/
dcterms.rs

1/*!
2This Rust module contains the SDML model of the SDML library module `dc_terms`.
3*/
4
5use crate::model::{
6    annotations::{AnnotationOnlyBody, HasAnnotations},
7    modules::Module,
8    HasBody,
9};
10use std::str::FromStr;
11
12// ------------------------------------------------------------------------------------------------
13// Public Types
14// ------------------------------------------------------------------------------------------------
15
16pub const MODULE_NAME: &str = "dcterms";
17pub const MODULE_URL: &str = "http://purl.org/dc/terms/";
18
19pub const CONTRIBUTOR: &str = "contributor";
20pub const COVERAGE: &str = "coverage";
21pub const CREATOR: &str = "creator";
22pub const DATE: &str = "date";
23pub const DESCRIPTION: &str = "description";
24pub const FORMAT: &str = "format";
25pub const IDENTIFIER: &str = "identifier";
26pub const LANGUAGE: &str = "language";
27pub const PUBLISHER: &str = "publisher";
28pub const RELATION: &str = "relation";
29pub const RIGHTS: &str = "rights";
30pub const SOURCE: &str = "source";
31pub const SUBJECT: &str = "subject";
32pub const TITLE: &str = "title";
33pub const TYPE: &str = "type";
34
35// ------------------------------------------------------------------------------------------------
36// Public Functions
37// ------------------------------------------------------------------------------------------------
38
39module_function!(|| {
40    let module_uri: url::Url = url::Url::parse(MODULE_URL).unwrap();
41
42    module!(
43        id!(unchecked dcterms), module_uri ; call |module: Module|
44        module.with_imports([import_statement!(
45            id!(unchecked dc),
46            id!(unchecked rdf),
47            id!(unchecked rdfs),
48            id!(unchecked skos)
49        )])
50            .with_annotations([
51                 annotation!(id!(unchecked modified), v!(id!(unchecked xsd:date), "2012-06-14")),
52                 annotation!(id!(unchecked publisher), url!("http://purl.org/dc/aboutdcmi#DCMI")),
53                 annotation!(id!(unchecked title), v!("DCMI Metadata Terms - other")),
54            ])
55            .with_definitions([
56                // ---------------------------------------------------------------------------------
57                // Classes
58                // ---------------------------------------------------------------------------------
59                rdf!(
60                    id!(unchecked Agent) ;
61                    class id!(unchecked AgentClass) ;
62                    call |body: AnnotationOnlyBody|
63                    body.with_annotations([
64                        annotation!(id!(unchecked rdf:type), id!(unchecked AgentClass)),
65                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
66                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Agent"@en)),
67                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
68                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A resource that acts or has the power to act."@en)),
69                    ])).into(),
70                rdf!(
71                    id!(unchecked AgentClass) ;
72                    class ;
73                    call |body: AnnotationOnlyBody|
74                    body.with_annotations([
75                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
76                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("AgentClass"@en)),
77                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
78                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A group of agents."@en)),
79                    ])).into(),
80                rdf!(
81                    id!(unchecked BibliographicResource) ;
82                    class ;
83                    call |body: AnnotationOnlyBody|
84                    body.with_annotations([
85                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
86                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("BibliographicResource"@en)),
87                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
88                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Bibliographic Resource."@en)),
89                    ])).into(),
90                rdf!(
91                    id!(unchecked Box) ;
92                    datatype ;
93                    call |body: AnnotationOnlyBody|
94                    body.with_annotations([
95                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
96                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("DCMI Box"@en)),
97                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
98                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of regions in space defined by their geographic coordinates according to the DCMI Box Encoding Scheme."@en)),
99                        annotation!(id!(unchecked rdfs:seeAlso), url!("https://www.dublincore.org/specifications/dublin-core/dcmi-box/")),
100                    ])).into(),
101                rdf!(
102                    id!(unchecked DCMIType) ;
103                    class ;
104                    call |body: AnnotationOnlyBody|
105                    body.with_annotations([
106                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
107                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("DCMI Type Vocabulary"@en)),
108                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
109                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of classes specified by the DCMI Type Vocabulary, used to categorize the nature or genre of the resource."@en)),
110                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://purl.org/dc/dcmitype/")),
111                    ])).into(),
112                rdf!(
113                    id!(unchecked DDC) ;
114                    class ;
115                    call |body: AnnotationOnlyBody|
116                    body.with_annotations([
117                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
118                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("DDC"@en)),
119                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
120                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of conceptual resources specified by the Dewey Decimal Classification."@en)),
121                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://www.oclc.org/dewey/")),
122                    ])).into(),
123                rdf!(
124                    id!(unchecked FileFormat) ;
125                    class id!(unchecked MediaType) ;
126                    call |body: AnnotationOnlyBody|
127                    body.with_annotations([
128                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
129                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("File Format"@en)),
130                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
131                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A digital resource format."@en)),
132                    ])).into(),
133                rdf!(
134                    id!(unchecked Frequency) ;
135                    class ;
136                    call |body: AnnotationOnlyBody|
137                    body.with_annotations([
138                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
139                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Frequency"@en)),
140                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
141                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A rate at which something recurs."@en)),
142                    ])).into(),
143                rdf!(
144                    id!(unchecked IMT) ;
145                    class ;
146                    call |body: AnnotationOnlyBody|
147                    body.with_annotations([
148                        annotation!(id!(unchecked rdf:type), id!(unchecked dcam:VocabularyEncodingScheme)),
149                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
150                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("IMT"@en)),
151                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2007-07-11")),
152                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of media types specified by the Internet Assigned Numbers Authority."@en)),
153                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://www.iana.org/assignments/media-types/")),
154                    ])).into(),
155                rdf!(
156                    id!(unchecked ISO3166) ;
157                    datatype ;
158                    call |body: AnnotationOnlyBody|
159                    body.with_annotations([
160                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
161                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("ISO 3166"@en)),
162                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2007-07-11")),
163                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of codes listed in ISO 3166-1 for the representation of names of countries."@en)),
164                    ])).into(),
165                rdf!(
166                    id!(unchecked ISO639_2) ;
167                    datatype ;
168                    call |body: AnnotationOnlyBody|
169                    body.with_annotations([
170                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
171                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("ISO 639-2"@en)),
172                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2007-07-11")),
173                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of two-letter codes listed in ISO 639-3 for the representation of names of languages."@en)),
174                    ])).into(),
175                rdf!(
176                    id!(unchecked ISO639_3) ;
177                    datatype  ;
178                    call |body: AnnotationOnlyBody|
179                    body.with_annotations([
180                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
181                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("ISO 639-3"@en)),
182                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2007-07-11")),
183                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of three-letter codes listed in ISO 639-3 for the representation of names of languages."@en)),
184                    ])).into(),
185                rdf!(
186                    id!(unchecked ISO639_3) ;
187                    datatype  ;
188                    call |body: AnnotationOnlyBody|
189                    body.with_annotations([
190                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
191                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("ISO 639-3"@en)),
192                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2007-07-11")),
193                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of three-letter codes listed in ISO 639-3 for the representation of names of languages."@en)),
194                    ])).into(),
195                rdf!(
196                    id!(unchecked Jurisdiction) ;
197                    class id!(unchecked LocationPeriodOrJurisdiction) ;
198                    call |body: AnnotationOnlyBody|
199                    body.with_annotations([
200                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
201                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Jurisdiction"@en)),
202                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
203                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The extent or range of judicial, law enforcement, or other authority."@en)),
204                    ])).into(),
205                rdf!(
206                    id!(unchecked LCC) ;
207                    class ;
208                    call |body: AnnotationOnlyBody|
209                    body.with_annotations([
210                        annotation!(id!(unchecked rdf:type), id!(unchecked dcam:VocabularyEncodingScheme)),
211                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
212                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("LCC"@en)),
213                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
214                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of conceptual resources specified by the Library of Congress Classification."@en)),
215                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://lcweb.loc.gov/catdir/cpso/lcco/lcco.html")),
216                    ])).into(),
217                rdf!(
218                    id!(unchecked LCSH) ;
219                    class id!(unchecked LocationPeriodOrJurisdiction) ;
220                    call |body: AnnotationOnlyBody|
221                    body.with_annotations([
222                        annotation!(id!(unchecked rdf:type), id!(unchecked dcam:VocabularyEncodingScheme)),
223                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
224                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("LCSH"@en)),
225                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
226                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of labeled concepts specified by the Library of Congress Subject Headings."@en)),
227                    ])).into(),
228                rdf!(
229                    id!(unchecked LicenseDocument) ;
230                    class id!(unchecked RightsStatement) ;
231                    call |body: AnnotationOnlyBody|
232                    body.with_annotations([
233                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
234                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("License Document"@en)),
235                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
236                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A legal document giving official permission to do something with a resource."@en)),
237                    ])).into(),
238                rdf!(
239                    id!(unchecked LinguisticSystem) ;
240                    class ;
241                    call |body: AnnotationOnlyBody|
242                    body.with_annotations([
243                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
244                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Linguistic System"@en)),
245                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
246                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A system of signs, symbols, sounds, gestures, or rules used in communication."@en)),
247                    ])).into(),
248                rdf!(
249                    id!(unchecked Location) ;
250                    class id!(unchecked LocationPeriodOrJurisdiction) ;
251                    call |body: AnnotationOnlyBody|
252                    body.with_annotations([
253                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
254                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Location, Period, or Jurisdiction"@en)),
255                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
256                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A spatial region or named place."@en)),
257                    ])).into(),
258                rdf!(
259                    id!(unchecked LocationPeriodOrJurisdiction) ;
260                    class ;
261                    call |body: AnnotationOnlyBody|
262                    body.with_annotations([
263                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
264                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Location"@en)),
265                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
266                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A location, period of time, or jurisdiction."@en)),
267                    ])).into(),
268                rdf!(
269                    id!(unchecked MESH) ;
270                    class ;
271                    call |body: AnnotationOnlyBody|
272                    body.with_annotations([
273                        annotation!(id!(unchecked rdf:type), id!(unchecked dcam:VocabularyEncodingScheme)),
274                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
275                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("MeSH"@en)),
276                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
277                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of labeled concepts specified by the Medical Subject Headings."@en)),
278                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://www.nlm.nih.gov/mesh/meshhome.html")),
279                    ])).into(),
280                rdf!(
281                    id!(unchecked MediaType) ;
282                    class id!(unchecked MediaTypeOrExtent) ;
283                    call |body: AnnotationOnlyBody|
284                    body.with_annotations([
285                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
286                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Media Type"@en)),
287                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
288                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A file format or physical medium."@en)),
289                    ])).into(),
290                rdf!(
291                    id!(unchecked MediaTypeOrExtent) ;
292                    class ;
293                    call |body: AnnotationOnlyBody|
294                    body.with_annotations([
295                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
296                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Media Type or Extent"@en)),
297                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
298                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A media type or extent."@en)),
299                    ])).into(),
300                rdf!(
301                    id!(unchecked MethodOfAccrual) ;
302                    class ;
303                    call |body: AnnotationOnlyBody|
304                    body.with_annotations([
305                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
306                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Method of Accrual"@en)),
307                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
308                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A method by which resources are added to a collection."@en)),
309                    ])).into(),
310                rdf!(
311                    id!(unchecked MethodOfInstruction) ;
312                    class ;
313                    call |body: AnnotationOnlyBody|
314                    body.with_annotations([
315                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
316                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Method of Instruction"@en)),
317                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
318                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A process that is used to engender knowledge, attitudes, and skills."@en)),
319                    ])).into(),
320                rdf!(
321                    id!(unchecked NLM) ;
322                    class ;
323                    call |body: AnnotationOnlyBody|
324                    body.with_annotations([
325                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
326                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("NLM"@en)),
327                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2005-06-13")),
328                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of conceptual resources specified by the National Library of Medicine Classification."@en)),
329                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://wwwcf.nlm.nih.gov/class/")),
330                    ])).into(),
331                rdf!(
332                    id!(unchecked Period) ;
333                    datatype ;
334                    call |body: AnnotationOnlyBody|
335                    body.with_annotations([
336                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
337                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Period"@en)),
338                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
339                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of time intervals defined by their limits according to the DCMI Period Encoding Scheme."@en)),
340                        annotation!(id!(unchecked rdfs:seeAlso), url!("https://www.dublincore.org/specifications/dublin-core/dcmi-period/")),
341                    ])).into(),
342                rdf!(
343                    id!(unchecked PeriodOfTime) ;
344                    class id!(unchecked LocationPeriodOrJurisdiction) ;
345                    call |body: AnnotationOnlyBody|
346                    body.with_annotations([
347                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
348                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Period of Time"@en)),
349                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
350                        annotation!(id!(unchecked rdfs:comment), rdf_str!("An interval of time that is named or defined by its start and end dates."@en)),
351                    ])).into(),
352                rdf!(
353                    id!(unchecked PhysicalMedium) ;
354                    class id!(unchecked MediaType) ;
355                    call |body: AnnotationOnlyBody|
356                    body.with_annotations([
357                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
358                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Physical Medium"@en)),
359                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
360                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A physical material or carrier."@en)),
361                    ])).into(),
362                rdf!(
363                    id!(unchecked PhysicalResource) ;
364                    class id!(unchecked MediaType) ;
365                    call |body: AnnotationOnlyBody|
366                    body.with_annotations([
367                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
368                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Physical Resource"@en)),
369                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
370                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A material thing."@en)),
371                    ])).into(),
372                rdf!(
373                    id!(unchecked Point) ;
374                    datatype ;
375                    call |body: AnnotationOnlyBody|
376                    body.with_annotations([
377                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
378                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("DCMI Point"@en)),
379                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
380                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of points in space defined by their geographic coordinates according to the DCMI Point Encoding Scheme."@en)),
381                        annotation!(id!(unchecked rdfs:seeAlso), url!("https://www.dublincore.org/specifications/dublin-core/dcmi-point/")),
382                    ])).into(),
383                rdf!(
384                    id!(unchecked Policy) ;
385                    class ;
386                    call |body: AnnotationOnlyBody|
387                    body.with_annotations([
388                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
389                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Policy"@en)),
390                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
391                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A plan or course of action by an authority, intended to influence and determine decisions, actions, and other matters."@en)),
392                    ])).into(),
393                rdf!(
394                    id!(unchecked ProvenanceStatement) ;
395                    class ;
396                    call |body: AnnotationOnlyBody|
397                    body.with_annotations([
398                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
399                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Provenance Statement"@en)),
400                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
401                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Any changes in ownership and custody of a resource since its creation that are significant for its authenticity, integrity, and interpretation."@en)),
402                    ])).into(),
403                rdf!(
404                    id!(unchecked RFC1766) ;
405                    datatype ;
406                    call |body: AnnotationOnlyBody|
407                    body.with_annotations([
408                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
409                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("RFC 1766"@en)),
410                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
411                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of tags, constructed according to RFC 1766, for the identification of languages."@en)),
412                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://www.ietf.org/rfc/rfc1766.txt")),
413                    ])).into(),
414                rdf!(
415                    id!(unchecked RFC3066) ;
416                    datatype ;
417                    call |body: AnnotationOnlyBody|
418                    body.with_annotations([
419                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
420                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("RFC 3066"@en)),
421                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2002-07-13")),
422                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of tags constructed according to RFC 3066 for the identification of languages."@en)),
423                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://www.ietf.org/rfc/rfc3066.txt")),
424                    ])).into(),
425                rdf!(
426                    id!(unchecked RFC4646) ;
427                    datatype ;
428                    call |body: AnnotationOnlyBody|
429                    body.with_annotations([
430                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
431                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("RFC 4646"@en)),
432                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
433                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of tags constructed according to RFC 4646 for the identification of languages."@en)),
434                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://www.ietf.org/rfc/rfc4646.txt")),
435                    ])).into(),
436                rdf!(
437                    id!(unchecked RFC5646) ;
438                    datatype ;
439                    call |body: AnnotationOnlyBody|
440                    body.with_annotations([
441                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
442                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("RFC 5646"@en)),
443                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2010-10-11")),
444                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of tags constructed according to RFC 5646 for the identification of languages."@en)),
445                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://www.ietf.org/rfc/rfc5646.txt")),
446                    ])).into(),
447                rdf!(
448                    id!(unchecked RightsStatement) ;
449                    class ;
450                    call |body: AnnotationOnlyBody|
451                    body.with_annotations([
452                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
453                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Rights Statement"@en)),
454                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
455                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A statement about the intellectual property rights (IPR) held in or over a resource, a legal document giving official permission to do something with a resource, or a statement about access rights."@en)),
456                    ])).into(),
457                rdf!(
458                    id!(unchecked SizeOrDuration) ;
459                    class id!(unchecked MediaTypeOrExtent) ;
460                    call |body: AnnotationOnlyBody|
461                    body.with_annotations([
462                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
463                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Size or Duration"@en)),
464                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
465                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A dimension or extent, or a time taken to play or execute."@en)),
466                    ])).into(),
467                rdf!(
468                    id!(unchecked Standard) ;
469                    class ;
470                    call |body: AnnotationOnlyBody|
471                    body.with_annotations([
472                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
473                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Standard"@en)),
474                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
475                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A reference point against which other things can be evaluated or compared."@en)),
476                    ])).into(),
477                rdf!(
478                    id!(unchecked TGN) ;
479                    class ;
480                    call |body: AnnotationOnlyBody|
481                    body.with_annotations([
482                        annotation!(id!(unchecked rdf:type), id!(unchecked dcam:VocabularyEncodingScheme)),
483                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
484                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("TGN"@en)),
485                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
486                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of places specified by the Getty Thesaurus of Geographic Names."@en)),
487                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://www.getty.edu/research/tools/vocabulary/tgn/index.html")),
488                    ])).into(),
489                rdf!(
490                    id!(unchecked UDC) ;
491                    class ;
492                    call |body: AnnotationOnlyBody|
493                    body.with_annotations([
494                        annotation!(id!(unchecked rdf:type), id!(unchecked dcam:VocabularyEncodingScheme)),
495                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
496                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("UDC"@en)),
497                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
498                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of conceptual resources specified by the Universal Decimal Classification."@en)),
499                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://www.udcc.org/")),
500                    ])).into(),
501                rdf!(
502                    id!(unchecked URI) ;
503                    datatype ;
504                    call |body: AnnotationOnlyBody|
505                    body.with_annotations([
506                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
507                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("URI"@en)),
508                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
509                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of identifiers constructed according to the generic syntax for Uniform Resource Identifiers as specified by the Internet Engineering Task Force."@en)),
510                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://www.ietf.org/rfc/rfc3986.txt")),
511                    ])).into(),
512                rdf!(
513                    id!(unchecked W3CDTF) ;
514                    datatype ;
515                    call |body: AnnotationOnlyBody|
516                    body.with_annotations([
517                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
518                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("W3C-DTF"@en)),
519                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
520                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The set of dates and times constructed according to the W3C Date and Time Formats Specification."@en)),
521                        annotation!(id!(unchecked rdfs:seeAlso), url!("http://www.w3.org/TR/NOTE-datetime")),
522                    ])).into(),
523                // ---------------------------------------------------------------------------------
524                // Properties
525                // ---------------------------------------------------------------------------------
526                rdf!(
527                    id!(unchecked abstract) ;
528                    property id!(unchecked dc:description), id!(unchecked description) ;
529                    call |body: AnnotationOnlyBody|
530                    body.with_annotations([
531                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
532                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Abstract"@en)),
533                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
534                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A summary of the resource."@en)),
535                    ])).into(),
536                rdf!(
537                    id!(unchecked accessRights) ;
538                    property id!(unchecked dc:rights), id!(unchecked rights) ;
539                    call |body: AnnotationOnlyBody|
540                    body.with_annotations([
541                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
542                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Access Rights"@en)),
543                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2003-02-15")),
544                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Information about who access the resource or an indication of its security status."@en)),
545                    ])).into(),
546                rdf!(
547                    id!(unchecked accrualMethod) ;
548                    property id!(unchecked dc:rights), id!(unchecked rights) ;
549                    call |body: AnnotationOnlyBody|
550                    body.with_annotations([
551                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
552                        annotation!(id!(unchecked rdfs:domain), id!(unchecked dcmitype:Collection)),
553                        annotation!(id!(unchecked dcam:rangeIncludes), id!(unchecked MethodOfAccrual)),
554                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Accrual Method"@en)),
555                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2005-06-13")),
556                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The method by which items are added to a collection."@en)),
557                    ])).into(),
558                rdf!(
559                    id!(unchecked accrualPeriodicity) ;
560                    property ;
561                    call |body: AnnotationOnlyBody|
562                    body.with_annotations([
563                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
564                        annotation!(id!(unchecked rdfs:domain), id!(unchecked dcmitype:Collection)),
565                        annotation!(id!(unchecked dcam:rangeIncludes), id!(unchecked Frequency)),
566                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Accrual Periodicity"@en)),
567                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2005-06-13")),
568                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The frequency with which items are added to a collection."@en)),
569                    ])).into(),
570                rdf!(
571                    id!(unchecked accrualPolicy) ;
572                    property ;
573                    call |body: AnnotationOnlyBody|
574                    body.with_annotations([
575                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
576                        annotation!(id!(unchecked rdfs:domain), id!(unchecked dcmitype:Collection)),
577                        annotation!(id!(unchecked dcam:rangeIncludes), id!(unchecked Policy)),
578                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Accrual Policy"@en)),
579                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2005-06-13")),
580                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The policy governing the addition of items to a collection."@en)),
581                    ])).into(),
582                rdf!(
583                    id!(unchecked alternative) ;
584                    property id!(unchecked dc:title), id!(unchecked title) ;
585                    call |body: AnnotationOnlyBody|
586                    body.with_annotations([
587                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
588                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Literal)),
589                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Alternative"@en)),
590                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
591                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Alternative Title."@en)),
592                    ])).into(),
593                rdf!(
594                    id!(unchecked available) ;
595                    property id!(unchecked dc:date), id!(unchecked date) ;
596                    call |body: AnnotationOnlyBody|
597                    body.with_annotations([
598                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
599                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Literal)),
600                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Date Available"@en)),
601                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
602                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Date that the resource became or will become available."@en)),
603                    ])).into(),
604                rdf!(
605                    id!(unchecked bibliographicCitation) ;
606                    property id!(unchecked dc:identifier), id!(unchecked identifier) ;
607                    call |body: AnnotationOnlyBody|
608                    body.with_annotations([
609                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
610                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Literal)),
611                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Bibliographic Citation"@en)),
612                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2003-02-15")),
613                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A bibliographic reference for the resource."@en)),
614                    ])).into(),
615                rdf!(
616                    id!(unchecked conformsTo) ;
617                    property id!(unchecked dc:relation), id!(unchecked relation) ;
618                    call |body: AnnotationOnlyBody|
619                    body.with_annotations([
620                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
621                        annotation!(id!(unchecked dcam:rangeIncludes), id!(unchecked Standard)),
622                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Conforms To"@en)),
623                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2001-05-21")),
624                        annotation!(id!(unchecked rdfs:comment), rdf_str!("An established standard to which the described resource conforms."@en)),
625                    ])).into(),
626                rdf!(
627                    id!(unchecked contributor) ;
628                    property id!(unchecked dc:contributor) ;
629                    call |body: AnnotationOnlyBody|
630                    body.with_annotations([
631                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
632                        annotation!(id!(unchecked dcam:rangeIncludes), id!(unchecked Agent)),
633                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Contributor"@en)),
634                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
635                        annotation!(id!(unchecked rdfs:comment), rdf_str!("An entity responsible for making contributions to the resource."@en)),
636                    ])).into(),
637                rdf!(
638                    id!(unchecked coverage) ;
639                    property id!(unchecked dc:coverage) ;
640                    call |body: AnnotationOnlyBody|
641                    body.with_annotations([
642                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
643                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked Jurisdiction), id!(unchecked Location), id!(unchecked Period))),
644                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Coverage"@en)),
645                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
646                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The spatial or temporal topic of the resource, spatial applicability of the resource, or jurisdiction under which the resource is relevant."@en)),
647                    ])).into(),
648                rdf!(
649                    id!(unchecked created) ;
650                    property id!(unchecked dc:date), id!(unchecked date) ;
651                    call |body: AnnotationOnlyBody|
652                    body.with_annotations([
653                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
654                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Literal)),
655                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Date Created"@en)),
656                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
657                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Date of creation of the resource."@en)),
658                    ])).into(),
659                rdf!(
660                    id!(unchecked creator) ;
661                    property id!(unchecked dc:creator), id!(unchecked contributor) ;
662                    call |body: AnnotationOnlyBody|
663                    body.with_annotations([
664                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
665                        annotation!(id!(unchecked dcam:rangeIncludes), id!(unchecked Agent)),
666                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Creator"@en)),
667                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
668                        annotation!(id!(unchecked rdfs:comment), rdf_str!("An entity primarily responsible for making the resource."@en)),
669                        // TODO: owl:equivalentProperty <http://xmlns.com/foaf/0.1/maker>
670                    ])).into(),
671                rdf!(
672                    id!(unchecked date) ;
673                    property id!(unchecked dc:date) ;
674                    call |body: AnnotationOnlyBody|
675                    body.with_annotations([
676                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
677                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Literal)),
678                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Date"@en)),
679                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
680                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A point or period of time associated with an event in the lifecycle of the resource."@en)),
681                    ])).into(),
682                rdf!(
683                    id!(unchecked dateAccepted) ;
684                    property id!(unchecked dc:date), id!(unchecked date) ;
685                    call |body: AnnotationOnlyBody|
686                    body.with_annotations([
687                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
688                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Literal)),
689                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Date Accepted"@en)),
690                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2002-07-13")),
691                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Date of acceptance of the resource."@en)),
692                    ])).into(),
693                rdf!(
694                    id!(unchecked dateCopyrighted) ;
695                    property id!(unchecked dc:date), id!(unchecked date) ;
696                    call |body: AnnotationOnlyBody|
697                    body.with_annotations([
698                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
699                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Literal)),
700                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Date Copyrighted"@en)),
701                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2002-07-13")),
702                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Date of copyright of the resource."@en)),
703                    ])).into(),
704                rdf!(
705                    id!(unchecked dateSubmitted) ;
706                    property id!(unchecked dc:date), id!(unchecked date) ;
707                    call |body: AnnotationOnlyBody|
708                    body.with_annotations([
709                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
710                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Literal)),
711                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Date Submitted"@en)),
712                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2002-07-13")),
713                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Date of submission of the resource."@en)),
714                    ])).into(),
715                rdf!(
716                    id!(unchecked description) ;
717                    property id!(unchecked dc:description) ;
718                    call |body: AnnotationOnlyBody|
719                    body.with_annotations([
720                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
721                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Description"@en)),
722                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
723                        annotation!(id!(unchecked rdfs:comment), rdf_str!("An account of the resource."@en)),
724                    ])).into(),
725                rdf!(
726                    id!(unchecked educationLevel) ;
727                    property id!(unchecked audience) ;
728                    call |body: AnnotationOnlyBody|
729                    body.with_annotations([
730                        annotation!(id!(unchecked dcam:rangeIncludes), id!(unchecked AgentClass)),
731                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
732                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Description"@en)),
733                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2002-07-13")),
734                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Audience Education Level"@en)),
735                    ])).into(),
736                rdf!(
737                    id!(unchecked extent) ;
738                    property id!(unchecked dc:format), id!(unchecked format) ;
739                    call |body: AnnotationOnlyBody|
740                    body.with_annotations([
741                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
742                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Extent"@en)),
743                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
744                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The size or duration of the resource."@en)),
745                    ])).into(),
746                rdf!(
747                    id!(unchecked format) ;
748                    property id!(unchecked dc:format) ;
749                    call |body: AnnotationOnlyBody|
750                    body.with_annotations([
751                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
752                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked Extent), id!(unchecked MediaType))),
753                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("format"@en)),
754                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
755                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The file format, physical medium, or dimensions of the resource."@en)),
756                    ])).into(),
757                rdf!(
758                    id!(unchecked hasPart) ;
759                    property id!(unchecked dc:relation), id!(unchecked relation) ;
760                    call |body: AnnotationOnlyBody|
761                    body.with_annotations([
762                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
763                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Has Part"@en)),
764                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
765                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A related resource that is substantially the same as the pre-existing described resource, but in another format."@en)),
766                    ])).into(),
767                rdf!(
768                    id!(unchecked hasFormat) ;
769                    property id!(unchecked dc:relation), id!(unchecked relation) ;
770                    call |body: AnnotationOnlyBody|
771                    body.with_annotations([
772                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
773                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Has Format"@en)),
774                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
775                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A related resource that is included either physically or logically in the described resource."@en)),
776                    ])).into(),
777                rdf!(
778                    id!(unchecked identifier) ;
779                    property id!(unchecked dc:identifier) ;
780                    call |body: AnnotationOnlyBody|
781                    body.with_annotations([
782                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
783                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Identifier"@en)),
784                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
785                        annotation!(id!(unchecked rdfs:comment), rdf_str!("An unambiguous reference to the resource within a given context."@en)),
786                    ])).into(),
787                rdf!(
788                    id!(unchecked instructionalMethod) ;
789                    property ;
790                    call |body: AnnotationOnlyBody|
791                    body.with_annotations([
792                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
793                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked MethodOfInstruction))),
794                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Instructional Method"@en)),
795                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2005-06-13")),
796                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A process, used to engender knowledge, attitudes and skills, that the described resource is designed to support."@en)),
797                    ])).into(),
798                rdf!(
799                    id!(unchecked isFormatOf) ;
800                    property id!(unchecked dc:relation), id!(unchecked relation) ;
801                    call |body: AnnotationOnlyBody|
802                    body.with_annotations([
803                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
804                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Is Format Of"@en)),
805                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
806                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A pre-existing related resource that is substantially the same as the described resource, but in another format."@en)),
807                    ])).into(),
808                rdf!(
809                    id!(unchecked isPartOf) ;
810                    property id!(unchecked dc:relation), id!(unchecked relation) ;
811                    call |body: AnnotationOnlyBody|
812                    body.with_annotations([
813                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
814                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Is Replaced By"@en)),
815                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
816                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A related resource that references, cites, or otherwise points to the described resource."@en)),
817                    ])).into(),
818                rdf!(
819                    id!(unchecked isReplacedBy) ;
820                    property id!(unchecked dc:relation), id!(unchecked relation) ;
821                    call |body: AnnotationOnlyBody|
822                    body.with_annotations([
823                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
824                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Is Part Of"@en)),
825                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
826                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A related resource that supplants, displaces, or supersedes the described resource."@en)),
827                    ])).into(),
828                rdf!(
829                    id!(unchecked isRequiredBy) ;
830                    property id!(unchecked dc:relation), id!(unchecked relation) ;
831                    call |body: AnnotationOnlyBody|
832                    body.with_annotations([
833                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
834                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Is Required By"@en)),
835                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
836                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A related resource that requires the described resource to support its function, delivery, or coherence."@en)),
837                    ])).into(),
838                rdf!(
839                    id!(unchecked isVersionOf) ;
840                    property id!(unchecked dc:relation), id!(unchecked relation) ;
841                    call |body: AnnotationOnlyBody|
842                    body.with_annotations([
843                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
844                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Is Version Of"@en)),
845                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
846                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A related resource of which the described resource is a version, edition, or adaptation."@en)),
847                    ])).into(),
848                rdf!(
849                    id!(unchecked issued) ;
850                    property id!(unchecked dc:date), id!(unchecked date) ;
851                    call |body: AnnotationOnlyBody|
852                    body.with_annotations([
853                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
854                        annotation!(id!(unchecked rdfs:range), id!(unchecked rdfs:Literal)),
855                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Date Issued"@en)),
856                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
857                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Date of formal issuance of the resource."@en)),
858                    ])).into(),
859                rdf!(
860                    id!(unchecked language) ;
861                    property id!(unchecked dc:language) ;
862                    call |body: AnnotationOnlyBody|
863                    body.with_annotations([
864                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
865                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked LinguisticSystem))),
866                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Language"@en)),
867                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
868                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A language of the resource."@en)),
869                    ])).into(),
870                rdf!(
871                    id!(unchecked license) ;
872                    property id!(unchecked dc:rights), id!(unchecked rights) ;
873                    call |body: AnnotationOnlyBody|
874                    body.with_annotations([
875                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
876                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked LicenseDocument))),
877                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("License"@en)),
878                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2004-06-14")),
879                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A legal document giving official permission to do something with the resource."@en)),
880                    ])).into(),
881                rdf!(
882                    id!(unchecked mediator) ;
883                    property id!(unchecked audience) ;
884                    call |body: AnnotationOnlyBody|
885                    body.with_annotations([
886                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
887                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked AgentClass))),
888                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Mediator"@en)),
889                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2001-05-21")),
890                        annotation!(id!(unchecked rdfs:comment), rdf_str!("An entity that mediates access to the resource."@en)),
891                    ])).into(),
892                rdf!(
893                    id!(unchecked medium) ;
894                    property id!(unchecked dc:format), id!(unchecked format) ;
895                    call |body: AnnotationOnlyBody|
896                    body.with_annotations([
897                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
898                        annotation!(id!(unchecked dcam:domainIncludes), vs!(id!(unchecked PhysicalResource))),
899                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked PhysicalMedium))),
900                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Medium"@en)),
901                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
902                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The material or physical carrier of the resource."@en)),
903                    ])).into(),
904                rdf!(
905                    id!(unchecked modified) ;
906                    property id!(unchecked dc:date), id!(unchecked date) ;
907                    call |body: AnnotationOnlyBody|
908                    body.with_annotations([
909                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
910                        annotation!(id!(unchecked rdfs:range), vs!(id!(unchecked rdfs:Literal))),
911                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Date Modified"@en)),
912                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
913                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Date on which the resource was changed."@en)),
914                    ])).into(),
915                rdf!(
916                    id!(unchecked provenance) ;
917                    property id!(unchecked dc:date), id!(unchecked date) ;
918                    call |body: AnnotationOnlyBody|
919                    body.with_annotations([
920                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
921                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked ProvenanceStatement))),
922                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Provenance"@en)),
923                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2004-09-20")),
924                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A statement of any changes in ownership and custody of the resource since its creation that are significant for its authenticity, integrity, and interpretation."@en)),
925                    ])).into(),
926                rdf!(
927                    id!(unchecked publisher) ;
928                    property id!(unchecked dc:publisher) ;
929                    call |body: AnnotationOnlyBody|
930                    body.with_annotations([
931                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
932                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked Agent))),
933                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Publisher"@en)),
934                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
935                        annotation!(id!(unchecked rdfs:comment), rdf_str!("An entity responsible for making the resource available."@en)),
936                    ])).into(),
937                rdf!(
938                    id!(unchecked references) ;
939                    property id!(unchecked dc:relation), id!(unchecked relation) ;
940                    call |body: AnnotationOnlyBody|
941                    body.with_annotations([
942                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
943                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("References"@en)),
944                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
945                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A related resource that is referenced, cited, or otherwise pointed to by the described resource."@en)),
946                    ])).into(),
947                rdf!(
948                    id!(unchecked relation) ;
949                    property id!(unchecked dc:relation) ;
950                    call |body: AnnotationOnlyBody|
951                    body.with_annotations([
952                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
953                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Relation"@en)),
954                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
955                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A related resource."@en)),
956                    ])).into(),
957                rdf!(
958                    id!(unchecked replaces) ;
959                    property id!(unchecked dc:relation), id!(unchecked relation) ;
960                    call |body: AnnotationOnlyBody|
961                    body.with_annotations([
962                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
963                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Replaces"@en)),
964                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
965                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A related resource that is supplanted, displaced, or superseded by the described resource."@en)),
966                    ])).into(),
967                rdf!(
968                    id!(unchecked requires) ;
969                    property id!(unchecked dc:relation), id!(unchecked relation) ;
970                    call |body: AnnotationOnlyBody|
971                    body.with_annotations([
972                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
973                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Requires"@en)),
974                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
975                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A related resource that is required by the described resource to support its function, delivery, or coherence."@en)),
976                    ])).into(),
977                rdf!(
978                    id!(unchecked rights) ;
979                    property id!(unchecked dc:rights) ;
980                    call |body: AnnotationOnlyBody|
981                    body.with_annotations([
982                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
983                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked RightsStatement))),
984                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Rights"@en)),
985                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
986                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Information about rights held in and over the resource."@en)),
987                    ])).into(),
988                rdf!(
989                    id!(unchecked rightsHolder) ;
990                    property id!(unchecked dc:rights) ;
991                    call |body: AnnotationOnlyBody|
992                    body.with_annotations([
993                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
994                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked Agent))),
995                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Rights Holder"@en)),
996                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2004-06-14")),
997                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A person or organization owning or managing rights over the resource."@en)),
998                    ])).into(),
999                rdf!(
1000                    id!(unchecked source) ;
1001                    property id!(unchecked dc:source), id!(unchecked relation) ;
1002                    call |body: AnnotationOnlyBody|
1003                    body.with_annotations([
1004                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
1005                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Source"@en)),
1006                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
1007                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A related resource from which the described resource is derived."@en)),
1008                    ])).into(),
1009                rdf!(
1010                    id!(unchecked spatial) ;
1011                    property id!(unchecked dc:coverage), id!(unchecked coverage) ;
1012                    call |body: AnnotationOnlyBody|
1013                    body.with_annotations([
1014                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked Location))),
1015                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
1016                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Spatial Coverage"@en)),
1017                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
1018                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Spatial characteristics of the resource."@en)),
1019                    ])).into(),
1020                rdf!(
1021                    id!(unchecked subject) ;
1022                    property id!(unchecked dc:subject) ;
1023                    call |body: AnnotationOnlyBody|
1024                    body.with_annotations([
1025                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
1026                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Subject"@en)),
1027                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
1028                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A topic of the resource."@en)),
1029                    ])).into(),
1030                rdf!(
1031                    id!(unchecked tableOfContents) ;
1032                    property id!(unchecked dc:description), id!(unchecked description) ;
1033                    call |body: AnnotationOnlyBody|
1034                    body.with_annotations([
1035                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
1036                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Table Of Contents"@en)),
1037                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
1038                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A list of subunits of the resource."@en)),
1039                    ])).into(),
1040                rdf!(
1041                    id!(unchecked temporal) ;
1042                    property id!(unchecked dc:coverage), id!(unchecked coverage) ;
1043                    call |body: AnnotationOnlyBody|
1044                    body.with_annotations([
1045                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
1046                        annotation!(id!(unchecked dcam:rangeIncludes), vs!(id!(unchecked PeriodOfTime))),
1047                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Temporal Coverage"@en)),
1048                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
1049                        annotation!(id!(unchecked rdfs:comment), rdf_str!("Temporal characteristics of the resource."@en)),
1050                    ])).into(),
1051                rdf!(
1052                    id!(unchecked title) ;
1053                    property id!(unchecked dc:title) ;
1054                    call |body: AnnotationOnlyBody|
1055                    body.with_annotations([
1056                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
1057                        annotation!(id!(unchecked rdfs:range), vs!(id!(unchecked rdfs:Literal))),
1058                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Title"@en)),
1059                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
1060                        annotation!(id!(unchecked rdfs:comment), rdf_str!("A name given to the resource."@en)),
1061                    ])).into(),
1062                rdf!(
1063                    id!(unchecked type) ;
1064                    property id!(unchecked dc:type) ;
1065                    call |body: AnnotationOnlyBody|
1066                    body.with_annotations([
1067                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
1068                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Type"@en)),
1069                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2008-01-14")),
1070                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The nature or genre of the resource."@en)),
1071                    ])).into(),
1072                rdf!(
1073                    id!(unchecked valid) ;
1074                    property id!(unchecked dc:date), id!(unchecked date) ;
1075                    call |body: AnnotationOnlyBody|
1076                    body.with_annotations([
1077                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked dct)),
1078                        annotation!(id!(unchecked rdfs:range), vs!(id!(unchecked rdfs:Literal))),
1079                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Date Valid"@en)),
1080                        annotation!(id!(unchecked issued), v!(id!(unchecked xsd:date), "2000-07-11")),
1081                        annotation!(id!(unchecked rdfs:comment), rdf_str!("The nature or genre of the resource."@en)),
1082                    ])).into(),
1083            ])
1084    )
1085});