-
Notifications
You must be signed in to change notification settings - Fork 165
Expand file tree
/
Copy pathterms.html
More file actions
332 lines (325 loc) · 20.7 KB
/
terms.html
File metadata and controls
332 lines (325 loc) · 20.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
<section>
<h1>General Terminology</h1>
<p>This document uses the following terms as defined in JSON [[!RFC7159]]. Refer
to the <em>JSON Grammar</em> section in [[!RFC7159]] for formal definitions.</p>
<dl class="termlist">
<dt><dfn data-lt="arrays">array</dfn></dt><dd>
In the JSON serialization, an array structure is represented as square brackets surrounding zero
or more values. Values are separated by commas.
In the <em>abstract representation</em>, an array is an <em>ordered</em> collection of zero or more values.
While JSON-LD uses the same array representation as JSON,
the collection is <em>unordered</em> by default. While order is
preserved in regular JSON arrays, it is not in regular JSON-LD arrays
unless specifically defined (see
<cite><a href="http://www.w3.org/TR/json-ld/#sets-and-lists" class="externalDFN">Sets and Lists</a></cite> in
the JSON-LD specification [[JSON-LD]]).</dd>
<dt><dfn data-lt="JSON objects">JSON object</dfn></dt><dd>
In the JSON serialization, an object structure is represented as a pair of curly brackets surrounding zero or
more key-value pairs. A key is a <a>string</a>. A single colon comes after
each key, separating the key from the value. A single comma separates a value
from a following key. In JSON-LD the keys in an object MUST be unique.
In the <em>abstract representation</em> a <a>JSON object</a> is equivalent to a
<a href="http://www.w3.org/TR/WebIDL/#dfn-dictionary" class="externalDFN"><dfn data-lt="dictionaries">dictionary</dfn></a> (see [[WebIDL-2]]).</dd>
<dt><dfn>null</dfn></dt><dd>
The use of the <a>null</a> value within JSON-LD is used to
ignore or reset values. A key-value pair in the <code>@context</code> where
the value, or the <code>@id</code> of the value, is <a>null</a>
explicitly decouples a term's association with an IRI. A key-value pair in
the body of a <a>JSON-LD document</a> whose value is <a>null</a> has the
same meaning as if the key-value pair was not defined. If
<code>@value</code>, <code>@list</code>, or <code>@set</code> is set to
<a>null</a> in expanded form, then the entire <a>JSON
object</a> is ignored.</dd>
<dt><dfn data-lt="numbers|JSON number|JSON numbers">number</dfn></dt><dd>
In the JSON serialization, a number is similar to that used in most programming languages, except
that the octal and hexadecimal formats are not used and that leading
zeros are not allowed.
In the <em>abstract representation</em>, a <a>number</a> is equivalent to either
a <a href="http://www.w3.org/TR/WebIDL/#dfn-long" class="externalDFN">long</a>
or <a href="http://www.w3.org/TR/WebIDL/#dfn-double" class="externalDFN">double</a>, depending
on if the number has a non-zero fractional part (see [[WebIDL-2]]).</dd>
<dt><dfn>scalar</dfn></dt><dd>
A scalar is either a JSON <a>string</a>, <a>number</a>, <a>true</a>,
or <a>false</a>.</dd>
<dt><dfn data-lt="strings">string</dfn></dt><dd>
A string is a sequence of zero or more Unicode (UTF-8) characters,
wrapped in double quotes, using backslash escapes (if necessary). A
character is represented as a single character string.</dd>
<dt><dfn>true</dfn> and <dfn>false</dfn></dt><dd>
Values that are used to express one of two possible
<a href="http://www.w3.org/TR/WebIDL/#idl-boolean" class="externalDFN">boolean</a> states.</dd>
</dl>
<p>Furthermore, the following terminology is used throughout this document:</p>
<dl class="termlist">
<dt><dfn data-lt="absolute IRIs">absolute IRI</dfn></dt><dd>
An absolute <a>IRI</a> is defined in [[!RFC3987]] containing a <em>scheme</em> along with a <em>path</em> and
optional <em>query</em> and fragment segments.</dd>
<dt><dfn data-lt="base IRIs">base IRI</dfn></dt><dd>
The <a>base IRI</a> is an <a>absolute IRI</a> established in the <a>context</a>,
or is based on the <a>JSON-LD document</a> location. The <a>base IRI</a> is used to turn
<a>relative IRIs</a> into <a>absolute IRIs</a>.</dd>
<dt><dfn data-lt="blank nodes">blank node</dfn></dt><dd>
A <a>node</a> in a <a>graph</a> that is neither an
<a>IRI</a>, nor a <a>JSON-LD value</a>, nor a <a>list</a>.
A <a>node</a> does not contain a de-referenceable
identifier because it is either ephemeral in nature or does not contain information that needs to be
linked to from outside of the linked data graph. A blank node is assigned an identifier starting with
the prefix <code>_:</code>.</dd>
<dt><dfn data-lt="blank node identifiers">blank node identifier</dfn></dt><dd>
A blank node identifier is a string that can be used as an identifier for a
<a>blank node</a> within the scope of a JSON-LD document. Blank node identifiers
begin with <code>_:</code>.</dd>
<dt><dfn data-lt="compact iris">compact IRI</dfn></dt><dd>
A compact IRI is has the form of <a>prefix</a>:<em>suffix</em> and is used as a way
of expressing an <a>IRI</a> without needing to define separate <a>term</a> definitions for
each IRI contained within a common vocabulary identified by <a>prefix</a>.</dd>
<dt><dfn data-lt="contexts">context</dfn></dt><dd>
A a set of rules for interpreting a <a>JSON-LD document</a> as specified in
<cite><a href="http://www.w3.org/TR/json-ld/#the-context">The Context</a></cite> of the [[JSON-LD]] specification.</dd>
<dt><dfn>datatype IRI</dfn></dt><dd>
A <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri" class="externalDFN">datatype IRI</a>
as specified by [[RDF11-CONCEPTS]].</dd>
<dt><dfn>default graph</dfn></dt><dd>
The default graph is the only graph in a JSON-LD document which has no <a>graph name</a>.
When executing an algorithm, the graph where data should be placed
if a <a>named graph</a> is not specified.</dd>
<dt><dfn>default language</dfn></dt><dd>
The default language is set in the <a>context</a> using the <code>@language</code> key whose
value MUST be a <a>string</a> representing a [[!BCP47]] language code or <a>null</a>.</dd>
<dt><dfn>default object</dfn></dt><dd>
A <a>default object</a> is a <a>JSON object</a> that has a <code>@default</code> member.</dd>
<dt><dfn data-lt="edges">edge</dfn></dt><dd>
Every <a>edge</a> has a direction associated with it and is labeled with
an <a>IRI</a> or a <a>blank node identifier</a>. Within the JSON-LD syntax
these edge labels are called <a>properties</a>. Whenever possible, an
<a>edge</a> should be labeled with an <a>IRI</a>.</dd>
<dt><dfn data-lt="expanded term definitions">expanded term definition</dfn></dt><dd>
An expanded term definition, is a <a>term definition</a> where the value is a <a>JSON object</a>
containing one or more <a>keyword</a> <a>properties</a> to define the associated <a>absolute IRI</a>,
if this is a reverse property, the type associated with string values, and a container mapping.</dd>
<dt><dfn data-lt="JSON-LD frame|frames">Frame</dfn></dt><dd>
A <a>JSON-LD document</a>, which describes the form for outputting
<a>JSON-LD input</a> using matching and embedding rules.</dd>
<dt><dfn>frame object</dfn></dt><dd>
A frame object is a a <a>dictionary</a> element withing a <a>frame</a>
which represents a specific portion of the <a>frame</a> matching either a
<a>node object</a> or a <a>value object</a> in the input.</dd>
<dt><dfn data-lt="graph names">graph name</dfn></dt><dd>
The <a>IRI</a> identifying a <a>named graph</a>.</dd>
<dt><dfn data-lt="index maps">index map</dfn></dt><dd>
An <a>index map</a> is a <a>JSON object</a> value of a <a>term</a> defined with
<code>@container</code> set to <code>@index</code>, whose values MUST be any of the following types:
<a>string</a>,
<a>number</a>,
<a>true</a>,
<a>false</a>,
<a>null</a>,
<a>node object</a>,
<a>value object</a>,
<a>list object</a>,
<a>set object</a>, or
an <a>array</a> of zero or more of the above possibilities.
</dd>
<dt><dfn data-lt="IRIs|Internationalized Resource Identifier"><abbr title="Internationalized Resource Identifier">IRI</abbr></dfn></dt><dd>
An Internationalized Resource Identifier as described in [[!RFC3987]].</dd>
<dt><dfn data-lt="JSON-LD documents">JSON-LD document</dfn></dt><dd>
A <a>JSON-LD document</a> is a serialization of a collection of
<a>graphs</a> and comprises exactly one
<a>default graph</a> and zero or more <a>named graphs</a>.</dd>
<dt><dfn data-lt="JSON-LD values">JSON-LD value</dfn></dt><dd>
A <a data-lt="JSON-LD values">JSON-LD value</a> is a <a>string</a>, a <a>number</a>,
<a>true</a> or <a>false</a>, a <a>typed value</a>, or a
<a>language-tagged string</a>.</dd>
<dt><dfn data-lt="keywords">keyword</dfn></dt><dd>
A JSON key that is specific to JSON-LD, specified in the JSON-LD Syntax specification [[!JSON-LD]]
in the section titled <cite><a href="http://www.w3.org/TR/json-ld/#syntax-tokens-and-keywords">Syntax Tokens and Keywords</a></cite>.</dd>
<dt><dfn data-lt="language maps">language map</dfn></dt><dd>
An <a>language map</a> is a <a>JSON object</a> value of a <a>term</a> defined with
<code>@container</code> set to <code>@language</code>, whose keys MUST be <a>strings</a> representing
[[!BCP47]] language codes and the values MUST be any of the following types:
<a>null</a>,
<a>string</a>, or
an <a>array</a> of zero or more of the above possibilities.
</dd>
<dt><dfn data-lt="language-tagged strings">language-tagged string</dfn></dt><dd>
A <a>language-tagged string</a> consists of a string and a non-empty language
tag as defined by [[!BCP47]]. The language tag MUST be well-formed according to
<a href="http://tools.ietf.org/html/bcp47#section-2.2.9">section 2.2.9 Classes of Conformance</a>
of [[!BCP47]], and is normalized to lowercase.</dd>
<dt><dfn>Linked Data</dfn></dt><dd>
A set of documents, each containing a representation of a <a>linked data graph</a>.</dd>
<dt><dfn data-lt="graph|graphs">linked data graph</dfn></dt><dd>
A labeled directed graph, i.e., a set of <a>nodes</a>
connected by <a>edges</a>,
as specified in the <cite><a href="http://www.w3.org/TR/json-ld/#data-model">Data Model</a></cite>
section of the JSON-LD specification [[!JSON-LD]].
A <a>linked data graph</a> is a generalized representation of a
<cite><a href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-graph">RDF graph</a></cite>
as defined in [[!RDF-CONCEPTS]].</dd>
<dt><dfn data-lt="lists">list</dfn></dt><dd>
A <a>list</a> is an ordered sequence of <a>IRIs</a>,
<a>blank nodes</a>, and <a>JSON-LD values</a>.</dd>
<dt><dfn data-lt="list objects">list object</dfn></dt><dd>
A <a>list object</a> is a <a>JSON object</a> that has an <code>@list</code>
member.</dd>
<dt><dfn data-lt="literals">literal</dfn></dt><dd>
An <a>object</a> expressed as a value such as a string, number or in expanded form.</dd>
<dt><dfn data-lt="local contexts">local context</dfn></dt><dd>
A <a>context</a> that is specified within a <a>JSON object</a>,
specified via the <code>@context</code> <a>keyword</a>.</dd>
<dt><dfn data-lt="named graphs">named graph</dfn></dt><dd>
A <a>linked data graph</a> that is identified by an <a>IRI</a> or <a>blank node</a>
<dt><dfn data-lt="nested properties">nested property</dfn></dt><dd>
A <a>nested property</a> is a <a>property</a> which is contained within an object referenced by
a semantically meaningless <em>nesting property</em>.
</dd>
(the <a>graph name</a>) and a <a>graph</a>.</dd>
<dt><dfn data-lt="nodes">node</dfn></dt><dd>
Every <a>node</a> is an <a>IRI</a>, a <a>blank node</a>,
a <a>JSON-LD value</a>, or a <a>list</a>.
A piece of information that is represented in a <a>linked data graph</a>.</dd>
<dt><dfn data-lt="node objects">node object</dfn></dt><dd>
A <a>node object</a> represents zero or more <a>properties</a> of a
<a>node</a> in the <a>graph</a> serialized by the
<a>JSON-LD document</a>. A <a>JSON object</a> is a <a>node object</a>
if it exists outside of the JSON-LD <a>context</a> and:
<ul>
<li>it does not contain the <code>@value</code>, <code>@list</code>,
or <code>@set</code> keywords, or</li>
<li>it is not the top-most <a>JSON object</a> in the JSON-LD document consisting
of no other members than <code>@graph</code> and <code>@context</code>.</li>
</ul>
</dd>
<dt><dfn data-lt="node references">node reference</dfn></dt><dd>
A <a>node object</a> used to reference a node having only the
<code>@id</code> key.</dd>
<dt><dfn data-lt="objects">object</dfn></dt><dd>
A <a>node</a> in a <a>linked data graph</a> with at least one incoming edge.</dd>
<dt><dfn data-lt="prefixes">prefix</dfn></dt><dd>
A <a>prefix</a> is a <a>term</a> that expands to a vocabulary <a>base IRI</a>. It
is typically used along with a <em>suffix</em> to form a <a>compact IRI</a> to create an IRI
within a vocabulary.</dd>
<dt><dfn data-lt="properties">property</dfn></dt><dd>
The <a>IRI</a> label of an edge in a <a>linked data graph</a>.</dd>
<dt><dfn data-lt="quads">quad</dfn></dt><dd>
A piece of information that contains four items; a <a>subject</a>, a <a>property</a>,
an <a>object</a>, and a <a>graph name</a>.</dd>
<dt><dfn>RDF collection</dfn></dt><dd>
A <a href="http://www.w3.org/TR/rdf-schema/#ch_collectionvocab" class="externalDFN">collection</a>
as specified by [[RDF-SCHEMA]].</dd>
<dt><dfn>RDF dataset</dfn></dt><dd>
A <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-dataset" class="externalDFN">dataset</a>
as specified by [[RDF11-CONCEPTS]] representing a collection of
<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-graph">RDF graphs</a>.</dd>
<dt><dfn data-lt="RDF literals">RDF literal</dfn></dt><dd>
A <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal" class="externalDFN">literal</a>
as specified by [[RDF11-CONCEPTS]].</dd>
<dt><dfn>RDF object</dfn></dt><dd>
An <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-object" class="externalDFN">object</a>
as specified by [[RDF11-CONCEPTS]].</dd>
<dt><dfn data-lt="predicate|RDF predicates">RDF predicate</dfn></dt><dd>
A <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-predicate" class="externalDFN">predicate</a>
as specified by [[RDF11-CONCEPTS]].</dd>
<dt><dfn>RDF resource</dfn></dt><dd>
A <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-resource" class="externalDFN">resource</a>
as specified by [[RDF11-CONCEPTS]].</dd>
<dt><dfn>RDF subject</dfn></dt><dd>
A <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-subject" class="externalDFN">subject</a>
as specified by [[RDF11-CONCEPTS]].</dd>
<dt><dfn data-lt="triple|triples|RDF triples">RDF triple</dfn></dt><dd>
A <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple" class="externalDFN">triple</a>
as specified by [[RDF11-CONCEPTS]].</dd>
<dt><dfn data-lt="relative IRIs">relative IRI</dfn></dt><dd>
A relative IRI is an <a>IRI</a> that is relative to some other <a>absolute IRI</a>.</dd>
<dt><dfn>set object</dfn></dt><dd>
A <a>set object</a> is a <a>JSON object</a> that has an <code>@set</code>
member.</dd>
<dt><dfn data-lt="subjects">subject</dfn></dt><dd>
A <a>node</a> in a <a>linked data graph</a> with at least one outgoing edge, related to an <a>object</a> node through a <a>property</a>.</dd>
<dt><dfn data-lt="terms">term</dfn></dt><dd>
A <a>term</a> is a short word defined in a <a>context</a> that MAY be expanded to an <a>IRI</a>
</dd>
<dt><dfn data-lt="term definitions">term definition</dfn></dt><dd>
A term definition is an entry in a <a>context</a>, where the key defines a <a>term</a> which may be used within
a <a>JSON object</a> as a <a>property</a>, type, or elsewhere that a string is interpreted as a vocabulary item.
Its value is either a string, expanding to an absolute IRI, or an <a>expanded term definition</a>.
</dd>
<dt><dfn>typed literal</dfn></dt><dd>
A <a>typed literal</a> is a <a>literal</a> with an associated <a>IRI</a>
which indicates the literal's datatype. See <cite><a
href="http://www.w3.org/TR/rdf11-concepts/#dfn-typed-literal">languaged-tagged literal</a></cite> in [[!RDF-CONCEPTS]].</dd>
<dt><dfn data-lt="typed values">typed value</dfn></dt><dd>
A <a>typed value</a> consists of a value, which is a <a>string</a>, and a type,
which is an <a>IRI</a>.</dd>
<dt><dfn data-lt="value objects">value object</dfn></dt><dd>
A <a>value object</a> is a <a>JSON object</a> that has an <code>@value</code>
member.</dd>
<dt><dfn>vocabulary mapping</dfn></dt><dd>
The vocabulary mapping is set in the <a>context</a> using the <code>@vocab</code> key whose
value MUST be an <a>absolute IRI</a> <a>null</a>.</dd>
</dl>
</section>
<section>
<h1>Algorithm Terms</h1>
<p>The Following terms are used within specific algorithms.</p>
<dl class="termlist">
<dt><dfn>active context</dfn></dt><dd>
A <a>context</a> that is used to resolve <a>terms</a> while the processing
algorithm is running.</dd>
<dt><dfn>active graph</dfn></dt><dd>
The name of the currently active graph that the processor should use when
processing.</dd>
<dt><dfn>active object</dfn></dt><dd>
The currently active object that the processor should use when
processing.</dd>
<dt><dfn>active property</dfn></dt><dd>
The currently active <a>property</a> or <a>keyword</a> that the processor
should use when processing. The <a>active property</a> is represented in
the original lexical form, which is used for finding coercion mappings in
the <a>active context</a>.</dd>
<dt><dfn>active subject</dfn></dt><dd>
The currently active subject that the processor should use when
processing.</dd>
<dt><dfn>explicit inclusion flag</dfn></dt><dd>
A flag specifying that for <a>properties</a> to be included in the output, they
must be explicitly declared in the matching <a>frame</a>.</dd>
<dt><dfn>framing state</dfn></dt><dd>
A <a>dictionary</a> containing values for the
<a>object embed flag</a>, the
<a>require all flag</a>, the
<a>explicit inclusion flag</a> and the
<a>omit default flag</a>.</dd>
<dt><dfn>input frame</dfn></dt><dd>
The initial <a>Frame</a> provided to the framing algorithm.</dd>
<dt><dfn>JSON-LD input</dfn></dt><dd>
The JSON-LD data structure that is provided as input to the algorithm.</dd>
<dt><dfn>JSON-LD output</dfn></dt><dd>
The JSON-LD data structure that is produced as output by the algorithm.</dd>
<dt><dfn data-lt="JSON-LD Processors|Processors">JSON-LD Processor</dfn></dt><dd>
A <a>JSON-LD Processor</a> is a system which can perform the algorithms defined in [[JSON-LD-API]].</dd>
<dt><dfn>map of flattened subjects</dfn></dt><dd>
A map of subjects that is the result of the
<a href="https://www.w3.org/TR/json-ld-api/#node-map-generation">Node Map Generation algorithm</a>.</dd>
<dt><dfn>object embed flag</dfn></dt><dd>
A flag specifying that <a>node objects</a> should be directly embedded in the output,
instead of being referred to by their <a>IRI</a>.</dd>
<dt><dfn>omit default flag</dfn></dt><dd>
A flag specifying that properties that are missing from the
<a>JSON-LD input</a>, but present in the <a>input frame</a>
should be omitted from the output.</dd>
<dt><dfn>processor state</dfn></dt><dd>
The <a>processor state</a>, which includes the <a>active
context</a>, <a>active subject</a>, and
<a>active property</a>. The <a>processor state</a> is managed
as a stack with elements from the previous <a>processor state</a>
copied into a new <a>processor state</a> when entering a new
<a>JSON object</a>.</dd>
<dt><dfn data-lt="promises">promise</dfn></dt><dd>
A <em>promise</em> is an object that represents the eventual result of a single asynchronous operation.
Promises are defined in [[!promises-guide]].</dd>
<dt><dfn>require all flag</dfn></dt><dd>
A flag specifying that all properties present in the <a>input frame</a>
MUST either have a default value or be present in the <a>JSON-LD
input</a> for the frame to match.</dd>
</dl>
</section> <!-- end of Algorithm Terms section -->