rdf-vocab 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -32,13 +32,13 @@ Agent entities.).freeze,
32
32
  definition: %(Definition: The date range during which the particular rights statement applies or is applied to the content.).freeze,
33
33
  editorialNote: %(Rationale Specific dates may apply to the particular rights statement.).freeze,
34
34
  subClassOf: [term(
35
+ maxCardinality: "1".freeze,
35
36
  onProperty: "premis:hasEndDate".freeze,
36
- type: "owl:Restriction".freeze,
37
- maxCardinality: "1".freeze
37
+ type: "owl:Restriction".freeze
38
38
  ), term(
39
+ maxCardinality: "1".freeze,
39
40
  onProperty: "premis:hasStartDate".freeze,
40
- type: "owl:Restriction".freeze,
41
- maxCardinality: "1".freeze
41
+ type: "owl:Restriction".freeze
42
42
  )],
43
43
  type: "owl:Class".freeze,
44
44
  "vs:term_status": "stable".freeze
@@ -46,9 +46,9 @@ Agent entities.).freeze,
46
46
  definition: %(Definition: Contiguous or non-contiguous data within a file that has meaningful properties for preservation purposes.).freeze,
47
47
  "rdfs:seeAlso": "Object class definition".freeze,
48
48
  subClassOf: ["premis:Object".freeze, term(
49
+ minCardinality: "1".freeze,
49
50
  onProperty: "premis:hasObjectCharacteristics".freeze,
50
- type: "owl:Restriction".freeze,
51
- minCardinality: "1".freeze
51
+ type: "owl:Restriction".freeze
52
52
  )],
53
53
  type: "owl:Class".freeze,
54
54
  "vs:term_status": "stable".freeze
@@ -57,16 +57,16 @@ Agent entities.).freeze,
57
57
  "skos:historyNote": "Creation / Maintenance Notes: A preservation repository should never refer to content that it does not control. Therefore, the PREMIS working group assumed that the repository will always assign the contentLocation, probably by program.".freeze,
58
58
  "skos:scopeNote": "Usage Notes: If the preservation repository uses the objectIdentifier as a handle for retrieving data, contentLocation is implicit and does not need to be recorded.".freeze,
59
59
  subClassOf: term(
60
- type: "owl:Class".freeze,
61
60
  intersectionOf: list(term(
61
+ cardinality: "1".freeze,
62
62
  onProperty: "premis:hasContentLocationType".freeze,
63
- type: "owl:Restriction".freeze,
64
- cardinality: "1".freeze
63
+ type: "owl:Restriction".freeze
65
64
  ), term(
65
+ cardinality: "1".freeze,
66
66
  onProperty: "premis:hasContentLocationValue".freeze,
67
- type: "owl:Restriction".freeze,
68
- cardinality: "1".freeze
69
- ))
67
+ type: "owl:Restriction".freeze
68
+ )),
69
+ type: "owl:Class".freeze
70
70
  ),
71
71
  type: "owl:Class".freeze,
72
72
  "vs:term_status": "stable".freeze
@@ -74,16 +74,16 @@ Agent entities.).freeze,
74
74
  definition: %(Definition: Information about the copyright status of the object\(s\).).freeze,
75
75
  "skos:scopeNote": "Usage Notes: When rights basis is a copyright, copyrightInformation should be provided. Repositories may need to extend this with more detailed information. See the California Digital Library's copyrightMD schema (www.cdlib.org/inside/projects/rights/schema/) for an example of a more detailed scheme.".freeze,
76
76
  subClassOf: ["premis:RightsStatement".freeze, term(
77
- type: "owl:Class".freeze,
78
77
  intersectionOf: list(term(
78
+ cardinality: "1".freeze,
79
79
  onProperty: "premis:hasCopyrightStatus".freeze,
80
- type: "owl:Restriction".freeze,
81
- cardinality: "1".freeze
80
+ type: "owl:Restriction".freeze
82
81
  ), term(
82
+ cardinality: "1".freeze,
83
83
  onProperty: "premis:hasCopyrightJurisdiction".freeze,
84
- type: "owl:Restriction".freeze,
85
- cardinality: "1".freeze
86
- ))
84
+ type: "owl:Restriction".freeze
85
+ )),
86
+ type: "owl:Class".freeze
87
87
  )],
88
88
  type: "owl:Class".freeze,
89
89
  "vs:term_status": "stable".freeze
@@ -93,20 +93,20 @@ Agent entities.).freeze,
93
93
  "skos:historyNote": "Creation / Maintenance Notes: If the object was created by the repository, assignment of creating application information should be straightforward. If the object was created outside the repository, it is possible this information could be supplied by the depositor. It might also be extracted from the file itself; the name of the creating application is often embedded within the file.".freeze,
94
94
  "skos:scopeNote": "Usage Notes: This semantic unit applies to both objects created external to the repository and subsequently ingested, and to objects created by the repository, for example, through migration events. The creatingApplication container is repeatable if more than one application processed the object in turn. For example, a file could be created by Microsoft Word and later turned into a PDF using Adobe Acrobat. Details of both the Word and Acrobat applications may be recorded. However, if both files are stored in the repository, each file should be completely described as an Object entity and linked by using relationship information with a relationshipType “derivation.” It may also be repeated to record the creating application before the object was ingested as well as the creating application used as part of the ingest process. For example, an HTML file was created pre-ingest using Dreamweaver, and the Web crawler Heritrix then captured a snapshot of the files as part of the ingest. The amount of information needed for creatingApplication given here is minimal. For more granularity, extensibility is provided. Rather than having each repository record this locally, it would be preferable to have a registry of this information similar to format or environment registries.".freeze,
95
95
  subClassOf: term(
96
+ type: "owl:Class".freeze,
96
97
  unionOf: list(term(
98
+ cardinality: "1".freeze,
97
99
  onProperty: "premis:hasCreatingApplicationName".freeze,
98
- type: "owl:Restriction".freeze,
99
- cardinality: "1".freeze
100
+ type: "owl:Restriction".freeze
100
101
  ), term(
102
+ maxCardinality: "1".freeze,
101
103
  onProperty: "premis:hasCreatingApplicationVersion".freeze,
102
- type: "owl:Restriction".freeze,
103
- maxCardinality: "1".freeze
104
+ type: "owl:Restriction".freeze
104
105
  ), term(
106
+ maxCardinality: "1".freeze,
105
107
  onProperty: "premis:hasDateCreatedByApplication".freeze,
106
- type: "owl:Restriction".freeze,
107
- maxCardinality: "1".freeze
108
- )),
109
- type: "owl:Class".freeze
108
+ type: "owl:Restriction".freeze
109
+ ))
110
110
  ),
