You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The <a>predicate</a> of this <a>triple</a> is called the <dfn>list parameter property</dfn>.
816
822
</p>
817
823
<p>
818
-
The <a>evaluation</a> of a <a>list parameter function</a> can produce either:
824
+
The <a>evaluation</a> of a <a>list parameter function</a> can produce any of the following:
819
825
</p>
820
826
<ul>
821
-
<li>one <a>output node</a>, i.e. a list of one <a>node</a></li>
822
-
<li>zero <a>output nodes</a>, i.e. the empty list</li>
823
-
<li>an <a>evaluation failure</a>, i.e. an (unexpected) error during the evaluation</li>
827
+
<li>one <a>output node</a>, i.e., a list of one <a>node</a></li>
828
+
<li>zero <a>output nodes</a>, i.e., an empty list</li>
829
+
<li>an <a>evaluation failure</a>, i.e., an (unexpected) error during the evaluation</li>
824
830
</ul>
825
831
<p>
826
-
Furthermore, all arguments of a <a>list parameter function</a> must evaluate to individual<a>nodes</a>
827
-
and not lists of nodes.
828
-
If an argument is a <a>node expression</a> then this <a>node expression</a> must evaluate to
829
-
at most one <a>output node</a>.
832
+
Furthermore, each argument of a <a>list parameter function</a> must evaluate to an individual, single <a>node</a>,
833
+
not to a list of nodes.
834
+
If an argument is a <a>node expression</a>, then this <a>node expression</a> must evaluate to
835
+
a maximum of one <a>output node</a>.
830
836
An <a>evaluation failure</a> must be produced if there is more than one <a>output node</a>.
831
837
This is different from <a>named parameter functions</a>, where arguments may produce lists of multiple nodes.
832
838
</p>
833
839
<p><em>The remainder of this section is informative.</em></p>
834
840
<p>
835
-
Note that some <a>named parameter functions</a> such as <code>sh:IntersectionExpression</code>
836
-
also use <a>SHACL lists</a> as object of the <a>key parameter</a>, similar to <a>list parameter functions</a> which always have <a>SHACL lists</a> as object of their <a>list parameter property</a>.
837
-
However, these may produce more than one <a>output nodes</a> and also accept lists as input nodes.
841
+
Note that some <a>named parameter functions</a>— such as <code>sh:IntersectionExpression</code> —
842
+
also use a <a>SHACL list</a> as an object of the <a>key parameter</a>, similar to <a>list parameter functions</a> which always have a <a>SHACL list</a> as the object of their <a>list parameter property</a>.
843
+
However, these may produce more than one <a>output nodes</a>, and also accept lists as input nodes.
838
844
</p>
839
845
<p>
840
-
The following example uses multiple (imaginary) <a>list parameter functions</a>
841
-
<code>ex:coalesce</code> and <code>ex:concat</code> to compute the <code>ex:displayName</code>
846
+
The following example uses multiple (imaginary) <a>list parameter functions</a> —
847
+
<code>ex:coalesce</code> and <code>ex:concat</code>— to compute the <code>ex:displayName</code>
842
848
of a person as either the value of <code>ex:fullName</code> or (if that doesn't exist)
843
-
as the concatenation of first and last names, with a space in between.
849
+
as a concatenation of <code>ex:firstName</code>, a space, and <code>ex:lastName</code>.
844
850
</p>
845
851
<p>
846
852
<asideclass="example" title="A comple node expression based on list parameter functions.">
0 commit comments