Skip to content

Commit a1cec38

Browse files
committed
Updates from reviews
1 parent bc4c6a0 commit a1cec38

File tree

1 file changed

+27
-21
lines changed

1 file changed

+27
-21
lines changed

spec/index.html

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10679,7 +10679,7 @@ <h4>Syntax Restriction</h4>
1067910679
</table>
1068010680
<div class="note">
1068110681
<p>
10682-
This restriction means that <a href="#defn_valuesinsertion">values inserted</a>
10682+
This restriction means that inserted values
1068310683
do not conflict with values assigned to variables within the pattern.
1068410684
</p>
1068510685
<p>
@@ -10702,13 +10702,14 @@ <h4>Remapping</h4>
1070210702
<div class="defn">
1070310703
<b>Definition: <span id="defn_projmap">Projection Expression Variable Remapping</span></b>
1070410704
<p>
10705-
For a projection algebra operation #sparqlProjection `Project(A, PV)` acting on algreg express `A` and with set of variables `PV`, define
10706-
a partial mapping `F` from
10707-
`<a href="#sparqlQueryVariables">V</a>`,
10708-
the set of all variables, to `V` where:
10705+
For a <a href="#sparqlProjection">projection algebra operation</a>
10706+
`Project(A, PV)` acting on algebra expression `A` and with set of variables `PV`,
10707+
define a mapping `F` from `V`,
10708+
<a href="#sparqlQueryVariables">the set of all variables</a>,
10709+
to `V` where:
1070910710
</p>
10710-
<pre>F(v) = v1 if v is in PV, where v1 is a fresh variable
10711-
F(v) = v if v is not in PV</pre>
10711+
<pre>F(v) = v1 if v is not in PV, where v1 is a fresh variable
10712+
F(v) = v if v is in PV</pre>
1071210713
<p>
1071310714
Define the Projection Expression Variable Remapping `ProjectMap(P, PV)`
1071410715
</p>
@@ -10726,15 +10727,15 @@ <h4>Remapping</h4>
1072610727
<div class="defn">
1072710728
<b>Definition: <span id="defn_varrename">Variable Remapping</span></b>
1072810729
<p>
10729-
For any algebra expression `X`, define the Variable Remapping `PrjMap(X)`
10730+
For any algebra expression `X`, define the Variable Remapping `PrjMap(X)`
1073010731
of algebra expression `X`:
1073110732
</p>
1073210733
<pre>PrjMap(X) = replace all project operations Project(P, PV)
10733-
with ProjectMap(P, PV) for each projection in X.</pre>
10734+
with ProjectMap(Project(A, PV), PV) for each projection in X.</pre>
1073410735
</div>
1073510736
<p>
1073610737
The outcome of `PrjMap` is independent of the order of replacement
10737-
(e.g. bottom-up or top-down).
10738+
(whether "bottom-up" or "top-down") order.
1073810739
Replacements may happen several times, depending on recursive order
1073910740
but each time a replacement is made, the variable not used anywhere else.
1074010741
</p>
@@ -10767,6 +10768,7 @@ <h4>Values Insertion</h4>
1076710768
being the current binding of the enclosing filter.
1076810769
</p>
1076910770
</div>
10771+
<p class="ednote">Need to define `BindingInScope`</p>
1077010772
</div>
1077110773

1077210774
<div class="defn">
@@ -10775,13 +10777,14 @@ <h4>Values Insertion</h4>
1077510777
<p>
1077610778
During <a href="#sparqlQuery">translation to the SPARQL algebra</a>
1077710779
</p>
10780+
<p class="ednote">Define putting in the `BindingInScope` operator</p>
1077810781
<pre>
10779-
Replace each occurence of `Y` in X where `Y` is one of
10782+
Replace each occurence of Y where Y is one of
1078010783
<a href="#sparqlTranslateBasicGraphPatterns">Basic Graph Pattern</a>,
10781-
<a href="#sparqlTranslatePathExpressions">Property Path Expression</a>,
10782-
<a href="#sparqlTranslateGraphPatterns">`Graph(Var, pattern)`</a>,
10784+
<a href="#sparqlTranslatePathPatterns">Property Path Patterns</a>,
10785+
<a href="#sparqlTranslateGraphPatterns">Graph(Var, pattern)</a>,
1078310786
<a href="#https://www.w3.org/TR/sparql12-query/#sparqlTranslateGraphPatterns">Inline Data</a>
10784-
with `join(Y, BindingInScope())`.</pre>
10787+
with join(Y, BindingInScope()).</pre>
1078510788
</div>
1078610789
<div class="note">
1078710790
c.f. section <a href="#sparqlTranslateGraphPatterns">Translate Graph Patterns</a>
@@ -10803,18 +10806,18 @@ <h4>Values Insertion</h4>
1080310806
</p>
1080410807
<div class="defn">
1080510808
<div>
10806-
<b>Definition: <span id="defn_valuesinsertion">Values Insertion</span></b>
10809+
<b>Definition: <span id="defn_insertvalues">Insert Values</span></b>
1080710810
<p>
10808-
Define the Values Insertion function `ValuesInsert(X, μ)`
10811+
Define the function `InsertValues(X, μ)`
1080910812
</p>
1081010813
<pre>Let Table(μ) = { μ } and multiplicity( μ | Table(μ) = { μ } ) = 1
1081110814

10812-
Replace each occurence of `Y` in X where `Y` is one of
10815+
Replace each occurence of Y in X where Y is one of
1081310816
<a href="#sparqlTranslateBasicGraphPatterns">Basic Graph Pattern</a>,
10814-
<a href="#sparqlTranslatePathExpressions">Property Path Expression</a>,
10815-
<a href="#sparqlTranslateGraphPatterns">`Graph(Var, pattern)`</a>,
10817+
<a href="#sparqlTranslatePathPatterns">Property Path Patterns</a>,
10818+
<a href="#sparqlTranslateGraphPatterns">Graph(Var, pattern)</a>,
1081610819
<a href="#https://www.w3.org/TR/sparql12-query/#sparqlTranslateGraphPatterns">Inline Data</a>
10817-
with `join(Y, Table(μ))`.</pre>
10820+
with join(Y, Table(μ)).</pre>
1081810821

1081910822
</div>
1082010823
</div>
@@ -10828,8 +10831,11 @@ <h4>Evaluation of EXISTS</h4>
1082810831
Let `μ` be the current solution mapping for a filter, and `X` a graph pattern,
1082910832
define the Evaluation of Exists `exists(X)`
1083010833
</p>
10834+
<p class="ednote">
10835+
@@ Set up the current row for `BindingdInScope`.
10836+
</p>
1083110837
<pre>exists(X) = true
10832-
if eval( D(G), ValuesInScope(PrjMap(X)), μ)
10838+
if eval( D(G), μ)
1083310839
is a non-empty solution sequence.
1083410840
exists(X) = false otherwise</pre>
1083510841
</div>

0 commit comments

Comments
 (0)