111
111
  type: "owl:Class".freeze,
112
112
  "vs:term_status": "stable".freeze
@@ -115,16 +115,16 @@ Agent entities.).freeze,
115
115
  "skos:historyNote": "Creation / Maintenance Notes: Recommended practice is for a repository to archive objects on which other objects depend. These may be sent by the submitter of the primary object, or they may in some cases be automatically obtained by the repository. For example, a markup file will often contain links to other objects it requires such as DTDs or XML Schema. If it does, these objects can often be identified by the link and downloaded by the repository.".freeze,
116
116
  "skos:scopeNote": "Usage Notes: This semantic unit is for additional objects that are necessary to render a file or representation, not for required software or hardware. It may also be used for a non-executable component of the object, such as a font or style sheet. For things that the software requires, see swDependency. This semantic unit does not include objects required by structural relationships, such as child content objects (e.g., figures that are part of an article), which are recorded under relationship with a relationshipType of “structural”. It is up to the repository to determine what constitutes a dependency in the context of the designated community. The objects noted may be internal or external to the preservation repository.".freeze,
117
117
  subClassOf: term(
118
+ type: "owl:Class".freeze,
118
119
  unionOf: list(term(
120
+ maxCardinality: "1".freeze,
119
121
  onProperty: "premis:hasIdentifier".freeze,
120
- type: "owl:Restriction".freeze,
121
- maxCardinality: "1".freeze
122
+ type: "owl:Restriction".freeze
122
123
  ), term(
124
+ minCardinality: "1".freeze,
123
125
  onProperty: "premis:hasDependencyName".freeze,
124
- type: "owl:Restriction".freeze,
125
- minCardinality: "1".freeze
126
- )),
127
- type: "owl:Class".freeze
126
+ type: "owl:Restriction".freeze
127
+ ))
128
128
  ),
129
129
  type: "owl:Class".freeze,
130
130
  "vs:term_status": "stable".freeze
@@ -134,9 +134,9 @@ Agent entities.).freeze,
134
134
  "skos:historyNote": "Creation / Maintenance Notes: This information may be omitted when the repository is doing only bit-level preservation on the object. Rather than having each repository record this locally, it would be preferable to have a registry of environment information similar to proposed registries of format information. Repositories may choose to design mechanisms for inheritance, so that if the environment required for each file within a representation is identical to the environment recorded for the representation as a whole, it is not necessary to store this information in each file.".freeze,
135
135
  "skos:scopeNote": "Usage Notes: All of this semantic units’ subunits are optional. At least one subunit (i.e. environmentNote, dependency, software, hardware, and/or environmentExtension) must be present if this container is included.".freeze,
136
136
  subClassOf: term(
137
+ maxCardinality: "1".freeze,
137
138
  onProperty: "premis:hasEnvironmentCharacteristic".freeze,
138
- type: "owl:Restriction".freeze,
139
- maxCardinality: "1".freeze
139
+ type: "owl:Restriction".freeze
140
140
  ),
141
141
  type: "owl:Class".freeze,
142
142
  "vs:term_status": "stable".freeze
@@ -147,20 +147,20 @@ an Event entity.
147
147
  Mandatory semantic units are: eventIdentifier, eventType, and eventDateTime.).freeze,
148
148
  editorialNote: %(Entity properties: Must be related to one or more objects. Can be related to one or more agents. Links between entities may be recorded from either direction and need not be bi-directional.).freeze,
149
149
  subClassOf: ["premis:PremisEntity".freeze, term(
150
- type: "owl:Class".freeze,
151
150
  intersectionOf: list(term(
151
+ cardinality: "1".freeze,
152
152
  onProperty: "premis:hasEventType".freeze,
153
- type: "owl:Restriction".freeze,
154
- cardinality: "1".freeze
153
+ type: "owl:Restriction".freeze
155
154
  ), term(
155
+ maxCardinality: "1".freeze,
156
156
  onProperty: "premis:hasIdentifier".freeze,
157
- type: "owl:Restriction".freeze,
158
- maxCardinality: "1".freeze
157
+ type: "owl:Restriction".freeze
159
158
  ), term(
159
+ cardinality: "1".freeze,
160
160
  onProperty: "premis:hasEventDateTime".freeze,
161
- type: "owl:Restriction".freeze,
162
- cardinality: "1".freeze
163
- ))
161
+ type: "owl:Restriction".freeze
162
+ )),
163
+ type: "owl:Class".freeze
164
164
  )],
165
165
  type: "owl:Class".freeze,
166
166
  "vs:term_status": "stable".freeze
@@ -169,9 +169,9 @@ Mandatory semantic units are: eventIdentifier, eventType, and eventDateTime.).fr
169
169
  editorialNote: %(Rationale: An event outcome may be sufficiently complex that a coded description is not adequate to document it.).freeze,
170
170
  "skos:scopeNote": "Usage Notes: This may be used to record all error and warning messages issued by a program involved in the event or to record a pointer to an error log. If the event was a validity check (e.g., profile conformance) any anomalies or quirks discovered would be recorded here. All subunits of this semantic unit are optional. At least one subunit (i.e. eventOutcomeDetailNote and/or eventOutcomeDetailExtension) must be present if this container is included.".freeze,
171
171
  subClassOf: term(
172
+ maxCardinality: "1".freeze,
172
173
  onProperty: "premis:hasEventOutcomeDetailNote".freeze,
173
- type: "owl:Restriction".freeze,
174
- maxCardinality: "1".freeze
174
+ type: "owl:Restriction".freeze
175
175
  ),
176
176
  type: "owl:Class".freeze,
177
177
  "vs:term_status": "stable".freeze
@@ -179,9 +179,9 @@ Mandatory semantic units are: eventIdentifier, eventType, and eventDateTime.).fr
179
179
  definition: %(Definition: Information about the outcome of an event.).freeze,
180
180
  "skos:scopeNote": "Usage Notes: A repository may wish to supplement a coded eventOutcome value with additional information in eventOutcomeDetail. Since events may have more than one outcome, the container is repeatable. All subunits of this semantic unit are optional. At least one subunit (i.e. eventOutcome or eventOutcomeDetail) must be present if this container is included.".freeze,
