@@ -4709,8 +4709,10 @@ <h3>Filter Evaluation</h3>
4709
4709
<a href="#func-bound">BOUND</a>, <a href="#func-coalesce">COALESCE</a>,
4710
4710
<a href="#func-if">IF</a>, <a href="#func-in">IN</a>, <a href="#func-not-in">NOT IN</a>,
4711
4711
<a href="#func-logical-or">logical-or</a> (<code>||</code>),
4712
- <a href="#func-logical-and">logical-and</a> (<code>&&</code>),
4713
- <a href="#func-filter-not-exists">NOT EXISTS</a>, and <a href="#func-filter-exists">EXISTS</a>,
4712
+ <a href="#func-logical-and">logical-and</a> (<code>&&</code>),
4713
+ <a href="#func-logical-not">logical-not</a> (<code>!</code>),
4714
+ <a href="#func-filter-not-exists">NOT EXISTS</a>,
4715
+ and <a href="#func-filter-exists">EXISTS</a>,
4714
4716
all functions operate on RDF Terms and will produce a type error if any
4715
4717
arguments are unbound.
4716
4718
</li>
@@ -4820,9 +4822,9 @@ <h4>Invocation</h4>
4820
4822
<section id="ebv">
4821
4823
<h4>Effective Boolean Value (EBV)</h4>
4822
4824
<p>Effective boolean value is used to calculate the arguments to the logical functions
4823
- <a href="#func-logical-and">logical-and</a>, <a href="#func-logical-or">logical-or</a>, and
4824
- <a data-cite="XPATH-FUNCTIONS-31 #func-not">fn: not</a>, as well as evaluate the result of a
4825
- <code>FILTER</code> expression.</p>
4825
+ <a href="#func-logical-and">logical-and</a>, <a href="#func-logical-or">logical-or</a>,
4826
+ and <a href=" #func-logical- not">logical- not</a>,
4827
+ as well as evaluate the result of a <code>FILTER</code> expression.</p>
4826
4828
<p>The XQuery <a data-cite="XQUERY-31#id-ebv">Effective Boolean Value</a> rules rely on the
4827
4829
definition of XPath's <a data-cite="XPATH-FUNCTIONS-31#func-boolean">fn:boolean</a>. The following
4828
4830
rules reflect the rules for <code>fn:boolean</code> applied to the argument types present
@@ -4905,7 +4907,7 @@ <h3>Operator Mapping</h3>
4905
4907
xsd:boolean <a href="#ebv-arg">(EBV)</a>
4906
4908
</td>
4907
4909
<td class="xpathOp">
4908
- <a data-cite="XPATH-FUNCTIONS-31 #func-not">fn: not</a>(A)
4910
+ <a href=" #func-logical- not" class="SPARQLoperator">logical- not</a>(A)
4909
4911
</td>
4910
4912
<td>xsd:boolean</td>
4911
4913
</tr>
@@ -5609,7 +5611,7 @@ <h5>logical-or</h5>
5609
5611
The purpose of this function is to define the semantics of the "<code>||</code>" operator.</p>
5610
5612
<p>The function returns a logical <code>OR</code> of <code>left</code> and <code>right</code>.
5611
5613
Note that <span class="SPARQLoperator">logical-or</span> operates on the
5612
- <a href="#ebv">effective boolean value</a> of its arguments.</p>
5614
+ <a href="#ebv">effective boolean value</a> of each of its arguments.</p>
5613
5615
<p>Note: see section 17.2, <a href="#evaluation">Filter Evaluation</a>, for the
5614
5616
<code>||</code> operator's treatment of errors.</p>
5615
5617
</section>
@@ -5618,12 +5620,25 @@ <h5>logical-and</h5>
5618
5620
<pre class="prototype nohighlight">
5619
5621
<span class="return">xsd:boolean</span> <span class="operator" style="text-transform: none;">logical-and</span> (<span class="type">xsd:boolean</span> <span class="name">left</span>, <span class="type">xsd:boolean</span> <span class="name">right</span>)
5620
5622
</pre>
5621
- <p>This function cannot be used directly in expressions. The purpose of this function is to define the semantics of the "<code>&&</code>" operator.</p>
5623
+ <p>This function cannot be used directly in expressions.
5624
+ The purpose of this function is to define the semantics of the "<code>&&</code>" operator.</p>
5622
5625
<p>The function returns a logical <code>AND</code> of <code>left</code> and <code>right</code>.
5623
5626
Note that <span class="SPARQLoperator">logical-and</span> operates on the
5624
- <a href="#ebv">effective boolean value</a> of its arguments.</p>
5627
+ <a href="#ebv">effective boolean value</a> of each of its arguments.</p>
5625
5628
<p>Note: see section 17.2, <a href="#evaluation">Filter Evaluation</a>, for the
5626
- <code>&&</code> operator's treatment of errors.</p>
5629
+ <code>&&</code> operator's treatment of errors.</p>
5630
+ </section>
5631
+ <section id="func-logical-not">
5632
+ <h5>logical-not</h5>
5633
+ <pre class="prototype nohighlight">
5634
+ <span class="return">xsd:boolean</span> <span class="operator" style="text-transform: none;">logical-not</span> (<span class="type">xsd:boolean</span> <span class="name">arg</span>)
5635
+ </pre>
5636
+ <p>This function cannot be used directly in expressions. The purpose of this
5637
+ function is to define the semantics of the "<code>!</code>" operator.</p>
5638
+ <p>The function returns a logical <code>NOT</code> of <code>arg</code>.
5639
+ Note that <span class="SPARQLoperator">logical-not</span> operates on the
5640
+ <a href="#ebv">effective boolean value</a> of its argument.
5641
+ </p>
5627
5642
</section>
5628
5643
<section id="func-in">
5629
5644
<h5>IN</h5>
@@ -10835,7 +10850,7 @@ <h3>White Space</h3>
10835
10850
<p><code>?a<?b&&?c>?d</code></p>
10836
10851
</blockquote>
10837
10852
<p>is the token sequence variable '<code>?a</code>', an IRI
10838
- '<code><?b&&?c></code>', and variable '<code>?d</code>', not a expression
10853
+ '<code><?b&&?c></code>', and variable '<code>?d</code>', not an expression
10839
10854
involving the operator '<code>&&</code>' connecting two expression using
10840
10855
'<code><</code>' (less than) and '<code>></code>' (greater than).</p>
10841
10856
</section>
0 commit comments