Skip to content

Commit d0868e9

Browse files
committed
Replace 'blank node label' by 'blank node identifier'
1 parent 25c454b commit d0868e9

File tree

1 file changed

+79
-52
lines changed

1 file changed

+79
-52
lines changed

spec/index.html

Lines changed: 79 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -799,12 +799,15 @@ <h4>Matching Literals with Arbitrary Datatypes</h4>
799799
</section>
800800
</section>
801801
<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
806809
"[[[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>
808811
<div class="exampleGroup">
809812
Data:
810813
<pre class="data nohighlight">
@@ -840,9 +843,12 @@ <h3>Blank Node Labels in Query Results</h3>
840843
</table>
841844
</div>
842845
</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>
846852
<div class="result">
847853
<div id="table57"></div>
848854
<table class="resultTable">
@@ -863,12 +869,17 @@ <h3>Blank Node Labels in Query Results</h3>
863869
</table>
864870
</div>
865871
</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>
872883
</section>
873884
<section id="CreatingValuesWithExpressions">
874885
<h3>Creating Values with Expressions</h3>
@@ -1208,32 +1219,41 @@ <h4>Syntax for Query Variables</h4>
12081219
</section>
12091220
<section id="QSynBlankNodes">
12101221
<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>
12121224
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
12221241
created blank node can also be used in further triple patterns in the subject and object
1223-
positions.</p>
1242+
positions.
1243+
</p>
12241244
<p>The following two forms</p>
12251245
<pre class="query nohighlight">
12261246
[ :p "v" ] .
12271247
</pre>
12281248
<pre class="query nohighlight">
12291249
[] :p "v" .
12301250
</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
12321252
writing:</p>
12331253
<pre class="query nohighlight">
12341254
_:b57 :p "v" .
12351255
</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
12371257
patterns. For example, as a subject:</p>
12381258
<pre class="query nohighlight">[ :p "v" ] :q "w" .
12391259
</pre>
@@ -1258,7 +1278,7 @@ <h4>Syntax for Blank Nodes</h4>
12581278
foaf:mbox &lt;mailto:[email protected]&gt; ]
12591279
</pre>
12601280
<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>
12621282
<pre class="query nohighlight">
12631283
_:b18 foaf:name ?name .
12641284
_:b18 foaf:mbox &lt;mailto:[email protected]&gt; .
@@ -1439,11 +1459,12 @@ <h3>Basic Graph Patterns</h3>
14391459
in terms of combining the results from matching basic graph patterns.</p>
14401460
<p>A sequence of triple patterns, with optional filters, comprises a single basic graph
14411461
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>,&nbsp; labels for blank nodes are
1445-
scoped to the basic graph pattern.&nbsp; 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>
14471468
</section>
14481469
<section id="bgpExtend">
14491470
<h4>Extending Basic Graph Pattern Matching</h4>
@@ -3143,9 +3164,11 @@ <h3>Examples of RDF Datasets</h3>
31433164
<p>RDF data can be combined by the <a data-cite="RDF12-SEMANTICS#dfn-merge">RDF merge</a>
31443165
[[RDF12-SEMANTICS]] of graphs. One possible arrangement of graphs in an RDF Dataset is to have the
31453166
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>
31493172
<div class="exampleGroup">
31503173
<pre class="data nohighlight">
31513174
# <b>Default graph</b>
@@ -3369,7 +3392,7 @@ <h3>Querying the Dataset</h3>
33693392
rdf:type foaf:PersonalProfileDocument .
33703393
</pre>
33713394
</div>
3372-
<section id="accessByLabel">
3395+
<section id="accessByIdentifier">
33733396
<h4>Accessing Graph Names</h4>
33743397
<p>The query below matches the graph pattern against each of the named graphs in the
33753398
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>
34133436
</div>
34143437
</div>
34153438
</section>
3416-
<section id="restrictByLabel">
3439+
<section id="restrictByIdentifier">
34173440
<h4>Restricting by Graph IRI</h4>
34183441
<p>The query can restrict the matching applied to a specific graph by supplying the graph
34193442
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>
42344257
<section id="templatesWithBNodes">
42354258
<h4>Templates with Blank Nodes</h4>
42364259
<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
42384261
template for each solution, while blank nodes from query solutions
42394262
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
42414264
is replaced by the same blank node which is created for each
42424265
query solution, and there will be different blank nodes for triples
42434266
generated by different query solutions.
@@ -4283,15 +4306,15 @@ <h4>Templates with Blank Nodes</h4>
42834306
</div>
42844307
</div>
42854308
<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
42874310
will be replaced by a different blank node when the template is applied
42884311
to each of the two query solutions.
42894312
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
42914314
results graph.
42924315
</p>
42934316
<p>
4294-
The blank nodes in the query solutions, shown with labels
4317+
The blank nodes in the query solutions, shown with identifiers
42954318
<code>_:a</code> and <code>_:b</code>, originate from the underlying
42964319
RDF dataset and will not be altered.
42974320
</p>
@@ -9992,27 +10015,31 @@ <h3>IRI References</h3>
999210015
<span class="token">PREFIX</span>.</p>
999310016
</section>
999410017
<section id="grammarBNodes">
9995-
<h3>Blank Nodes and Blank Node Labels</h3>
10018+
<h3>Blank Nodes and Blank Node Identifiers</h3>
999610019
<p>Blank nodes can not be used in:</p>
999710020
<ul>
999810021
<li><code><a href="#rDeleteWhere">DELETE WHERE</a></code></li>
999910022
<li><code><a href="#rDeleteData">DELETE DATA</a></code></li>
1000010023
<li>a <code><a href="#rDeleteClause">DeleteClause</a></code></li>
1000110024
</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
1000510032
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>
1000810035
<ul>
10009-
<li>two basic graph patterns in a SPARQL Query</li>
10036+
<li>two separate basic graph patterns in a SPARQL Query</li>
1001010037
<li>two <code><a href="#rModify">WHERE</a></code> clauses within a single SPARQL Update
1001110038
request</li>
1001210039
<li>two <code><a href="#rInsertData">INSERT DATA</a></code> operations within a single
1001310040
SPARQL Update request</li>
1001410041
</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
1001610043
<a href="#rQuadPattern">QuadPattern</a> clauses in a [[[SPARQL11-UPDATE]]] request.</p>
1001710044
</section>
1001810045
<section id="grammarEscapes">
@@ -10110,7 +10137,7 @@ <h3>Grammar</h3>
1011010137
the <code><a href="#rDeleteClause">DeleteClause</a></code> for
1011110138
<code>DELETE</code>,
1011210139
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>
1011410141
<li>The number of variables in the variable list of <code>VALUES</code> block
1011510142
must be the same as the number of each list of associated values in the <code>DataBlock</code>.</li>
1011610143
<li>Variables introduced by <code>AS</code> in a <code>SELECT</code> clause

0 commit comments

Comments
 (0)