181
181
  subClassOf: term(
182
+ maxCardinality: "1".freeze,
182
183
  onProperty: "premis:hasEventOutcome".freeze,
183
- type: "owl:Restriction".freeze,
184
- maxCardinality: "1".freeze
184
+ type: "owl:Restriction".freeze
185
185
  ),
186
186
  type: "owl:Class".freeze,
187
187
  "vs:term_status": "stable".freeze
@@ -189,9 +189,9 @@ Mandatory semantic units are: eventIdentifier, eventType, and eventDateTime.).fr
189
189
  definition: %(Definition: A named and ordered sequence of bytes that is known to an operating system.).freeze,
190
190
  "rdfs:seeAlso": "Object class definition".freeze,
191
191
  subClassOf: ["premis:Object".freeze, term(
192
+ minCardinality: "1".freeze,
192
193
  onProperty: "premis:hasObjectCharacteristics".freeze,
193
- type: "owl:Restriction".freeze,
194
- minCardinality: "1".freeze
194
+ type: "owl:Restriction".freeze
195
195
  )],
196
196
  type: "owl:Class".freeze,
197
197
  "vs:term_status": "stable".freeze
@@ -200,16 +200,16 @@ Mandatory semantic units are: eventIdentifier, eventType, and eventDateTime.).fr
200
200
  "skos:historyNote": "Creation / Maintenance Notes: Automatically calculated and recorded by repository.".freeze,
201
201
  "skos:scopeNote": "Usage Notes: To perform a fixity check, a message digest calculated at some earlier time is compared with a message digest calculated at a later time. If the digests are the same, the object was not altered in the interim. Recommended practice is to use two or more message digests calculated by different algorithms. (Note that the terms “message digest” and “checksum” are commonly used interchangeably. However, the term “checksum” is more correctly used for the product of a cyclical redundancy check (CRC), whereas the term “message digest” refers to the result of a cryptographic hash function, which is what is referred to here.) The act of performing a fixity check and the date it occurred would be recorded as an Event. The result of the check would be recorded as the eventOutcome. Therefore, only the messageDigestAlgorithm and messageDigest need to be recorded as objectCharacteristics for future comparison. Representation level: It could be argued that if a representation consists of a single file or if all the files comprised by a representation are combined (e.g., zipped) into a single file, then a fixity check could be performed on the representation. However, in both cases the fixity check is actually being performed on a file, which in this case happens to be coincidental with a representation. Bitstream level: Message digests can be computed for bitstreams although they are not as common as with files. For example, the JPX format, which is a JPEG2000 format, supports the inclusion of MD5 or SHA-1 message digests in internal metadata that was calculated on any range of bytes of the file.".freeze,
202
202
  subClassOf: term(
203
- type: "owl:Class".freeze,
204
203
  intersectionOf: list(term(
204
+ cardinality: "1".freeze,
205
205
  onProperty: "premis:hasMessageDigestAlgorithm".freeze,
206
- type: "owl:Restriction".freeze,
207
- cardinality: "1".freeze
206
+ type: "owl:Restriction".freeze
208
207
  ), term(
208
+ cardinality: "1".freeze,
209
209
  onProperty: "premis:hasMessageDigest".freeze,
210
- type: "owl:Restriction".freeze,
211
- cardinality: "1".freeze
212
- ))
210
+ type: "owl:Restriction".freeze
211
+ )),
212
+ type: "owl:Class".freeze
213
213
  ),
214
214
  type: "owl:Class".freeze,
215
215
  "vs:term_status": "stable".freeze
@@ -219,16 +219,16 @@ Mandatory semantic units are: eventIdentifier, eventType, and eventDateTime.).fr
219
219
  "skos:historyNote": "Creation / Maintenance Notes: The format of a file or bitstream should be ascertained by the repository on ingest. Even if this information is provided by the submitter, directly in metadata or indirectly via the file name extension, recommended practice is to independently identify the format by parsing the file when possible. If the format cannot be identified at the time of ingest, it is valid to record that it is unknown, but the repository should subsequently make an effort to identify the format, even if manual intervention is required.".freeze,
220
220
  "skos:scopeNote": "Usage Notes: A bitstream embedded within a file may have different characteristics than the larger file. For example, a bitstream in LaTex format could be embedded within an SGML file, or multiple images using different colorspaces could be embedded within a TIFF file. format must be recorded for every object. When the bitstream format can be recognized by the repository and the repository might want to treat the bitstream differently from the embedding file for preservation purposes, format can be recorded for embedded bitstreams. Although this semantic unit is mandatory, both of its subunits are optional. At least one subunit (i.e. either formatDesignation or formatRegistry) must be present if this container is included or both may be used. If the subunit (formatDesignation or formatRegistry) needs to be repeated, the entire format container is repeated. This allows for association of format designation with a particular set of format registry information. For example, if the precise format cannot be determined and two format designations are recorded, each is given within a separate format container. The format container may also be repeated for multiple format registry entries.".freeze,
221
221
  subClassOf: term(
222
+ type: "owl:Class".freeze,
222
223
  unionOf: list(term(
224
+ maxCardinality: "1".freeze,
223
225
  onProperty: "premis:hasFormatDesignation".freeze,
224
- type: "owl:Restriction".freeze,
225
- maxCardinality: "1".freeze
226
+ type: "owl:Restriction".freeze
226
227
  ), term(
228
+ maxCardinality: "1".freeze,
227
229
  onProperty: "premis:hasFormatRegistry".freeze,
228
- type: "owl:Restriction".freeze,
229
- maxCardinality: "1".freeze
230
- )),
231
- type: "owl:Class".freeze
230
+ type: "owl:Restriction".freeze
231
+ ))
232
232
  ),
233
233
  type: "owl:Class".freeze,
234
234
  "vs:term_status": "stable".freeze
@@ -236,9 +236,9 @@ Mandatory semantic units are: eventIdentifier, eventType, and eventDateTime.).fr
236
236
  definition: %(Definition: An identification of the format of the object.).freeze,
237
237
  "skos:scopeNote": "Usage Notes: Either formatDesignation or at least one instance of formatRegistry is required. Both may be included. The most specific format (or format profile) should be recorded. A repository (or formats registry) may wish to use multipart format names (e.g., “TIFF_GeoTIFF” or “WAVE_MPEG_BWF”) to achieve this specificity.".freeze,
238
238
  subClassOf: term(
239
+ cardinality: "1".freeze,
239
240
  onProperty: "premis:hasFormatName".freeze,
240
- type: "owl:Restriction".freeze,
241
- cardinality: "1".freeze
241
+ type: "owl:Restriction".freeze
242
242
  ),
