rdf-vocab 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +24 -200
- data/README.md +88 -33
- data/lib/{rdf-vocab → rdf}/vocab/acl.rb +19 -13
- data/lib/{rdf-vocab → rdf}/vocab/bibframe.rb +513 -510
- data/lib/rdf/vocab/cnt.rb +112 -0
- data/lib/{rdf-vocab → rdf}/vocab/crm.rb +799 -799
- data/lib/{rdf-vocab → rdf}/vocab/datacite.rb +53 -53
- data/lib/{rdf-vocab → rdf}/vocab/dwc.rb +459 -459
- data/lib/{rdf-vocab → rdf}/vocab/edm.rb +41 -41
- data/lib/rdf/vocab/extensions.rb +29 -0
- data/lib/{rdf-vocab → rdf}/vocab/fcrepo4.rb +38 -38
- data/lib/{rdf-vocab → rdf}/vocab/iana.rb +89 -166
- data/lib/{rdf-vocab → rdf}/vocab/identifiers.rb +58 -38
- data/lib/rdf/vocab/ldp.rb +218 -0
- data/lib/{rdf-vocab → rdf}/vocab/mads.rb +147 -147
- data/lib/{rdf-vocab → rdf}/vocab/marc_relators.rb +273 -269
- data/lib/{rdf-vocab → rdf}/vocab/mods.rb +178 -178
- data/lib/{rdf-vocab → rdf}/vocab/oa.rb +102 -102
- data/lib/{rdf-vocab → rdf}/vocab/ore.rb +32 -32
- data/lib/{rdf-vocab/vocab/premis/v1.rb → rdf/vocab/premis.rb} +147 -147
- data/lib/{rdf-vocab → rdf}/vocab/premis_event_type.rb +0 -0
- data/lib/rdf/vocab/version.rb +18 -0
- data/lib/rdf/vocab.rb +153 -0
- data/spec/spec_helper.rb +3 -84
- data/spec/vocab_spec.rb +64 -0
- metadata +109 -58
- data/.gitignore +0 -17
- data/.rspec +0 -2
- data/.travis.yml +0 -6
- data/CONTRIBUTING.md +0 -116
- data/CONTRIBUTORS.md +0 -6
- data/Gemfile +0 -4
- data/Rakefile +0 -8
- data/lib/rdf-vocab/config/vocab.yml +0 -109
- data/lib/rdf-vocab/tasks/vocab.rake +0 -44
- data/lib/rdf-vocab/version.rb +0 -5
- data/lib/rdf-vocab/vocab/fcrepo3.rb +0 -326
- data/lib/rdf-vocab/vocab/ldp.rb +0 -140
- data/lib/rdf-vocab/vocab/prov.rb +0 -1549
- data/lib/rdf-vocab.rb +0 -34
- data/rdf-vocab.gemspec +0 -26
- data/sources/dwcterms.rdf +0 -2679
- data/sources/iana-relation.rdf +0 -475
- data/sources/iana-relation.xsl +0 -65
- data/spec/fixtures/dcterms.rdf +0 -1077
- data/spec/unit/rdf_vocab_spec.rb +0 -27
@@ -10,7 +10,7 @@ module RDF::Vocab
|
|
10
10
|
|
11
11
|
This "aboutness" may be further clarified or extended to notions such as classifying or identifying with oa:motivatedBy.).freeze,
|
12
12
|
label: "Annotation".freeze,
|
13
|
-
"rdfs:isDefinedBy" => %(
|
13
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
14
14
|
type: "owl:Class".freeze
|
15
15
|
term :Choice,
|
16
16
|
comment: %(A multiplicity construct that conveys to a consuming application that it should select one of the constituent resources to display to the user, and not render/use all of them.
|
@@ -21,7 +21,7 @@ There MUST be 1 or more oa:item relationships for each oa:Choice.
|
|
21
21
|
|
22
22
|
There SHOULD be exactly 1 default relationship for each Choice.).freeze,
|
23
23
|
label: "Choice".freeze,
|
24
|
-
"rdfs:isDefinedBy" => %(
|
24
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
25
25
|
subClassOf: "rdf:Alt".freeze,
|
26
26
|
type: "owl:Class".freeze
|
27
27
|
term :Composite,
|
@@ -31,7 +31,7 @@ oa:Composite can be used as the object of the object of the oa:hasBody, oa:hasTa
|
|
31
31
|
|
32
32
|
There MUST be 2 or more oa:item relationships for each oa:Composite.).freeze,
|
33
33
|
label: "Composite".freeze,
|
34
|
-
"rdfs:isDefinedBy" => %(
|
34
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
35
35
|
subClassOf: "rdf:Bag".freeze,
|
36
36
|
type: "owl:Class".freeze
|
37
37
|
term :CssStyle,
|
@@ -41,8 +41,8 @@ Specific Resources MAY be assigned a CSS style class using oa:styleClass.
|
|
41
41
|
|
42
42
|
The CSS resource MAY have its own dereferencable URI that provides the information. For example, "Style1" in the diagram below might actually have the URI "http://www.example.com/styles/annotations.css". It MAY be embedded within the Annotation using the inline constructions described in Embedding Resources.).freeze,
|
43
43
|
label: "CssStyle".freeze,
|
44
|
-
"rdfs:isDefinedBy" => %(
|
45
|
-
subClassOf: "
|
44
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
45
|
+
subClassOf: "oa:Style".freeze,
|
46
46
|
type: "owl:Class".freeze
|
47
47
|
term :DataPositionSelector,
|
48
48
|
comment: %(A Selector which describes a range of data based on its start and end positions within the byte stream of the representation.
|
@@ -53,8 +53,8 @@ Each TextPositionSelector MUST have exactly 1 oa:end property.
|
|
53
53
|
|
54
54
|
See oa:TextPositionSelector for selection at normalized character level rather than bytestream level.).freeze,
|
55
55
|
label: "DataPositionSelector".freeze,
|
56
|
-
"rdfs:isDefinedBy" => %(
|
57
|
-
subClassOf: "
|
56
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
57
|
+
subClassOf: "oa:Selector".freeze,
|
58
58
|
type: "owl:Class".freeze
|
59
59
|
term :FragmentSelector,
|
60
60
|
comment: %(A Selector which describes the segment of interest in a representation, through the use of the fragment identifier component of a URI.
|
@@ -65,16 +65,16 @@ The oa:FragmentSelector MUST have exactly 1 rdf:value property, containing the f
|
|
65
65
|
|
66
66
|
The Fragment Selector SHOULD have a dcterms:conformsTo relationship with the object being the specification that defines the syntax of the fragment, for instance <http://tools.ietf.org/rfc/rfc3236> for HTML fragments. ).freeze,
|
67
67
|
label: "FragmentSelector".freeze,
|
68
|
-
"rdfs:isDefinedBy" => %(
|
69
|
-
subClassOf: "
|
68
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
69
|
+
subClassOf: "oa:Selector".freeze,
|
70
70
|
type: "owl:Class".freeze
|
71
71
|
term :HttpRequestState,
|
72
72
|
comment: %(A resource which describes how to retrieve an appropriate representation of the Source resource for the Annotation, based on the HTTP Request headers to send to the server.
|
73
73
|
|
74
74
|
There MUST be exactly 1 rdf:value property per HttpRequestState, containing HTTP request headers as a single, complete string, exactly as they would appear in an HTTP request. ).freeze,
|
75
75
|
label: "HttpRequestState".freeze,
|
76
|
-
"rdfs:isDefinedBy" => %(
|
77
|
-
subClassOf: "
|
76
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
77
|
+
subClassOf: "oa:State".freeze,
|
78
78
|
type: "owl:Class".freeze
|
79
79
|
term :List,
|
80
80
|
comment: %(A multiplicity construct that conveys to a consuming application that all of the constituent resources are required for the Annotation to be correctly interpreted, and in a particular order.
|
@@ -85,15 +85,15 @@ There MUST be 2 or more oa:item relationships for each oa:List, with their order
|
|
85
85
|
|
86
86
|
All the elements of the list should also be declared using oa:item, and each of the oa:items should appear at least once in the list.).freeze,
|
87
87
|
label: "List".freeze,
|
88
|
-
"rdfs:isDefinedBy" => %(
|
89
|
-
subClassOf: "
|
88
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
89
|
+
subClassOf: "oa:Composite".freeze,
|
90
90
|
type: "owl:Class".freeze
|
91
91
|
term :Motivation,
|
92
92
|
comment: %(The Motivation for creating an Annotation, indicated with oa:motivatedBy, is a reason for its creation, and might include things like oa:replying to another annotation, oa:commenting on a resource, or oa:linking to a related resource.
|
93
93
|
|
94
94
|
Each Annotation SHOULD have at least one oa:motivatedBy relationship to an instance of oa:Motivation, which is a subClass of skos:Concept.).freeze,
|
95
95
|
label: "Motivation".freeze,
|
96
|
-
"rdfs:isDefinedBy" => %(
|
96
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
97
97
|
subClassOf: "skos:Concept".freeze,
|
98
98
|
type: "owl:Class".freeze
|
99
99
|
term :Selector,
|
@@ -105,15 +105,15 @@ The nature of the Selector will be dependent on the type of the representation f
|
|
105
105
|
|
106
106
|
The Specifier's description MAY be conveyed as an external or embedded resource \(cnt:Content\), or as RDF properties within the graph. The description SHOULD use existing standards whenever possible. If the Specifier has an HTTP URI, then its description, and only its description, MUST be returned when the URI is dereferenced.).freeze,
|
107
107
|
label: "Selector".freeze,
|
108
|
-
"rdfs:isDefinedBy" => %(
|
108
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
109
109
|
type: "owl:Class".freeze
|
110
110
|
term :SemanticTag,
|
111
111
|
comment: %(A class assigned to the Body when it is a semantic tagging resource; a URI that identifies a concept, rather than an embedded string, frequently a term from a controlled vocabulary.
|
112
112
|
|
113
113
|
It is NOT RECOMMENDED to use the URI of a document as a Semantic Tag, as it might also be used as a regular Body in other Annotations which would inherit the oa:SemanticTag class assignment. Instead it is more appropriate to create a new URI and link it to the document, using the foaf:page predicate.).freeze,
|
114
114
|
label: "SemanticTag".freeze,
|
115
|
-
"rdfs:isDefinedBy" => %(
|
116
|
-
subClassOf: "
|
115
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
116
|
+
subClassOf: "oa:Tag".freeze,
|
117
117
|
type: "owl:Class".freeze
|
118
118
|
term :SpecificResource,
|
119
119
|
comment: %(A resource identifies part of another Source resource, a particular representation of a resource, a resource with styling hints for renders, or any combination of these.
|
@@ -128,7 +128,7 @@ There MAY be 0 or 1 oa:hasState relationship for each Specific Resource.
|
|
128
128
|
|
129
129
|
If the Specific Resource has an HTTP URI, then the exact segment of the Source resource that it identifies, and only the segment, MUST be returned when the URI is dereferenced. For example, if the segment of interest is a region of an image and the Specific Resource has an HTTP URI, then dereferencing it MUST return the selected region of the image as it was at the time when the annotation was created. Typically this would be a burden to support, and thus the Specific Resource SHOULD be identified by a globally unique URI, such as a UUID URN. If it is not considered important to allow other Annotations or systems to refer to the Specific Resource, then a blank node MAY be used instead.).freeze,
|
130
130
|
label: "SpecificResource".freeze,
|
131
|
-
"rdfs:isDefinedBy" => %(
|
131
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
132
132
|
type: "owl:Class".freeze
|
133
133
|
term :State,
|
134
134
|
comment: %(A resource which describes how to retrieve an appropriate representation of the Source resource, indicated with oa:hasState from the Specific Resource.
|
@@ -137,7 +137,7 @@ This class is not used directly in Annotations, only its subclasses are.
|
|
137
137
|
|
138
138
|
The Specifier's description MAY be conveyed as an external or embedded resource \(cnt:Content\), or as RDF properties within the graph. The description SHOULD use existing standards whenever possible. If the Specifier has an HTTP URI, then its description, and only its description, MUST be returned when the URI is dereferenced.).freeze,
|
139
139
|
label: "State".freeze,
|
140
|
-
"rdfs:isDefinedBy" => %(
|
140
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
141
141
|
type: "owl:Class".freeze
|
142
142
|
term :Style,
|
143
143
|
comment: %(A resource which describes the style in which the selection or resource should be rendered, indicated with oa:styledBy from an oa:Annotation.
|
@@ -148,7 +148,7 @@ The content of the resource provides the rendering hints about the Annotation's
|
|
148
148
|
|
149
149
|
The Specifier's description MAY be conveyed as an external or embedded resource \(cnt:Content\), or as RDF properties within the graph. The description SHOULD use existing standards whenever possible. If the Specifier has an HTTP URI, then its description, and only its description, MUST be returned when the URI is dereferenced.).freeze,
|
150
150
|
label: "Style".freeze,
|
151
|
-
"rdfs:isDefinedBy" => %(
|
151
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
152
152
|
type: "owl:Class".freeze
|
153
153
|
term :SvgSelector,
|
154
154
|
comment: %(A Selector which selects an area specified as an SVG shape.
|
@@ -161,8 +161,8 @@ The dimensions of both the shape and the SVG canvas MUST be relative to the dime
|
|
161
161
|
|
162
162
|
It is NOT RECOMMENDED to include style information within the SVG element, nor Javascript, animation, text or other non shape oriented information. Clients SHOULD ignore such information if present.).freeze,
|
163
163
|
label: "SvgSelector".freeze,
|
164
|
-
"rdfs:isDefinedBy" => %(
|
165
|
-
subClassOf: "
|
164
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
165
|
+
subClassOf: "oa:Selector".freeze,
|
166
166
|
type: "owl:Class".freeze
|
167
167
|
term :Tag,
|
168
168
|
comment: %(A class assigned to the Body when it is a tag, such as a embedded text string with cnt:chars.
|
@@ -171,7 +171,7 @@ Tags are typically keywords or labels, and used for organization, description or
|
|
171
171
|
|
172
172
|
Annotations that tag resources, either with text or semantic tags, SHOULD also have the oa:tagging motivation to make the reason for the Annotation more clear to applications, and MAY have other motivations as well.).freeze,
|
173
173
|
label: "Tag".freeze,
|
174
|
-
"rdfs:isDefinedBy" => %(
|
174
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
175
175
|
type: "owl:Class".freeze
|
176
176
|
term :TextPositionSelector,
|
177
177
|
comment: %(An oa:Selector which describes a range of text based on its start and end positions.
|
@@ -182,8 +182,8 @@ Each oa:TextPositionSelector MUST have exactly 1 oa:start property.
|
|
182
182
|
|
183
183
|
Each oa:TextPositionSelector MUST have exactly 1 oa:end property.).freeze,
|
184
184
|
label: "TextPositionSelector".freeze,
|
185
|
-
"rdfs:isDefinedBy" => %(
|
186
|
-
subClassOf: "
|
185
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
186
|
+
subClassOf: "oa:Selector".freeze,
|
187
187
|
type: "owl:Class".freeze
|
188
188
|
term :TextQuoteSelector,
|
189
189
|
comment: %(A Selector that describes a textual segment by means of quoting it, plus passages before or after it.
|
@@ -198,16 +198,16 @@ Each TextQuoteSelector SHOULD have exactly 1 oa:prefix property, and MUST NOT ha
|
|
198
198
|
|
199
199
|
Each TextQuoteSelector SHOULD have exactly 1 oa:suffix property, and MUST NOT have more than 1.).freeze,
|
200
200
|
label: "TextQuoteSelector".freeze,
|
201
|
-
"rdfs:isDefinedBy" => %(
|
202
|
-
subClassOf: "
|
201
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
202
|
+
subClassOf: "oa:Selector".freeze,
|
203
203
|
type: "owl:Class".freeze
|
204
204
|
term :TimeState,
|
205
205
|
comment: %(A resource which describes how to retrieve a representation of the Source resource that is temporally appropriate for the Annotation.
|
206
206
|
|
207
207
|
There MUST be at least one of oa:cachedSource or oa:when specified. If there is more than 1, each gives an alternative copy of the representation.).freeze,
|
208
208
|
label: "TimeState".freeze,
|
209
|
-
"rdfs:isDefinedBy" => %(
|
210
|
-
subClassOf: "
|
209
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
210
|
+
subClassOf: "oa:State".freeze,
|
211
211
|
type: "owl:Class".freeze
|
212
212
|
|
213
213
|
# Property definitions
|
@@ -215,10 +215,10 @@ There MUST be at least one of oa:cachedSource or oa:when specified. If there is
|
|
215
215
|
comment: %(The time at which the Annotation was created.
|
216
216
|
|
217
217
|
There SHOULD be exactly 1 oa:annotatedAt property per Annotation, and MUST NOT be more than 1. The datetime MUST be expressed in the xsd:dateTime format, and SHOULD have a timezone specified.).freeze,
|
218
|
-
domain: "
|
218
|
+
domain: "oa:Annotation".freeze,
|
219
219
|
label: "annotatedAt".freeze,
|
220
220
|
range: "xsd:dateTimeStamp".freeze,
|
221
|
-
"rdfs:isDefinedBy" => %(
|
221
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
222
222
|
type: "owl:DatatypeProperty".freeze
|
223
223
|
property :annotatedBy,
|
224
224
|
comment: %(The object of the relationship is a resource that identifies the agent responsible for creating the Annotation. This may be either a human or software agent.
|
@@ -226,34 +226,34 @@ There SHOULD be exactly 1 oa:annotatedAt property per Annotation, and MUST NOT b
|
|
226
226
|
There SHOULD be exactly 1 oa:annotatedBy relationship per Annotation, but MAY be 0 or more than 1, as the Annotation may be anonymous, or multiple agents may have worked together on it.
|
227
227
|
|
228
228
|
It is RECOMMENDED to use these and other FOAF terms to describe agents: foaf:Person, prov:SoftwareAgent, foaf:Organization, foaf:name, foaf:mbox, foaf:openid, foaf:homepage).freeze,
|
229
|
-
domain: "
|
229
|
+
domain: "oa:Annotation".freeze,
|
230
230
|
label: "annotatedBy".freeze,
|
231
|
-
"rdfs:isDefinedBy" => %(
|
231
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
232
232
|
subPropertyOf: "prov:wasAttributedTo".freeze,
|
233
233
|
type: "owl:ObjectProperty".freeze
|
234
234
|
property :cachedSource,
|
235
235
|
comment: %(A link to a copy of the Source resource's representation appropriate for the Annotation, typically a copy of the original at the time that the Annotation was created).freeze,
|
236
|
-
domain: "
|
236
|
+
domain: "oa:TimeState".freeze,
|
237
237
|
label: "cachedSource".freeze,
|
238
|
-
"rdfs:isDefinedBy" => %(
|
238
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
239
239
|
type: "owl:ObjectProperty".freeze
|
240
240
|
property :default,
|
241
241
|
comment: %(The constituent resource of a oa:Choice to use as a default option, if there is no other means to determine which would be most appropriate.
|
242
242
|
|
243
243
|
There SHOULD be exactly 1 default relationship for each Choice.).freeze,
|
244
|
-
domain: "
|
244
|
+
domain: "oa:Choice".freeze,
|
245
245
|
label: "default".freeze,
|
246
|
-
"rdfs:isDefinedBy" => %(
|
247
|
-
subPropertyOf: "
|
246
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
247
|
+
subPropertyOf: "oa:item".freeze,
|
248
248
|
type: "owl:ObjectProperty".freeze
|
249
249
|
property :end,
|
250
250
|
comment: %(The end position of the segment of text or bytes. The first character/byte in the full text/stream is position 0. The character/byte indicated at position oa:end is NOT included within the selected segment.
|
251
251
|
|
252
252
|
See oa:DataPositionSelector and oa:oa:TextPositionSelector.).freeze,
|
253
|
-
domain: "
|
253
|
+
domain: "oa:Selector".freeze,
|
254
254
|
label: "end".freeze,
|
255
255
|
range: "xsd:nonNegativeInteger".freeze,
|
256
|
-
"rdfs:isDefinedBy" => %(
|
256
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
257
257
|
type: "owl:DatatypeProperty".freeze
|
258
258
|
property :equivalentTo,
|
259
259
|
comment: %(The subject and object resources of the oa:equivalentTo relationship represent the same resource, but potentially have different metadata such as oa:serializedBy, oa:serializedAt and serialization format. oa:equivalentTo is a symmetrical and transitive relationship; if A oa:equivalentTo B, then it is also true that B oa:equivalent A; and that if B oa:equivalentTo C, then it is also true that A oa:equivalentTo C.
|
@@ -262,16 +262,16 @@ The Annotation MAY include 0 or more instances of the oa:equivalentTo relationsh
|
|
262
262
|
|
263
263
|
If a system publishes an embedded resource \(a cnt:Content\) at a new HTTP URI, then it SHOULD express the oa:equivalentTo relationship between the resource's URN and the new URI from which it is available.).freeze,
|
264
264
|
label: "equivalentTo".freeze,
|
265
|
-
"rdfs:isDefinedBy" => %(
|
265
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
266
266
|
subPropertyOf: "prov:alternateOf".freeze,
|
267
267
|
type: "owl:ObjectProperty".freeze
|
268
268
|
property :exact,
|
269
269
|
comment: %(A copy of the text which is being selected, after normalization.
|
270
270
|
|
271
271
|
See oa:TextQuoteSelector.).freeze,
|
272
|
-
domain: "
|
272
|
+
domain: "oa:Selector".freeze,
|
273
273
|
label: "exact".freeze,
|
274
|
-
"rdfs:isDefinedBy" => %(
|
274
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
275
275
|
type: "owl:DatatypeProperty".freeze
|
276
276
|
property :hasBody,
|
277
277
|
comment: %(The relationship between oa:Annotation and body. The body is somehow "about" the oa:hasTarget of the annotation.
|
@@ -282,17 +282,17 @@ Embedded bodies SHOULD be instances of cnt:ContentAsText and embed their content
|
|
282
282
|
|
283
283
|
There is no OA class provided for "Body" as a body might be a target of a different annotation. However, there SHOULD be 1 or more content-based classes associated with the body resources of an Annotation, and the dctypes: vocabulary is recommended for this purpose, for instance dctypes:Text to declare textual content.
|
284
284
|
).freeze,
|
285
|
-
domain: "
|
285
|
+
domain: "oa:Annotation".freeze,
|
286
286
|
label: "hasBody".freeze,
|
287
|
-
"rdfs:isDefinedBy" => %(
|
287
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
288
288
|
type: "owl:ObjectProperty".freeze
|
289
289
|
property :hasScope,
|
290
290
|
comment: %(The relationship between a Specific Resource and the resource that provides the scope or context for it in this Annotation.
|
291
291
|
|
292
292
|
There MAY be 0 or more hasScope relationships for each Specific Resource.).freeze,
|
293
|
-
domain: "
|
293
|
+
domain: "oa:SpecificResource".freeze,
|
294
294
|
label: "hasScope".freeze,
|
295
|
-
"rdfs:isDefinedBy" => %(
|
295
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
296
296
|
type: "owl:ObjectProperty".freeze
|
297
297
|
property :hasSelector,
|
298
298
|
comment: %(The relationship between a oa:SpecificResource and a oa:Selector.
|
@@ -301,18 +301,18 @@ There MUST be exactly 0 or 1 oa:hasSelector relationship associated with a
|
|
301
301
|
Specific Resource.
|
302
302
|
|
303
303
|
If multiple Selectors are required, either to express a choice between different optional, equivalent selectors, or a chain of selectors that should all be processed, it is necessary to use oa:Choice, oa:Composite or oa:List as a selector.).freeze,
|
304
|
-
domain: "
|
304
|
+
domain: "oa:SpecificResource".freeze,
|
305
305
|
label: "hasSelector".freeze,
|
306
|
-
range: "
|
307
|
-
"rdfs:isDefinedBy" => %(
|
306
|
+
range: "oa:Selector".freeze,
|
307
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
308
308
|
type: "owl:ObjectProperty".freeze
|
309
309
|
property :hasSource,
|
310
310
|
comment: %(The relationship between a oa:SpecificResource and the resource that it is a more specific representation of.
|
311
311
|
|
312
312
|
There MUST be exactly 1 oa:hasSource relationship associated with a Specific Resource.).freeze,
|
313
|
-
domain: "
|
313
|
+
domain: "oa:SpecificResource".freeze,
|
314
314
|
label: "hasSource".freeze,
|
315
|
-
"rdfs:isDefinedBy" => %(
|
315
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
316
316
|
type: "owl:ObjectProperty".freeze
|
317
317
|
property :hasState,
|
318
318
|
comment: %(The relationship between a oa:SpecificResource and a oa:State resource.
|
@@ -320,10 +320,10 @@ There MUST be exactly 1 oa:hasSource relationship associated with a Specific Res
|
|
320
320
|
There MAY be 0 or 1 oa:hasState relationship for each SpecificResource.
|
321
321
|
|
322
322
|
If there are multiple State resources that must be associated with the specific resource, then the use of the Multiplicity Constructs oa:Choice, oa:Composite or oa:List is RECOMMENDED.).freeze,
|
323
|
-
domain: "
|
323
|
+
domain: "oa:SpecificResource".freeze,
|
324
324
|
label: "hasState".freeze,
|
325
|
-
range: "
|
326
|
-
"rdfs:isDefinedBy" => %(
|
325
|
+
range: "oa:State".freeze,
|
326
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
327
327
|
type: "owl:ObjectProperty".freeze
|
328
328
|
property :hasTarget,
|
329
329
|
comment: %(The relationship between oa:Annotation and target. The target resource is what the oa:hasBody is somewhat "about".
|
@@ -333,44 +333,44 @@ The target may be of any media type, and contain any type of content. The target
|
|
333
333
|
Embedded targets SHOULD be instances of cnt:ContentAsText and embed their content with cnt:chars. They SHOULD declare their media type with dc:format, and MAY indicate their language using dc:language and a RFC-3066 language tag.
|
334
334
|
|
335
335
|
There is no OA class provided for "Target" as a target might be a body in a different annotation. However, there SHOULD be 1 or more content-based classes associated with the target resources of an Annotation, and the dctypes: vocabulary is recommended for this purpose, for instance dctypes:Text to declare textual content.).freeze,
|
336
|
-
domain: "
|
336
|
+
domain: "oa:Annotation".freeze,
|
337
337
|
label: "hasTarget".freeze,
|
338
|
-
"rdfs:isDefinedBy" => %(
|
338
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
339
339
|
type: "owl:ObjectProperty".freeze
|
340
340
|
property :item,
|
341
341
|
comment: %(The relationship between a multiplicity construct node and its constituent resources.
|
342
342
|
|
343
343
|
There MUST be 1 or more item relationships for each multiplicity construct oa:Choice, oa:Composite and oa:List.).freeze,
|
344
344
|
label: "item".freeze,
|
345
|
-
"rdfs:isDefinedBy" => %(
|
345
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
346
346
|
subPropertyOf: "rdfs:member".freeze,
|
347
347
|
type: "owl:ObjectProperty".freeze
|
348
348
|
property :motivatedBy,
|
349
349
|
comment: %(The relationship between an Annotation and a Motivation, indicating the reasons why the Annotation was created.
|
350
350
|
|
351
351
|
Each Annotation SHOULD have at least one oa:motivatedBy relationship, and MAY be more than 1.).freeze,
|
352
|
-
domain: "
|
352
|
+
domain: "oa:Annotation".freeze,
|
353
353
|
label: "motivatedBy".freeze,
|
354
|
-
range: "
|
355
|
-
"rdfs:isDefinedBy" => %(
|
354
|
+
range: "oa:Motivation".freeze,
|
355
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
356
356
|
type: "owl:ObjectProperty".freeze
|
357
357
|
property :prefix,
|
358
358
|
comment: %(A snippet of text that occurs immediately before the text which is being selected.
|
359
359
|
|
360
360
|
See oa:TextQuoteSelector.).freeze,
|
361
|
-
domain: "
|
361
|
+
domain: "oa:Selector".freeze,
|
362
362
|
label: "prefix".freeze,
|
363
|
-
"rdfs:isDefinedBy" => %(
|
363
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
364
364
|
type: "owl:DatatypeProperty".freeze
|
365
365
|
property :serializedAt,
|
366
366
|
comment: %(The time at which the agent referenced by oa:serializedBy generated the first serialization of the Annotation, and any subsequent substantially different one. The annotation graph MUST have changed for this property to be updated, and as such represents the last modified datestamp for the Annotation. This might be used to determine if it should be re-imported into a triplestore when discovered.
|
367
367
|
|
368
368
|
There MAY be exactly 1 oa:serializedAt property per Annotation, and MUST NOT be more than 1. The datetime MUST be expressed in the xsd:dateTime format, and SHOULD have a timezone specified.
|
369
369
|
).freeze,
|
370
|
-
domain: "
|
370
|
+
domain: "oa:Annotation".freeze,
|
371
371
|
label: "serializedAt".freeze,
|
372
372
|
range: "xsd:dateTimeStamp".freeze,
|
373
|
-
"rdfs:isDefinedBy" => %(
|
373
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
374
374
|
type: "owl:DatatypeProperty".freeze
|
375
375
|
property :serializedBy,
|
376
376
|
comment: %(The object of the relationship is the agent, likely software, responsible for generating the serialization of the Annotation's serialization.
|
@@ -378,19 +378,19 @@ There MAY be exactly 1 oa:serializedAt property per Annotation, and MUST NOT be
|
|
378
378
|
It is RECOMMENDED to use these and other FOAF terms to describe agents: foaf:Person, prov:SoftwareAgent, foaf:Organization, foaf:name, foaf:mbox, foaf:openid, foaf:homepage
|
379
379
|
|
380
380
|
There MAY be 0 or more oa:serializedBy relationships per Annotation.).freeze,
|
381
|
-
domain: "
|
381
|
+
domain: "oa:Annotation".freeze,
|
382
382
|
label: "serializedBy".freeze,
|
383
|
-
"rdfs:isDefinedBy" => %(
|
383
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
384
384
|
subPropertyOf: "prov:wasAttributedTo".freeze,
|
385
385
|
type: "owl:ObjectProperty".freeze
|
386
386
|
property :start,
|
387
387
|
comment: %(The starting position of the segment of text or bytes. The first character/byte in the full text/stream is position 0. The character/byte indicated at position oa:start is included within the selected segment.
|
388
388
|
|
389
389
|
See oa:DataPositionSelector and oa:TextPositionSelector.).freeze,
|
390
|
-
domain: "
|
390
|
+
domain: "oa:Selector".freeze,
|
391
391
|
label: "start".freeze,
|
392
392
|
range: "xsd:nonNegativeInteger".freeze,
|
393
|
-
"rdfs:isDefinedBy" => %(
|
393
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
394
394
|
type: "owl:DatatypeProperty".freeze
|
395
395
|
property :styleClass,
|
396
396
|
comment: %(The string name of the class used in the CSS description that should be applied to the Specific Resource.
|
@@ -398,9 +398,9 @@ See oa:DataPositionSelector and oa:TextPositionSelector.).freeze,
|
|
398
398
|
There MAY be 0 or more styleClass properties on a Specific Resource.
|
399
399
|
|
400
400
|
See oa:CssStyle.).freeze,
|
401
|
-
domain: "
|
401
|
+
domain: "oa:SpecificResource".freeze,
|
402
402
|
label: "annotatedAt".freeze,
|
403
|
-
"rdfs:isDefinedBy" => %(
|
403
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
404
404
|
type: "owl:DatatypeProperty".freeze
|
405
405
|
property :styledBy,
|
406
406
|
comment: %(The relationship between a oa:Annotation and a oa:Style.
|
@@ -408,25 +408,25 @@ See oa:CssStyle.).freeze,
|
|
408
408
|
There MAY be 0 or 1 styledBy relationships for each Annotation.
|
409
409
|
|
410
410
|
If there are multiple Style resources that must be associated with the Annotation, then the use of the Multiplicity Constructs oa:Choice, oa:Composite or oa:List is RECOMMENDED.).freeze,
|
411
|
-
domain: "
|
411
|
+
domain: "oa:Annotation".freeze,
|
412
412
|
label: "styledBy".freeze,
|
413
|
-
range: "
|
414
|
-
"rdfs:isDefinedBy" => %(
|
413
|
+
range: "oa:Style".freeze,
|
414
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
415
415
|
type: "owl:ObjectProperty".freeze
|
416
416
|
property :suffix,
|
417
417
|
comment: %(The snippet of text that occurs immediately after the text which is being selected.
|
418
418
|
|
419
419
|
See oa:TextQuoteSelector.).freeze,
|
420
|
-
domain: "
|
420
|
+
domain: "oa:Selector".freeze,
|
421
421
|
label: "suffix".freeze,
|
422
|
-
"rdfs:isDefinedBy" => %(
|
422
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
423
423
|
type: "owl:DatatypeProperty".freeze
|
424
424
|
property :when,
|
425
425
|
comment: %(The timestamp at which the Source resource should be interpreted for the Annotation, typically the time that the Annotation was created.).freeze,
|
426
|
-
domain: "
|
426
|
+
domain: "oa:TimeState".freeze,
|
427
427
|
label: "when".freeze,
|
428
428
|
range: "xsd:dateTimeStamp".freeze,
|
429
|
-
"rdfs:isDefinedBy" => %(
|
429
|
+
"rdfs:isDefinedBy" => %(oa:).freeze,
|
430
430
|
type: "owl:DatatypeProperty".freeze
|
431
431
|
|
432
432
|
# Extra definitions
|
@@ -451,57 +451,57 @@ An Annotation is considered to be a set of connected resources, typically includ
|
|
451
451
|
term :bookmarking,
|
452
452
|
comment: %(The motivation that represents the creation of a bookmark to the target resources or recorded point or points within one or more resources. For example, an Annotation that bookmarks the point in a text where the reader finished reading. Bookmark Annotations may or may not have a Body resource.).freeze,
|
453
453
|
label: "bookmarking".freeze,
|
454
|
-
"skos:inScheme" => %(
|
454
|
+
"skos:inScheme" => %(oa:motivationScheme).freeze,
|
455
455
|
"skos:prefLabel" => %(bookmarking).freeze,
|
456
|
-
type: ["owl:NamedIndividual".freeze, "
|
456
|
+
type: ["owl:NamedIndividual".freeze, "oa:Motivation".freeze]
|
457
457
|
term :classifying,
|
458
458
|
comment: %(The motivation that represents the assignment of a classification type, typically from a controlled vocabulary, to the target resource\(s\). For example to classify an Image resource as a Portrait.).freeze,
|
459
459
|
label: "classifying".freeze,
|
460
|
-
"skos:inScheme" => %(
|
460
|
+
"skos:inScheme" => %(oa:motivationScheme).freeze,
|
461
461
|
"skos:prefLabel" => %(classifying).freeze,
|
462
|
-
type: ["owl:NamedIndividual".freeze, "
|
462
|
+
type: ["owl:NamedIndividual".freeze, "oa:Motivation".freeze]
|
463
463
|
term :commenting,
|
464
464
|
comment: %(The motivation that represents a commentary about or review of the target resource\(s\). For example to provide a commentary about a particular PDF.).freeze,
|
465
465
|
label: "commenting".freeze,
|
466
|
-
"skos:inScheme" => %(
|
466
|
+
"skos:inScheme" => %(oa:motivationScheme).freeze,
|
467
467
|
"skos:prefLabel" => %(commenting).freeze,
|
468
|
-
type: ["owl:NamedIndividual".freeze, "
|
468
|
+
type: ["owl:NamedIndividual".freeze, "oa:Motivation".freeze]
|
469
469
|
term :describing,
|
470
470
|
comment: %(The motivation that represents a description of the target resource\(s\), as opposed to a comment about them. For example describing the above PDF's contents, rather than commenting on their accuracy.).freeze,
|
471
471
|
label: "describing".freeze,
|
472
|
-
"skos:inScheme" => %(
|
472
|
+
"skos:inScheme" => %(oa:motivationScheme).freeze,
|
473
473
|
"skos:prefLabel" => %(describing).freeze,
|
474
|
-
type: ["owl:NamedIndividual".freeze, "
|
474
|
+
type: ["owl:NamedIndividual".freeze, "oa:Motivation".freeze]
|
475
475
|
term :editing,
|
476
476
|
comment: %(The motivation that represents a request for a modification or edit to the target resource. For example, an Annotation that requests a typo to be corrected.).freeze,
|
477
477
|
label: "editing".freeze,
|
478
|
-
"skos:inScheme" => %(
|
478
|
+
"skos:inScheme" => %(oa:motivationScheme).freeze,
|
479
479
|
"skos:prefLabel" => %(editing).freeze,
|
480
|
-
type: ["owl:NamedIndividual".freeze, "
|
480
|
+
type: ["owl:NamedIndividual".freeze, "oa:Motivation".freeze]
|
481
481
|
term :highlighting,
|
482
482
|
comment: %(The motivation that represents a highlighted section of the target resource or segment. For example to draw attention to the selected text that the annotator disagrees with. A Highlight may or may not have a Body resource).freeze,
|
483
483
|
label: "highlighting".freeze,
|
484
|
-
"skos:inScheme" => %(
|
484
|
+
"skos:inScheme" => %(oa:motivationScheme).freeze,
|
485
485
|
"skos:prefLabel" => %(highlighting).freeze,
|
486
|
-
type: ["owl:NamedIndividual".freeze, "
|
486
|
+
type: ["owl:NamedIndividual".freeze, "oa:Motivation".freeze]
|
487
487
|
term :identifying,
|
488
488
|
comment: %(The motivation that represents the assignment of an identity to the target resource\(s\). For example, annotating the name of a city in a string of text with the URI that identifies it.).freeze,
|
489
489
|
label: "identifying".freeze,
|
490
|
-
"skos:inScheme" => %(
|
490
|
+
"skos:inScheme" => %(oa:motivationScheme).freeze,
|
491
491
|
"skos:prefLabel" => %(identifying).freeze,
|
492
|
-
type: ["owl:NamedIndividual".freeze, "
|
492
|
+
type: ["owl:NamedIndividual".freeze, "oa:Motivation".freeze]
|
493
493
|
term :linking,
|
494
494
|
comment: %(The motivation that represents an untyped link to a resource related to the target.).freeze,
|
495
495
|
label: "linking".freeze,
|
496
|
-
"skos:inScheme" => %(
|
496
|
+
"skos:inScheme" => %(oa:motivationScheme).freeze,
|
497
497
|
"skos:prefLabel" => %(linking).freeze,
|
498
|
-
type: ["owl:NamedIndividual".freeze, "
|
498
|
+
type: ["owl:NamedIndividual".freeze, "oa:Motivation".freeze]
|
499
499
|
term :moderating,
|
500
500
|
comment: %(The motivation that represents an assignment of value or quality to the target resource\(s\). For example annotating an Annotation to moderate it up in a trust network or threaded discussion.).freeze,
|
501
501
|
label: "moderating".freeze,
|
502
|
-
"skos:inScheme" => %(
|
502
|
+
"skos:inScheme" => %(oa:motivationScheme).freeze,
|
503
503
|
"skos:prefLabel" => %(moderating).freeze,
|
504
|
-
type: ["owl:NamedIndividual".freeze, "
|
504
|
+
type: ["owl:NamedIndividual".freeze, "oa:Motivation".freeze]
|
505
505
|
term :motivationScheme,
|
506
506
|
comment: %(The concept scheme for Open Annotation Motivations).freeze,
|
507
507
|
label: "motivationScheme".freeze,
|
@@ -509,20 +509,20 @@ An Annotation is considered to be a set of connected resources, typically includ
|
|
509
509
|
term :questioning,
|
510
510
|
comment: %(The motivation that represents asking a question about the target resource\(s\). For example to ask for assistance with a particular section of text, or question its veracity.).freeze,
|
511
511
|
label: "questioning".freeze,
|
512
|
-
"skos:inScheme" => %(
|
512
|
+
"skos:inScheme" => %(oa:motivationScheme).freeze,
|
513
513
|
"skos:prefLabel" => %(questioning).freeze,
|
514
|
-
type: ["owl:NamedIndividual".freeze, "
|
514
|
+
type: ["owl:NamedIndividual".freeze, "oa:Motivation".freeze]
|
515
515
|
term :replying,
|
516
516
|
comment: %(The motivation that represents a reply to a previous statement, either an Annotation or another resource. For example providing the assistance requested in the above.).freeze,
|
517
517
|
label: "replying".freeze,
|
518
|
-
"skos:inScheme" => %(
|
518
|
+
"skos:inScheme" => %(oa:motivationScheme).freeze,
|
519
519
|
"skos:prefLabel" => %(replying).freeze,
|
520
|
-
type: ["owl:NamedIndividual".freeze, "
|
520
|
+
type: ["owl:NamedIndividual".freeze, "oa:Motivation".freeze]
|
521
521
|
term :tagging,
|
522
522
|
comment: %(The motivation that represents adding a Tag on the target resource\(s\). One or more of the bodies of the annotation should be typed as a oa:Tag or oa:SemanticTag.).freeze,
|
523
523
|
label: "tagging".freeze,
|
524
|
-
"skos:inScheme" => %(
|
524
|
+
"skos:inScheme" => %(oa:motivationScheme).freeze,
|
525
525
|
"skos:prefLabel" => %(tagging).freeze,
|
526
|
-
type: ["owl:NamedIndividual".freeze, "
|
526
|
+
type: ["owl:NamedIndividual".freeze, "oa:Motivation".freeze]
|
527
527
|
end
|
528
528
|
end
|