Skip to content

Commit 8c76436

Browse files
committed
Add = != for IRIs, bnodes and triple terms
1 parent b1eb06e commit 8c76436

File tree

1 file changed

+75
-14
lines changed

1 file changed

+75
-14
lines changed

spec/index.html

+75-14
Original file line numberDiff line numberDiff line change
@@ -243,8 +243,7 @@
243243
span.cancast:hover { background-color: #ffa;
244244
color: black; }
245245

246-
.SPARQLoperator { background-color: #FFFFbf; /* yellow */
247-
}
246+
.SPARQLoperator { font-weight: 600; } }
248247

249248
/* ReSpec */
250249
dfn { font-style: normal ; }
@@ -4665,6 +4664,7 @@ <h3>Operand Data Types</h3>
46654664
<p>SPARQL language extensions may treat additional types as being derived from XML schema
46664665
datatypes.</p>
46674666
</section>
4667+
46684668
<section id="evaluation">
46694669
<h3>Filter Evaluation</h3>
46704670
<p>SPARQL provides a subset of the functions and operators defined by
@@ -4826,6 +4826,7 @@ <h4>Effective Boolean Value (EBV)</h4>
48264826
with a datatype of <code>xsd:boolean</code> and a lexical value of "false".</p>
48274827
</section>
48284828
</section>
4829+
48294830
<section id="OperatorMapping">
48304831
<h3>Operator Mapping</h3>
48314832
<p>The SPARQL grammar identifies a set of operators
@@ -4925,7 +4926,7 @@ <h3>Operator Mapping</h3>
49254926
<th colspan="5" class="subHeading" scope="col">Logical Connectives</th>
49264927
</tr>
49274928
<tr>
4928-
<th>
4929+
<th><span id="logical-or-operator"/>
49294930
<a href="#rConditionalOrExpression" title="ConditionalOrExpression">A <span class="FAOTtoken">||</span> B</a>
49304931
</th>
49314932
<td>
@@ -4934,7 +4935,7 @@ <h3>Operator Mapping</h3>
49344935
<td>
49354936
xsd:boolean <a href="#ebv-arg">(EBV)</a>
49364937
</td>
4937-
<td class="sparqlOp">
4938+
<td class="sparqlOp"><span id="logical-and-operator"/>
49384939
<a href="#func-logical-or" class="SPARQLoperator">logical-or</a>(A, B)
49394940
</td>
49404941
<td>xsd:boolean</td>
@@ -5275,32 +5276,91 @@ <h3>Operator Mapping</h3>
52755276
<th colspan="5" class="subHeading" scope="col">SPARQL Tests</th>
52765277
</tr>
52775278
<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>
52815336
<td><span class="type RDFterm">RDF term</span></td>
52825337
<td><span class="type RDFterm">RDF term</span></td>
52835338
<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>
52865341
<td>xsd:boolean</td>
52875342
</tr>
52885343
<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>
52925345
<td><span class="type RDFterm">RDF term</span></td>
52935346
<td><span class="type RDFterm">RDF term</span></td>
52945347
<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))
52965349
</td>
52975350
<td>xsd:boolean</td>
52985351
</tr>
52995352
</tbody>
53005353
</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
53025356
coerced to xsd:boolean by evaluating the <a href="#ebv">effective boolean value of that
53035357
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>
53045364
<section id="operatorExtensibility">
53055365
<h4>Operator Extensibility</h4>
53065366
<p>SPARQL language extensions may provide additional associations between operators and
@@ -5314,6 +5374,7 @@ <h4>Operator Extensibility</h4>
53145374
BY</code></a> clause.</p>
53155375
</section>
53165376
</section>
5377+
53175378
<section id="SparqlOps">
53185379
<h3>Function Definitions</h3>
53195380
<p>This section defines the operators and functions introduced by the SPARQL query language.

0 commit comments

Comments
 (0)