243
243
  type: "owl:Class".freeze,
244
244
  "vs:term_status": "stable".freeze
@@ -247,13 +247,13 @@ Mandatory semantic units are: eventIdentifier, eventType, and eventDateTime.).fr
247
247
  editorialNote: %(Rationale: If central format registries are available to the preservation repository, they may provide an excellent way of referencing detailed format information.).freeze,
248
248
  "skos:scopeNote": "Usage Notes: Either formatDesignation or at least one instance of formatRegistry is required. If more than one formatRegistry needs to be recorded the format container should be repeated to include each additional set of formatRegistry information. The PREMIS working group assumed that a number of format registries will be developed and maintained to support digital preservation efforts. The proposal for a Global Digital Format Registry (GDFR) (http://hul.harvard.edu/gdfr/documents.html#data), for example, would create a network-accessible registry designed to store detailed specifications on formats and profiles.".freeze,
249
249
  subClassOf: [term(
250
+ cardinality: "1".freeze,
250
251
  onProperty: "premis:hasFormatRegistryKey".freeze,
251
- type: "owl:Restriction".freeze,
252
- cardinality: "1".freeze
252
+ type: "owl:Restriction".freeze
253
253
  ), term(
254
+ cardinality: "1".freeze,
254
255
  onProperty: "premis:hasFormatRegistryName".freeze,
255
- type: "owl:Restriction".freeze,
256
- cardinality: "1".freeze
256
+ type: "owl:Restriction".freeze
257
257
  )],
258
258
  type: "owl:Class".freeze,
259
259
  "vs:term_status": "stable".freeze
@@ -261,29 +261,29 @@ Mandatory semantic units are: eventIdentifier, eventType, and eventDateTime.).fr
261
261
  definition: %(Definition: Hardware components needed by the software referenced in swName or the human user of the referenced software.).freeze,
262
262
  "skos:historyNote": "Creation / Maintenance Notes: Hardware environment information can be very difficult to provide. Many different hardware environments may apply; there are a huge number of combinations of maker and type of CPU, memory, video drivers, and so on. Although at least one hardware environment should be recorded, it is not necessary to record them all and each repository will have to make its own decisions about which hardware environments to record. Because of the difficulty recording this information comprehensively, it would be optimal if central registries of environment information existed. In many cases the environment of a file object is directly associated with the format, making registry lookup by format feasible. In the absence of a global mechanism, repositories may be forced to develop their own local “registries” relating format to hwEnvironment.".freeze,
263
263
  subClassOf: term(
264
- type: "owl:Class".freeze,
265
264
  intersectionOf: list(term(
265
+ cardinality: "1".freeze,
266
266
  onProperty: "premis:hasHardwareType".freeze,
267
- type: "owl:Restriction".freeze,
268
- cardinality: "1".freeze
267
+ type: "owl:Restriction".freeze
269
268
  ), term(
269
+ cardinality: "1".freeze,
270
270
  onProperty: "premis:hasHardwareName".freeze,
271
- type: "owl:Restriction".freeze,
272
- cardinality: "1".freeze
273
- ))
271
+ type: "owl:Restriction".freeze
272
+ )),
273
+ type: "owl:Class".freeze
274
274
  ),
275
275
  type: "owl:Class".freeze,
276
276
  "vs:term_status": "stable".freeze
277
277
  term :Identifier,
278
278
  comment: %(This class is used in PREMIS OWL to describe identifiers if the identifiers are not http URIs.).freeze,
279
279
  subClassOf: [term(
280
+ cardinality: "1".freeze,
280
281
  onProperty: "premis:hasIdentifierType".freeze,
281
- type: "owl:Restriction".freeze,
282
- cardinality: "1".freeze
282
+ type: "owl:Restriction".freeze
283
283
  ), term(
284
+ cardinality: "1".freeze,
284
285
  onProperty: "premis:hasIdentifierValue".freeze,
285
- type: "owl:Restriction".freeze,
286
- cardinality: "1".freeze
286
+ type: "owl:Restriction".freeze
287
287
  )],
288
288
  type: "owl:Class".freeze,
289
289
  "vs:term_status": "stable".freeze
@@ -293,9 +293,9 @@ Mandatory semantic units are: eventIdentifier, eventType, and eventDateTime.).fr
293
293
  "skos:historyNote": "Creation / Maintenance Notes: Inhibitors are more likely to be present on an object ingested by the repository than applied by the repository itself. It is often not possible to tell that a file has been encrypted by parsing it; the file may appear to be ASCII text. Therefore, information about inhibitors should be supplied as metadata with submitted objects when possible.".freeze,
294
294
  "skos:scopeNote": "Usage Notes: Some file formats allow encryption for embedded bitstreams. Some file formats such as PDF use passwords to control access to content or specific functions. Although this is actually implemented at the bitstream level, for preservation purposes it is effectively managed at the file level; that is, passwords would not be recorded for individually addressable bitstreams. For certain types of inhibitor keys, more granularity may be required. If the inhibitor key information is identical to key information in digital signatures, use those semantic units.".freeze,
295
295
  subClassOf: term(
296
+ cardinality: "1".freeze,
296
297
  onProperty: "premis:hasInhibitorType".freeze,
297
- type: "owl:Restriction".freeze,
298
- cardinality: "1".freeze
298
+ type: "owl:Restriction".freeze
299
299
  ),
300
300
  type: "owl:Class".freeze,
301
301
  "vs:term_status": "stable".freeze
@@ -309,9 +309,9 @@ Mandatory semantic units are: eventIdentifier, eventType, and eventDateTime.).fr
309
309
  definition: %(Definition: Information about a license or other agreement granting permissions related to an object.).freeze,
310
310
  "skos:scopeNote": "Usage Note: When rights basis is a license, licenseInformation should be provided.".freeze,
311
311
  subClassOf: ["premis:RightsStatement".freeze, term(
312
+ maxCardinality: "1".freeze,
312
313
  onProperty: "premis:hasLicenseTerms".freeze,
313
- type: "owl:Restriction".freeze,
314
- maxCardinality: "1".freeze
314
+ type: "owl:Restriction".freeze
315
315
  )],
316
316
  type: "owl:Class".freeze,
317
317
  "vs:term_status": "stable".freeze
@@ -327,13 +327,13 @@ The object class has three subclasses: Representation, File, and Bitstream.).fre
327
327
  editorialNote: %(Rationale: There are some important technical properties that apply to objects of any format. Detailed definition of format-specific properties is outside the scope of this Data Dictionary, although such properties may be included within objectCharacteristicsExtension.).freeze,
