@@ -799,12 +799,15 @@ <h4>Matching Literals with Arbitrary Datatypes</h4>
799
799
</section>
800
800
</section>
801
801
<section id="BlankNodesInResults">
802
- <h3>Blank Node Labels in Query Results</h3>
803
- <p>Query results can contain blank nodes. Blank nodes in the example result sets in this
804
- document are written in the form "_:" followed by a blank node label.</p>
805
- <p>Blank node labels are scoped to a result set (see "[[[RDF-SPARQL-XMLRES]]]" and
802
+ <h3>Blank Node Identifiers in Query Results</h3>
803
+ <p>
804
+ Query results can contain blank nodes. Blank nodes in the example
805
+ result sets in this document are written in the form "_:" followed by a
806
+ <a data-cite="RDF12-CONCEPTS#dfn-blank-node-identifier">blank node identifier</a>.
807
+ </p>
808
+ <p>Blank node identifiers are scoped to a result set (see "[[[RDF-SPARQL-XMLRES]]]" and
806
809
"[[[SPARQL11-RESULTS-JSON]]]") or, for the <code>CONSTRUCT</code> query form, the result
807
- graph. Use of the same label within a result set indicates the same blank node.</p>
810
+ graph. Use of the same identifier within a result set indicates the same blank node.</p>
808
811
<div class="exampleGroup">
809
812
Data:
810
813
<pre class="data nohighlight">
@@ -840,9 +843,12 @@ <h3>Blank Node Labels in Query Results</h3>
840
843
</table>
841
844
</div>
842
845
</div>
843
- <p>The results above could equally be given with different blank node labels because the
844
- labels in the results only indicate whether RDF terms in the solutions are the same or
845
- different.</p>
846
+ <p>
847
+ The results above could equally be given with different blank node
848
+ identifiers because the blank node identifiers in the results only
849
+ indicate whether RDF terms in the solutions are the same or
850
+ different.
851
+ </p>
846
852
<div class="result">
847
853
<div id="table57"></div>
848
854
<table class="resultTable">
@@ -863,12 +869,17 @@ <h3>Blank Node Labels in Query Results</h3>
863
869
</table>
864
870
</div>
865
871
</div>
866
- <p>These two results have the same information: the blank nodes used to match the query are
867
- different in the two solutions. There need not be any relation between a label
868
- <code>_:a</code> in the result set and a blank node in the data graph with the same
869
- label.</p>
870
- <p>An application writer should not expect blank node labels in a query to refer to a
871
- particular blank node in the data.</p>
872
+ <p>
873
+ These two results have the same information: the blank nodes used to
874
+ match the query are different in the two solutions. There need not be
875
+ any relation between a blank node identifier
876
+ <code>_:a</code> in the result set and a blank node identifier
877
+ used in the syntax for the data.
878
+ </p>
879
+ <p>
880
+ An application writer should not expect blank node identifiers in a
881
+ query to refer to a particular blank node in the data.
882
+ </p>
872
883
</section>
873
884
<section id="CreatingValuesWithExpressions">
874
885
<h3>Creating Values with Expressions</h3>
@@ -1208,32 +1219,41 @@ <h4>Syntax for Query Variables</h4>
1208
1219
</section>
1209
1220
<section id="QSynBlankNodes">
1210
1221
<h4>Syntax for Blank Nodes</h4>
1211
- <p><a data-cite="RDF12-CONCEPTS#dfn-blank-node">Blank nodes</a>
1222
+ <p>
1223
+ <a data-cite="RDF12-CONCEPTS#dfn-blank-node">Blank nodes</a>
1212
1224
in graph patterns act as variables, not as references to specific
1213
- blank nodes in the data being queried.</p>
1214
- <p>Blank nodes are indicated by either the label form, such as "<code>_:abc</code>", or the
1215
- abbreviated form "<code>[]</code>". A blank node that is used in only one place in the
1216
- query syntax can be indicated with <code>[]</code>. A unique blank node will be used to
1217
- form the triple pattern. Blank node labels are written as "<code>_:abc</code>" for a blank
1218
- node with label "<code>abc</code>". The same blank node label cannot be used in two
1219
- different basic graph patterns in the same query.</p>
1220
- <p>The <code>[:p :v]</code> construct can be used in triple patterns. It creates a blank
1221
- node label which is used as the subject of all contained predicate-object pairs. The
1225
+ blank nodes in the data being queried.
1226
+ </p>
1227
+ <p>
1228
+ Blank nodes are indicated by either the identifier form, such as
1229
+ "<code>_:abc</code>", or the abbreviation form "<code>[]</code>". A
1230
+ blank node that is used in only one place in the query syntax can be
1231
+ indicated with <code>[]</code>. A unique blank node will be used to
1232
+ form the triple pattern. Blank node identifiers are written as
1233
+ "<code>_:abc</code>" for a blank node with identifier
1234
+ "<code>abc</code>".
1235
+ The same blank node identifier cannot be used in two
1236
+ different basic graph patterns in the same query.
1237
+ </p>
1238
+ <p>
1239
+ The <code>[:p :v]</code> construct can be used in triple patterns. It creates a blank
1240
+ node which is used as the subject of contained predicate-object pairs. The
1222
1241
created blank node can also be used in further triple patterns in the subject and object
1223
- positions.</p>
1242
+ positions.
1243
+ </p>
1224
1244
<p>The following two forms</p>
1225
1245
<pre class="query nohighlight">
1226
1246
[ :p "v" ] .
1227
1247
</pre>
1228
1248
<pre class="query nohighlight">
1229
1249
[] :p "v" .
1230
1250
</pre>
1231
- <p>allocate a unique blank node label (here "<code>b57</code>") and are equivalent to
1251
+ <p>allocate a unique blank node identifier (here "<code>b57</code>") and are equivalent to
1232
1252
writing:</p>
1233
1253
<pre class="query nohighlight">
1234
1254
_:b57 :p "v" .
1235
1255
</pre>
1236
- <p>This allocated blank node label can be used as the subject or object of further triple
1256
+ <p>This allocated blank node identifier can be used as the subject or object of further triple
1237
1257
patterns. For example, as a subject:</p>
1238
1258
<pre class="query nohighlight">[ :p "v" ] :q "w" .
1239
1259
</pre>
@@ -1258,7 +1278,7 @@ <h4>Syntax for Blank Nodes</h4>
1258
1278
foaf:mbox <mailto:
[email protected] > ]
1259
1279
</pre>
1260
1280
<p>This is the same as writing the following basic graph pattern for some uniquely
1261
- allocated blank node label , "<code>b18</code>":</p>
1281
+ allocated blank node identifier , "<code>b18</code>":</p>
1262
1282
<pre class="query nohighlight">
1263
1283
_:b18 foaf:name ?name .
1264
1284
_:b18 foaf:mbox <mailto:
[email protected] > .
@@ -1439,11 +1459,12 @@ <h3>Basic Graph Patterns</h3>
1439
1459
in terms of combining the results from matching basic graph patterns.</p>
1440
1460
<p>A sequence of triple patterns, with optional filters, comprises a single basic graph
1441
1461
pattern. Any other graph pattern terminates a basic graph pattern.</p>
1442
- <section id="bgpBNodeLabels">
1443
- <h4>Blank Node Labels</h4>
1444
- <p>When using blank nodes of the form <code>_:abc</code>, labels for blank nodes are
1445
- scoped to the basic graph pattern. A label can be used in only a single basic graph
1446
- pattern in any query.</p>
1462
+ <section id="bgpBNodeIdentifiers">
1463
+ <h4>Blank Node Identifiers</h4>
1464
+ <p>When using blank nodes of the form <code>_:abc</code>, identifiers for blank nodes are
1465
+ scoped to the basic graph pattern. A
1466
+ <a data-cite="RDF12-CONCEPTS#dfn-blank-node-identifier">blank node identifier</a>
1467
+ can only be used in one basic graph pattern in any query.</p>
1447
1468
</section>
1448
1469
<section id="bgpExtend">
1449
1470
<h4>Extending Basic Graph Pattern Matching</h4>
@@ -3143,9 +3164,11 @@ <h3>Examples of RDF Datasets</h3>
3143
3164
<p>RDF data can be combined by the <a data-cite="RDF12-SEMANTICS#dfn-merge">RDF merge</a>
3144
3165
[[RDF12-SEMANTICS]] of graphs. One possible arrangement of graphs in an RDF Dataset is to have the
3145
3166
default graph be the RDF merge of some or all of the information in the named graphs.</p>
3146
- <p>In this next example, the named graphs contain the same triples as before. The RDF dataset
3147
- includes an RDF merge of the named graphs in the default graph, re-labeling blank nodes to
3148
- keep them distinct.</p>
3167
+ <p>
3168
+ In this next example, the named graphs contain the same triples as before. The RDF dataset
3169
+ includes an <a data-cite="RDF12-SEMANTICS#dfn-merge">RDF merge</a>
3170
+ of the named graphs in the default graph, which keeps blank nodes distinct.
3171
+ </p>
3149
3172
<div class="exampleGroup">
3150
3173
<pre class="data nohighlight">
3151
3174
# <b>Default graph</b>
@@ -3369,7 +3392,7 @@ <h3>Querying the Dataset</h3>
3369
3392
rdf:type foaf:PersonalProfileDocument .
3370
3393
</pre>
3371
3394
</div>
3372
- <section id="accessByLabel ">
3395
+ <section id="accessByIdentifier ">
3373
3396
<h4>Accessing Graph Names</h4>
3374
3397
<p>The query below matches the graph pattern against each of the named graphs in the
3375
3398
dataset and forms solutions which have the <code>src</code> variable bound to IRIs of the
@@ -3413,7 +3436,7 @@ <h4>Accessing Graph Names</h4>
3413
3436
</div>
3414
3437
</div>
3415
3438
</section>
3416
- <section id="restrictByLabel ">
3439
+ <section id="restrictByIdentifier ">
3417
3440
<h4>Restricting by Graph IRI</h4>
3418
3441
<p>The query can restrict the matching applied to a specific graph by supplying the graph
3419
3442
IRI. This sets the active graph to the graph named by the IRI. This query looks for Bob's
@@ -4234,10 +4257,10 @@ <h3>CONSTRUCT</h3>
4234
4257
<section id="templatesWithBNodes">
4235
4258
<h4>Templates with Blank Nodes</h4>
4236
4259
<p>A template can create an RDF graph containing blank nodes.
4237
- The blank node labels inside the template are scoped to the
4260
+ The blank node identifiers inside the template are scoped to the
4238
4261
template for each solution, while blank nodes from query solutions
4239
4262
are not scoped.
4240
- If the same label occurs twice in a template, every occurrence
4263
+ If the same identifier occurs twice in a template, every occurrence
4241
4264
is replaced by the same blank node which is created for each
4242
4265
query solution, and there will be different blank nodes for triples
4243
4266
generated by different query solutions.
@@ -4283,15 +4306,15 @@ <h4>Templates with Blank Nodes</h4>
4283
4306
</div>
4284
4307
</div>
4285
4308
<p>
4286
- The blank node with label <code>_:v</code> in the template
4309
+ The blank node with identifier <code>_:v</code> in the template
4287
4310
will be replaced by a different blank node when the template is applied
4288
4311
to each of the two query solutions.
4289
4312
In this example, this will cause the template to generate blank nodes
4290
- with labels <code>_:v1</code> and <code>_:v2</code> in the
4313
+ with identifier <code>_:v1</code> and <code>_:v2</code> in the
4291
4314
results graph.
4292
4315
</p>
4293
4316
<p>
4294
- The blank nodes in the query solutions, shown with labels
4317
+ The blank nodes in the query solutions, shown with identifiers
4295
4318
<code>_:a</code> and <code>_:b</code>, originate from the underlying
4296
4319
RDF dataset and will not be altered.
4297
4320
</p>
@@ -9992,27 +10015,31 @@ <h3>IRI References</h3>
9992
10015
<span class="token">PREFIX</span>.</p>
9993
10016
</section>
9994
10017
<section id="grammarBNodes">
9995
- <h3>Blank Nodes and Blank Node Labels </h3>
10018
+ <h3>Blank Nodes and Blank Node Identifiers </h3>
9996
10019
<p>Blank nodes can not be used in:</p>
9997
10020
<ul>
9998
10021
<li><code><a href="#rDeleteWhere">DELETE WHERE</a></code></li>
9999
10022
<li><code><a href="#rDeleteData">DELETE DATA</a></code></li>
10000
10023
<li>a <code><a href="#rDeleteClause">DeleteClause</a></code></li>
10001
10024
</ul>
10002
- <p>in a <a data-cite="SPARQL11-UPDATE#terminology">SPARQL Update request</a>.</p>
10003
- <p>Blank node labels are scoped to the <a>SPARQL Request String</a> in which they occur.
10004
- Different uses of the same blank node label in a request
10025
+ <p>in a <a data-cite="SPARQL11-UPDATE#terminology">SPARQL Update
10026
+ request</a>.
10027
+ </p>
10028
+ <p>
10029
+ <a data-cite="RDF12-CONCEPTS#dfn-blank-node-identifier">Blank node identifiers</a>
10030
+ are scoped to the <a>SPARQL Request String</a> in which they occur.
10031
+ Different uses of the same blank node identifier in a request
10005
10032
string refer to the same blank node. Fresh blank nodes are generated for each request;
10006
- blank nodes can not be referenced by label across requests.</p>
10007
- <p>The same blank node label can not be used in:</p>
10033
+ blank nodes can not be referenced by identifier across requests.</p>
10034
+ <p>The same blank node identifier can not be used in:</p>
10008
10035
<ul>
10009
- <li>two basic graph patterns in a SPARQL Query</li>
10036
+ <li>two separate basic graph patterns in a SPARQL Query</li>
10010
10037
<li>two <code><a href="#rModify">WHERE</a></code> clauses within a single SPARQL Update
10011
10038
request</li>
10012
10039
<li>two <code><a href="#rInsertData">INSERT DATA</a></code> operations within a single
10013
10040
SPARQL Update request</li>
10014
10041
</ul>
10015
- <p>Note that the same blank node label can occur in different
10042
+ <p>Note that the same blank node identifier can occur in different
10016
10043
<a href="#rQuadPattern">QuadPattern</a> clauses in a [[[SPARQL11-UPDATE]]] request.</p>
10017
10044
</section>
10018
10045
<section id="grammarEscapes">
@@ -10110,7 +10137,7 @@ <h3>Grammar</h3>
10110
10137
the <code><a href="#rDeleteClause">DeleteClause</a></code> for
10111
10138
<code>DELETE</code>,
10112
10139
nor in <code><a href="#rDeleteData">DELETE DATA</a></code>.</li>
10113
- <li>Rules for limiting the use of blank node labels are given in <a href="#grammarBNodes">section 19.6</a>.</li>
10140
+ <li>Rules for limiting the use of blank node identifiers are given in <a href="#grammarBNodes">section 19.6</a>.</li>
10114
10141
<li>The number of variables in the variable list of <code>VALUES</code> block
10115
10142
must be the same as the number of each list of associated values in the <code>DataBlock</code>.</li>
10116
10143
<li>Variables introduced by <code>AS</code> in a <code>SELECT</code> clause
0 commit comments