243
243
span.cancast:hover { background-color: #ffa;
244
244
color: black; }
245
245
246
- .SPARQLoperator { background-color: #FFFFbf; /* yellow */
247
- }
246
+ .SPARQLoperator { font-weight: 600; } }
248
247
249
248
/* ReSpec */
250
249
dfn { font-style: normal ; }
@@ -4665,6 +4664,7 @@ <h3>Operand Data Types</h3>
4665
4664
<p>SPARQL language extensions may treat additional types as being derived from XML schema
4666
4665
datatypes.</p>
4667
4666
</section>
4667
+
4668
4668
<section id="evaluation">
4669
4669
<h3>Filter Evaluation</h3>
4670
4670
<p>SPARQL provides a subset of the functions and operators defined by
@@ -4826,6 +4826,7 @@ <h4>Effective Boolean Value (EBV)</h4>
4826
4826
with a datatype of <code>xsd:boolean</code> and a lexical value of "false".</p>
4827
4827
</section>
4828
4828
</section>
4829
+
4829
4830
<section id="OperatorMapping">
4830
4831
<h3>Operator Mapping</h3>
4831
4832
<p>The SPARQL grammar identifies a set of operators
@@ -4925,7 +4926,7 @@ <h3>Operator Mapping</h3>
4925
4926
<th colspan="5" class="subHeading" scope="col">Logical Connectives</th>
4926
4927
</tr>
4927
4928
<tr>
4928
- <th>
4929
+ <th><span id="logical-or-operator"/>
4929
4930
<a href="#rConditionalOrExpression" title="ConditionalOrExpression">A <span class="FAOTtoken">||</span> B</a>
4930
4931
</th>
4931
4932
<td>
@@ -4934,7 +4935,7 @@ <h3>Operator Mapping</h3>
4934
4935
<td>
4935
4936
xsd:boolean <a href="#ebv-arg">(EBV)</a>
4936
4937
</td>
4937
- <td class="sparqlOp">
4938
+ <td class="sparqlOp"><span id="logical-and-operator"/>
4938
4939
<a href="#func-logical-or" class="SPARQLoperator">logical-or</a>(A, B)
4939
4940
</td>
4940
4941
<td>xsd:boolean</td>
@@ -5275,32 +5276,91 @@ <h3>Operator Mapping</h3>
5275
5276
<th colspan="5" class="subHeading" scope="col">SPARQL Tests</th>
5276
5277
</tr>
5277
5278
<tr>
5278
- <th>
5279
- <a href="#rRelationalExpression" title="RelationalExpression">A <span class="FAOTtoken">=</span> B</a>
5280
- </th>
5279
+ <th><a href="#rRelationalExpression" title="RelationalExpression">A <span class="FAOTtoken">=</span> B</a></th>
5280
+ <td><span class="type RDFterm"><a data-cite="RDF12-CONCEPTS#dfn-iri">IRI</a></span></td>
5281
+ <td><span class="type RDFterm"><a data-cite="RDF12-CONCEPTS#dfn-iri">IRI</a></span></td>
5282
+ <td>
5283
+ <a href="#func-sameTerm">sameTerm</a>(A, B)
5284
+ </td>
5285
+ <td>xsd:boolean</td>
5286
+ </tr>
5287
+ <tr>
5288
+ <th><a href="#rRelationalExpression" title="RelationalExpression">A <span class="FAOTtoken">=</span> B</a></th>
5289
+ <td><span class="type RDFterm"><a data-cite="RDF12-CONCEPTS#dfn-blank-node">Blank Node</a></span></td>
5290
+ <td><span class="type RDFterm"><a data-cite="RDF12-CONCEPTS#dfn-blank-node">Blank Node</a></span></td>
5291
+ <td>
5292
+ <a href="#func-sameTerm">sameTerm</a>(A, B)
5293
+ </td>
5294
+ <td>xsd:boolean</td>
5295
+ </tr>
5296
+ <tr>
5297
+ <th><a href="#rRelationalExpression" title="RelationalExpression">A <span class="FAOTtoken">=</span> B</a></th>
5298
+ <td><span class="type RDFterm"><a data-cite="RDF12-CONCEPTS#dfn-triple-term">Triple Term</a></span></td>
5299
+ <td><span class="type RDFterm"><a data-cite="RDF12-CONCEPTS#dfn-triple-term">Triple Term</a></span></td>
5300
+ <td>
5301
+ ( A.subject = B.subject ) <a href="#logical-and-operator" class="SPARQLoperator">&&</a><br/>
5302
+ ( A.predicate = B.predicate ) <a href="#logical-and-operator" class="SPARQLoperator">&&</a><br/>
5303
+ ( A.object = B.object )
5304
+ </td>
5305
+ <td>xsd:boolean</td>
5306
+ </tr>
5307
+ <tr>
5308
+ <th><a href="#rRelationalExpression" title="RelationalExpression">A <span class="FAOTtoken">!=</span> B</a></th>
5309
+ <td><span class="type RDFterm"><a data-cite="RDF12-CONCEPTS#dfn-iri">IRI</a></span></td>
5310
+ <td><span class="type RDFterm"><a data-cite="RDF12-CONCEPTS#dfn-iri">IRI</a></span></td>
5311
+ <td><a data-cite="XPATH-FUNCTIONS-31#func-not">fn:not</a>(<a href="#func-sameTerm">fn:sameTerm</a>(A, B))</td>
5312
+ <td>xsd:boolean</td>
5313
+ </tr>
5314
+ <tr>
5315
+ <th><a href="#rRelationalExpression" title="RelationalExpression">A <span class="FAOTtoken">!=</span> B</a></th>
5316
+ <td><span class="type RDFterm"><a data-cite="RDF12-CONCEPTS#dfn-blank-node">Blank Node</a></span></td>
5317
+ <td><span class="type RDFterm"><a data-cite="RDF12-CONCEPTS#dfn-blank-node">Blank Node</a></span></td>
5318
+ <td>
5319
+ <a data-cite="XPATH-FUNCTIONS-31#func-not">fn:not</a>(<a href="#func-sameTerm">sameTerm</a>(A, B)
5320
+ </td>
5321
+ <td>xsd:boolean</td>
5322
+ </tr>
5323
+ <tr>
5324
+ <th><a href="#rRelationalExpression" title="RelationalExpression">A <span class="FAOTtoken">!=</span> B</a></th>
5325
+ <td><span class="type RDFterm"><a data-cite="RDF12-CONCEPTS#dfn-triple-term">Triple Term</a></span></td>
5326
+ <td><span class="type RDFterm"><a data-cite="RDF12-CONCEPTS#dfn-triple-term">Triple Term</a></span></td>
5327
+ <td>
5328
+ ( A.subject != B.subject ) <a href="#logical-or-operator" class="SPARQLoperator">||</a><br/>
5329
+ ( A.predicate != B.predicate ) <a href="#logical-or-operator" class="SPARQLoperator">||</a><br/>
5330
+ ( A.object != B.object )
5331
+ </td>
5332
+ <td>xsd:boolean</td>
5333
+ </tr>
5334
+ <tr>
5335
+ <th><a href="#rRelationalExpression" title="RelationalExpression">A <span class="FAOTtoken">=</span> B</a></th>
5281
5336
<td><span class="type RDFterm">RDF term</span></td>
5282
5337
<td><span class="type RDFterm">RDF term</span></td>
5283
5338
<td class="xpathOp">
5284
- <a href="#func-sameValue" class="SPARQLoperator" >sameValue</a>(A, B)
5285
- </td>
5339
+ <a href="#func-sameValue">sameValue</a>(A, B)
5340
+ </td>
5286
5341
<td>xsd:boolean</td>
5287
5342
</tr>
5288
5343
<tr>
5289
- <th>
5290
- <a href="#rRelationalExpression" title="RelationalExpression">A <span class="FAOTtoken">!=</span> B</a>
5291
- </th>
5344
+ <th><a href="#rRelationalExpression" title="RelationalExpression">A <span class="FAOTtoken">!=</span> B</a></th>
5292
5345
<td><span class="type RDFterm">RDF term</span></td>
5293
5346
<td><span class="type RDFterm">RDF term</span></td>
5294
5347
<td class="xpathOp">
5295
- <a data-cite="XPATH-FUNCTIONS-31#func-not">fn:not</a>(<a href="#func-sameValue" class="SPARQLoperator" >sameValue</a>(A, B))
5348
+ <a data-cite="XPATH-FUNCTIONS-31#func-not">fn:not</a>(<a href="#func-sameValue">sameValue</a>(A, B))
5296
5349
</td>
5297
5350
<td>xsd:boolean</td>
5298
5351
</tr>
5299
5352
</tbody>
5300
5353
</table>
5301
- <div id="ebv-arg"></div>xsd:boolean function arguments marked with "(EBV)" are
5354
+ <p>
5355
+ <span id="ebv-arg"></span>xsd:boolean function arguments marked with "(EBV)" are
5302
5356
coerced to xsd:boolean by evaluating the <a href="#ebv">effective boolean value of that
5303
5357
argument.</a>
5358
+ </p>
5359
+ <p>
5360
+ Operators <span class="SPARQLoperator">=</span> and <span class="SPARQLoperator">!=</span> applied to
5361
+ <a data-cite="RDF12-CONCEPTS#dfn-triple-term">triple terms</a>
5362
+ apply the operator to each of the components.
5363
+ </p>
5304
5364
<section id="operatorExtensibility">
5305
5365
<h4>Operator Extensibility</h4>
5306
5366
<p>SPARQL language extensions may provide additional associations between operators and
@@ -5314,6 +5374,7 @@ <h4>Operator Extensibility</h4>
5314
5374
BY</code></a> clause.</p>
5315
5375
</section>
5316
5376
</section>
5377
+
5317
5378
<section id="SparqlOps">
5318
5379
<h3>Function Definitions</h3>
5319
5380
<p>This section defines the operators and functions introduced by the SPARQL query language.
0 commit comments