328
328
  "skos:scopeNote": "Usage Notes: The semantic units included in objectCharacteristics should be treated as a set of information that pertains to a single object at a single compositionLevel. Object characteristics may be repeated when an object was created by applying two or more encodings, such as compression and encryption. In this case each repetition of objectCharacteristics would have an incrementally higher compositionLevel. When encryption is applied, the objectCharacteristics block must include an inhibitors semantic unit. A bitstream embedded within a file may have different object characteristics than the file. Where these characteristics are relevant for preservation, they should be recorded. When a single file is equivalent to a representation, objectCharacteristics may be applied and thus associated with the representation. In these cases, the relationship between the file comprising the representation and other associated files may be expressed using relationshipSubType.".freeze,
329
329
  subClassOf: [term(
330
+ cardinality: "1".freeze,
330
331
  onProperty: "premis:hasCompositionLevel".freeze,
331
- type: "owl:Restriction".freeze,
332
- cardinality: "1".freeze
332
+ type: "owl:Restriction".freeze
333
333
  ), term(
334
+ minCardinality: "1".freeze,
334
335
  onProperty: "premis:hasFormat".freeze,
335
- type: "owl:Restriction".freeze,
336
- minCardinality: "1".freeze
336
+ type: "owl:Restriction".freeze
337
337
  )],
338
338
  type: "owl:Class".freeze,
339
339
  "vs:term_status": "stable".freeze
@@ -349,13 +349,13 @@ The object class has three subclasses: Representation, File, and Bitstream.).fre
349
349
  "skos:historyNote": "Creation / Maintenance Notes: The preservation level may be assigned by the repository or requested by the depositor and submitted as metadata. The repository may also choose to record additional metadata indicating the context for the assignment of the preservation level.".freeze,
350
350
  "skos:scopeNote": "Usage Notes: If the repository offers only a single preservation level, this value does not need to be explicitly recorded within the repository. Application of a particular set of preservationLevel semantic units may only cover a single representation of an object: representations in other technical forms or serving other functions may have a different preservationLevel applied. The container may be repeated if a preservation level value needs to be recorded in additional contexts (see preservationLevelRole).".freeze,
351
351
  subClassOf: [term(
352
- onProperty: "premis:hasPreservationLevelRole".freeze,
353
- type: "owl:Restriction".freeze,
354
- maxCardinality: "1".freeze
355
- ), term(
352
+ cardinality: "1".freeze,
356
353
  onProperty: "premis:hasPreservationLevelValue".freeze,
357
- type: "owl:Restriction".freeze,
358
- cardinality: "1".freeze
354
+ type: "owl:Restriction".freeze
355
+ ), term(
356
+ maxCardinality: "1".freeze,
357
+ onProperty: "premis:hasPreservationLevelRole".freeze,
358
+ type: "owl:Restriction".freeze
359
359
  )],
360
360
  type: "owl:Class".freeze,
361
361
  "vs:term_status": "stable".freeze
@@ -363,16 +363,16 @@ The object class has three subclasses: Representation, File, and Bitstream.).fre
363
363
  definition: %(Definition: The identifier and sequential context of the related resource).freeze,
364
364
  "skos:scopeNote": "Usage Notes: The related object may or may not be held within the preservation repository. Recommended practice is that objects reside within the repository unless there is a good reason to reference an object outside. Internal and external references should be clear.".freeze,
365
365
  subClassOf: term(
366
- type: "owl:Class".freeze,
367
366
  intersectionOf: list(term(
367
+ cardinality: "1".freeze,
368
368
  onProperty: "premis:hasRelatedObject".freeze,
369
- type: "owl:Restriction".freeze,
370
- cardinality: "1".freeze
369
+ type: "owl:Restriction".freeze
371
370
  ), term(
371
+ cardinality: "1".freeze,
372
372
  onProperty: "premis:hasRelatedObjectSequence".freeze,
373
- type: "owl:Restriction".freeze,
374
- cardinality: "1".freeze
375
- ))
373
+ type: "owl:Restriction".freeze
374
+ )),
375
+ type: "owl:Class".freeze
376
376
  ),
377
377
  type: "owl:Class".freeze,
378
378
  "vs:term_status": "stable".freeze
@@ -385,29 +385,29 @@ The object class has three subclasses: Representation, File, and Bitstream.).fre
385
385
  term :RightsDocumentation,
386
386
  definition: %(Definition: A designation used to uniquely identify documentation supporting the specified rights within the repository system.).freeze,
387
387
  subClassOf: term(
388
+ maxCardinality: "1".freeze,
388
389
  onProperty: "premis:hasRightsDocumentationRole".freeze,
389
- type: "owl:Restriction".freeze,
390
- maxCardinality: "1".freeze
390
+ type: "owl:Restriction".freeze
391
391
  ),
392
392
  type: "owl:Class".freeze,
393
393
  "vs:term_status": "stable".freeze
394
394
  term :RightsGranted,
395
395
  definition: %(Definition: The action\(s\) that the granting agency has allowed the repository.).freeze,
396
396
  subClassOf: [term(
397
- onProperty: "premis:hasTermOfRestriction".freeze,
398
- type: "owl:Restriction".freeze,
399
- maxCardinality: "1".freeze
400
- ), term(
401
- type: "owl:Class".freeze,
402
397
  intersectionOf: list(term(
398
+ cardinality: "1".freeze,
403
399
  onProperty: "premis:hasAct".freeze,
404
- type: "owl:Restriction".freeze,
405
- cardinality: "1".freeze
400
+ type: "owl:Restriction".freeze
406
401
  ), term(
402
+ maxCardinality: "1".freeze,
407
403
  onProperty: "premis:hasTermOfGrant".freeze,
408
- type: "owl:Restriction".freeze,
409
- maxCardinality: "1".freeze
410
- ))
404
+ type: "owl:Restriction".freeze
405
+ )),
406
+ type: "owl:Class".freeze
407
+ ), term(
408
+ maxCardinality: "1".freeze,
409
+ onProperty: "premis:hasTermOfRestriction".freeze,
410
+ type: "owl:Restriction".freeze
411
411
  )],
412
412
  type: "owl:Class".freeze,
413
413
  "vs:term_status": "stable".freeze
