-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
As suggested in the previous task group meeting, this issue lists the steps that I see for adding content related to EXISTS into the spec.
-
Extend the signature of the eval function by adding the "context solution mapping" as a third argument.
- Hence, we go from writing eval(D(G), A) to writing eval(D(G), A, μctx).
- Extending the signature of the eval function means to adapt all the definitions in Section 18.6.2 Evaluation Semantics.
I would prefer to start working on this step only after PR improves definitions of all algebra operators that involve expressions #291 is merged because that PR makes changes in the same part of the spec. The PR is still waiting for @afs' review (all other editors have already approved it, and Ted is okay with it as well).- edit: this step is implemented in PR Extends the signature of the eval function (to be used for EXISTS) #309
-
Extend the algebraic syntax with a new symbol that will be used to indicate where the context solution mapping is injected during query evaluation.
- Formally, adding that symbol would mean adding another base case to the recursive definition of the notion of an algebraic query expression.
- In an earlier email to the mailing list I proposed to call this new symbol
InjectContextMapping, but of course I am also open to other names.
-
Extend the translation to the algebraic syntax such that the new symbol from the previous step is added into the algebraic query expression that is produced by the translation.
- Concretely, the place where this extension needs to be captured is in the case for GroupGraphPattern in Section 18.3.2.6 Translate Graph Patterns, where the initial assignment of G needs to be the new symbol rather than the empty BGP.
-
Extend the definition of the eval function by adding a case for the new symbol.
- The definition for that case would say something like: eval(D(G),
InjectContextMapping, μctx) = a multiset of solution mappings that contains only μctx, with a multiplicity of 1
- The definition for that case would say something like: eval(D(G),
-
Add the formal definition of the evaluation of EXISTS expressions.
- I think the best place for that is Section 17.4.1.4 NOT EXISTS and EXISTS.
rubensworks and afs
Metadata
Metadata
Assignees
Labels
No labels