@@ -416,13 +416,13 @@ The object class has three subclasses: Representation, File, and Bitstream.).fre
416
416
  definition: %(Definition: Documentation of the repository's right to perform one or more acts.).freeze,
417
417
  "skos:scopeNote": "Usage Notes: This semantic unit is optional because in some cases rights may be unknown. Institutions are encouraged to record rights information when possible. Either rightsStatement or rightsExtension must be present if the Rights entity is included. The rightsStatement should be repeated when the act(s) described has more than one basis, or when different acts have different bases.".freeze,
418
418
  subClassOf: ["dc:RightsStatement".freeze, "premis:PremisEntity".freeze, term(
419
+ maxCardinality: "1".freeze,
419
420
  onProperty: "premis:hasApplicableDates".freeze,
420
- type: "owl:Restriction".freeze,
421
- maxCardinality: "1".freeze
421
+ type: "owl:Restriction".freeze
422
422
  ), term(
423
+ maxCardinality: "1".freeze,
423
424
  onProperty: "premis:hasIdentifier".freeze,
424
- type: "owl:Restriction".freeze,
425
- maxCardinality: "1".freeze
425
+ type: "owl:Restriction".freeze
426
426
  )],
427
427
  type: "owl:Class".freeze,
428
428
  "vs:term_status": "stable".freeze
@@ -431,24 +431,24 @@ The object class has three subclasses: Representation, File, and Bitstream.).fre
431
431
  editorialNote: %(Rationale: A repository may have a policy of generating digital signatures for files on ingest, or may have a need to store and later validate incoming digital signatures.).freeze,
432
432
  "skos:scopeNote": "Usage Notes: Several of the semantic components of signatureInformation are taken from the W3C’s XML-Signature Syntax and Processing; see www.w3.org/TR/2002/REC-xmldsig-core-20020212/ for more information on the structure and application of these semantic units.".freeze,
433
433
  subClassOf: term(
434
- type: "owl:Class".freeze,
435
434
  intersectionOf: list(term(
435
+ cardinality: "1".freeze,
436
436
  onProperty: "premis:hasSignatureEncoding".freeze,
437
- type: "owl:Restriction".freeze,
438
- cardinality: "1".freeze
437
+ type: "owl:Restriction".freeze
439
438
  ), term(
439
+ cardinality: "1".freeze,
440
440
  onProperty: "premis:hasSignatureMethod".freeze,
441
- type: "owl:Restriction".freeze,
442
- cardinality: "1".freeze
441
+ type: "owl:Restriction".freeze
443
442
  ), term(
443
+ cardinality: "1".freeze,
444
444
  onProperty: "premis:hasSignatureValidationRules".freeze,
445
- type: "owl:Restriction".freeze,
446
- cardinality: "1".freeze
445
+ type: "owl:Restriction".freeze
447
446
  ), term(
447
+ cardinality: "1".freeze,
448
448
  onProperty: "premis:hasSignatureValue".freeze,
449
- type: "owl:Restriction".freeze,
450
- cardinality: "1".freeze
451
- ))
449
+ type: "owl:Restriction".freeze
450
+ )),
451
+ type: "owl:Class".freeze
452
452
  ),
453
453
  type: "owl:Class".freeze,
454
454
  "vs:term_status": "stable".freeze
@@ -463,16 +463,16 @@ The object class has three subclasses: Representation, File, and Bitstream.).fre
463
463
  definition: %(Definition: Software required to render or use the object.).freeze,
464
464
  "skos:historyNote": "Creation / Maintenance Notes: If recording this explicitly, many different software environments may apply; for example, a particular object such as a PDF file may be viewable by several versions of several applications running under several operating systems and operating system versions. Although at least one software environment should be recorded, it is not necessary to record them all and each repository will have to make its own decisions about which software environments to record. Also, what appears to the user as a single rendering program can have many dependencies, including system utilities, runtime libraries, and so on, which each might have their own dependencies in turn. As with environment, metadata may be more efficiently managed in conjunction with a format registry either internal or external to a repository. In the absence of a global mechanism, repositories may be forced to develop their own local “registries” relating format to software environment.".freeze,
465
465
  subClassOf: term(
466
- type: "owl:Class".freeze,
467
466
  intersectionOf: list(term(
467
+ cardinality: "1".freeze,
468
468
  onProperty: "premis:hasSoftwareType".freeze,
469
- type: "owl:Restriction".freeze,
470
- cardinality: "1".freeze
469
+ type: "owl:Restriction".freeze
471
470
  ), term(
471
+ cardinality: "1".freeze,
472
472
  onProperty: "premis:hasSoftwareName".freeze,
473
- type: "owl:Restriction".freeze,
474
- cardinality: "1".freeze
475
- ))
473
+ type: "owl:Restriction".freeze
474
+ )),
475
+ type: "owl:Class".freeze
476
476
  ),
477
477
  type: "owl:Class".freeze,
478
478
  "vs:term_status": "stable".freeze
@@ -480,16 +480,16 @@ The object class has three subclasses: Representation, File, and Bitstream.).fre
480
480
  definition: %(Definition: Information about the statute allowing use of the object.).freeze,
481
481
  "skos:scopeNote": "Usage Notes: When rights basis is a statute, statuteInformation should be provided.".freeze,
482
482
  subClassOf: ["premis:RightsStatement".freeze, term(
483
- type: "owl:Class".freeze,
484
483
  intersectionOf: list(term(
484
+ cardinality: "1".freeze,
485
485
  onProperty: "premis:hasStatuteCitation".freeze,
486
- type: "owl:Restriction".freeze,
487
- cardinality: "1".freeze
486
+ type: "owl:Restriction".freeze
488
487
  ), term(
488
+ cardinality: "1".freeze,
489
489
  onProperty: "premis:hasStatuteJurisdiction".freeze,
490
- type: "owl:Restriction".freeze,
491
- cardinality: "1".freeze
492
- ))
490
+ type: "owl:Restriction".freeze
491
+ )),
492
+ type: "owl:Class".freeze
493
493
  )],
494
494
  type: "owl:Class".freeze,
495
495
  "vs:term_status": "stable".freeze
@@ -498,16 +498,16 @@ The object class has three subclasses: Representation, File, and Bitstream.).fre
498
498
  editorialNote: %(Rationale: It is necessary for a repository to associate the contentLocation with the storageMedium.).freeze,
499
499
  "skos:scopeNote": "Usage Notes: Normally there would be a single storage location and medium for an object, because an object in another location would be considered a different object. The storage composite should be repeated if there are two or more copies that are identical bit-wise and managed as a unit except for the medium on which they are stored. They must have a single objectIdentifier and be managed as a single object by the repository. Although this semantic unit is mandatory, both of its subunits are optional. At least one subunit (i.e. either contentLocation or storageMedium) must be present or both may be used.".freeze,
500
500
  subClassOf: term(
501
+ type: "owl:Class".freeze,
501
502
  unionOf: list(term(
503
+ maxCardinality: "1".freeze,
502
504
  onProperty: "premis:hasContentLocation".freeze,
503
- type: "owl:Restriction".freeze,
504
- maxCardinality: "1".freeze
505
+ type: "owl:Restriction".freeze
505
506
  ), term(
507
+ maxCardinality: "1".freeze,
506
508
  onProperty: "premis:hasStorageMedium".freeze,
507
- type: "owl:Restriction".freeze,
508
- maxCardinality: "1".freeze
509
- )),
510
- type: "owl:Class".freeze
509
+ type: "owl:Restriction".freeze
510
+ ))
511
511
  ),
512
512
  type: "owl:Class".freeze,
513
513
  "vs:term_status": "stable".freeze
@@ -515,9 +515,9 @@ The object class has three subclasses: Representation, File, and Bitstream.).fre
515
515
  definition: %(Definition: The time period for the permissions granted.).freeze,
516
516
  editorialNote: %(Rationale: The permission to preserve may be time bounded.).freeze,
517
517
  subClassOf: ["premis:ApplicableDates".freeze, term(
518
+ cardinality: "1".freeze,
518
519
  onProperty: "premis:hasStartDate".freeze,
519
- type: "owl:Restriction".freeze,
520
- cardinality: "1".freeze
520
+ type: "owl:Restriction".freeze
521
521
  )],
522
522
  type: "owl:Class".freeze,
523
523
  "vs:term_status": "stable".freeze
@@ -525,9 +525,9 @@ The object class has three subclasses: Representation, File, and Bitstream.).fre
525
525
  definition: %(Definition: The time period for the restriction granted.).freeze,
526
526
  editorialNote: %(Rationale: The current definition of termOfGrant is "time period for the permissions granted." This allows for expressing information about the rights granted, but some repositories may need to express timebounded restrictions like embargoes. If this is applicable startDate for the beginning of the embargo and endDate for the end of the embargo should be recorded.).freeze,
527
527
  subClassOf: ["premis:ApplicableDates".freeze, term(
528
+ cardinality: "1".freeze,
528
529
  onProperty: "premis:hasStartDate".freeze,
529
- type: "owl:Restriction".freeze,
530
- cardinality: "1".freeze
530
+ type: "owl:Restriction".freeze
531
531
  )],
532
532
  type: "owl:Class".freeze,
533
533
  "vs:term_status": "stable".freeze
@@ -547,8 +547,8 @@ The object class has three subclasses: Representation, File, and Bitstream.).fre
547
547
  property :hasAgent,
548
548
  definition: %(Definition: link to the associated Agent.).freeze,
549
549
  domain: term(
550
- unionOf: list("premis:Event".freeze, "premis:RightsStatement".freeze),
551
- type: "owl:Class".freeze
550
+ type: "owl:Class".freeze,
551
+ unionOf: list("premis:Event".freeze, "premis:RightsStatement".freeze)
552
552
  ),
553
553
  editorialNote: %(Rationale: Digital provenance requires often that relationships between agents and events are documented. The role of the associated agent may need to be documented. For this, a SKOS vocabulary can be used. The LOC will publish a vocabulary at http://id.loc.gov/, denoting the agent's role. These vocabulary will publish the concepts also as subproperties to the linkingAgent property, for denoting the role of the agent in the event or rightsstatement.).freeze,
554
554
  range: "premis:Agent".freeze,
@@ -744,8 +744,8 @@ and used with a standalone PDF reader.).freeze,
744
744
  property :hasEvent,
745
745
  definition: %(Definition: The event associated with the object or an agent.).freeze,
746
746
  domain: term(
747
- unionOf: list("premis:Agent".freeze, "premis:Object".freeze),
748
- type: "owl:Class".freeze
747
+ type: "owl:Class".freeze,
748
+ unionOf: list("premis:Agent".freeze, "premis:Object".freeze)
749
749
  ),
750
750
  range: "premis:Event".freeze,
751
751
  "rdfs:seeAlso": "Object class definition, the Agent class Definition and Event class definition".freeze,
@@ -837,8 +837,8 @@ Program=“MIGJP2JP2K”; version=“2.2”).freeze,
837
837
  property :hasFormat,
838
838
  domain: "premis:ObjectCharacteristics".freeze,
839
839
  range: term(
840
- unionOf: list("premis:Format".freeze, "http://reference.data.gov.uk/technical-registry/file-format".freeze, "http://www.udfr.org/onto#AbstractFormat".freeze),
841
- type: "owl:Class".freeze
840
+ type: "owl:Class".freeze,
841
+ unionOf: list("premis:Format".freeze, "http://reference.data.gov.uk/technical-registry/file-format".freeze, "http://www.udfr.org/onto#AbstractFormat".freeze)
842
842
  ),
843
843
  "rdfs:seeAlso": "ObjectCharacteristics class definition and Format class definition. Next to the premis:Format class this property can also link to a pronom:file-format or udfr:AbstractFormat .".freeze,
844
844
  type: "owl:ObjectProperty".freeze,
@@ -943,8 +943,8 @@ Program=“MIGJP2JP2K”; version=“2.2”).freeze,
943
943
  "vs:term_status": "stable".freeze
944
944
  property :hasIdentifier,
945
945
  domain: term(
946
- unionOf: list("premis:Agent".freeze, "premis:Dependency".freeze, "premis:Event".freeze, "premis:LicenseInformation".freeze, "premis:Object".freeze, "premis:RightsDocumentation".freeze, "premis:RightsStatement".freeze),
947
- type: "owl:Class".freeze
946
+ type: "owl:Class".freeze,
947
+ unionOf: list("premis:Agent".freeze, "premis:Dependency".freeze, "premis:Event".freeze, "premis:LicenseInformation".freeze, "premis:Object".freeze, "premis:RightsDocumentation".freeze, "premis:RightsStatement".freeze)
948
948
  ),
949
949
  "rdfs:seeAlso": "Identifier class definition".freeze,
950
950
  type: ["owl:InverseFunctionalProperty".freeze, "owl:ObjectProperty".freeze],
@@ -1052,8 +1052,8 @@ Program=“MIGJP2JP2K”; version=“2.2”).freeze,
1052
1052
  comment: %(Extensions: One can extend this property to use more fine grained properties by defining the fine grained properties as subproperties of this property.).freeze,
1053
1053
  definition: %(Definition: Information about an object associated with an event or rightsstatement.).freeze,
1054
1054
  domain: term(
1055
- unionOf: list("premis:Event".freeze, "premis:RightsStatement".freeze),
1056
- type: "owl:Class".freeze
1055
+ type: "owl:Class".freeze,
1056
+ unionOf: list("premis:Event".freeze, "premis:RightsStatement".freeze)
1057
1057
  ),
1058
1058
  editorialNote: %(Rationale: Digital provenance often requires that relationships between objects and events are documented. / Rights statements must be associated with the objects to which they pertain, either by linking from the rights statement to the object\(s\) or by linking from the object\(s\) to the rights statement. This provides the mechanism for the link from the rights statement to an object. For denoting the role of the object, when related to an event,one can extend this ontology be defining your own subproperties, such as those given by http://id.loc.gov/vocabulary/preservation/eventRelatedObjectRole.).freeze,
1059
1059
  range: "premis:Object".freeze,
@@ -1062,8 +1062,8 @@ Program=“MIGJP2JP2K”; version=“2.2”).freeze,
1062
1062
  "vs:term_status": "stable".freeze
1063
1063
  property :hasObjectCharacteristics,
1064
1064
  domain: term(
1065
- unionOf: list("premis:Bitstream".freeze, "premis:File".freeze),
1066
- type: "owl:Class".freeze
1065
+ type: "owl:Class".freeze,
1066
+ unionOf: list("premis:Bitstream".freeze, "premis:File".freeze)
1067
1067
  ),
1068
1068
  range: "premis:ObjectCharacteristics".freeze,
1069
1069
  "rdfs:seeAlso": "Object class definition and ObjectCharacteristics class definition".freeze,
@@ -1073,8 +1073,8 @@ Program=“MIGJP2JP2K”; version=“2.2”).freeze,
1073
1073
  comment: %(Example: N419.pdf).freeze,
1074
1074
  definition: %(Definition: The name of the object as submitted to or harvested by the repository, before any renaming by the repository.).freeze,
1075
1075
  domain: term(
1076
- unionOf: list("premis:File".freeze, "premis:Representation".freeze),
1077
- type: "owl:Class".freeze
1076
+ type: "owl:Class".freeze,
1077
+ unionOf: list("premis:File".freeze, "premis:Representation".freeze)
1078
1078
  ),
1079
1079
  editorialNote: %(Rationale: The name used within the preservation repository may not be known outside of the repository. A depositor might need to request a file by its original name. Also, the repository may need to reconstruct internal links for dissemination.).freeze,
1080
1080
  range: "xsd:string".freeze,
@@ -1084,8 +1084,8 @@ Program=“MIGJP2JP2K”; version=“2.2”).freeze,
1084
1084
  "vs:term_status": "stable".freeze
1085
1085
  property :hasPreservationLevel,
1086
1086
  domain: term(
1087
- unionOf: list("premis:File".freeze, "premis:Representation".freeze),
1088
- type: "owl:Class".freeze
1087
+ type: "owl:Class".freeze,
1088
+ unionOf: list("premis:File".freeze, "premis:Representation".freeze)
1089
1089
  ),
1090
1090
  range: "premis:PreservationLevel".freeze,
1091
1091
  "rdfs:seeAlso": "Object class definition and PreservationLevel class definition".freeze,
@@ -1154,8 +1154,8 @@ Program=“MIGJP2JP2K”; version=“2.2”).freeze,
1154
1154
  definition: %(Definition: This property links one object to one or more other objects.).freeze,
1155
1155
  domain: "premis:Object".freeze,
1156
1156
  range: term(
1157
- unionOf: list("premis:Object".freeze, "premis:RelatedObjectIdentification".freeze),
1158
- type: "owl:Class".freeze
1157
+ type: "owl:Class".freeze,
1158
+ unionOf: list("premis:Object".freeze, "premis:RelatedObjectIdentification".freeze)
1159
1159
  ),
1160
1160
  "rdfs:seeAlso": ["http://id.loc.gov/vocabulary/preservation/relationshipSubType".freeze, "http://id.loc.gov/vocabulary/preservation/relationshipType".freeze],
1161
1161
  type: "owl:ObjectProperty".freeze,
@@ -1205,8 +1205,8 @@ Program=“MIGJP2JP2K”; version=“2.2”).freeze,
1205
1205
  property :hasRightsStatement,
1206
1206
  definition: %(Definition: A rights statement associated with the object.).freeze,
1207
1207
  domain: term(
1208
- unionOf: list("premis:Agent".freeze, "premis:Object".freeze),
1209
- type: "owl:Class".freeze
1208
+ type: "owl:Class".freeze,
1209
+ unionOf: list("premis:Agent".freeze, "premis:Object".freeze)
1210
1210
  ),
1211
1211
  editorialNote: %(Rationale: A repository may choose to link from a rights statement to an object or from an object to a rights statement or both.).freeze,
1212
1212
  range: "premis:RightsStatement".freeze,
@@ -1223,8 +1223,8 @@ License is embedded in XMP block in file header.).freeze,
1223
1223
  "vs:term_status": "stable".freeze
1224
1224
  property :hasSignature,
1225
1225
  domain: term(
1226
- unionOf: list("premis:Bitstream".freeze, "premis:File".freeze),
1227
- type: "owl:Class".freeze
1226
+ type: "owl:Class".freeze,
1227
+ unionOf: list("premis:Bitstream".freeze, "premis:File".freeze)
1228
1228
  ),
1229
1229
  range: "premis:Signature".freeze,
1230
1230
  "rdfs:seeAlso": "Signature class definition".freeze,
@@ -1397,8 +1397,8 @@ License is embedded in XMP block in file header.).freeze,
1397
1397
  "vs:term_status": "stable".freeze
1398
1398
  property :hasStorage,
1399
1399
  domain: term(
1400
- unionOf: list("premis:Bitstream".freeze, "premis:File".freeze),
1401
- type: "owl:Class".freeze
1400
+ type: "owl:Class".freeze,
1401
+ unionOf: list("premis:Bitstream".freeze, "premis:File".freeze)
1402
1402
  ),
1403
1403
  range: "premis:Storage".freeze,
1404
1404
  "rdfs:seeAlso": "Object class definition and Storage class definition".freeze,