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
In addition to search for single non-existing operands for negated operators (described in #187), we might want to allow more complex structures to not exist.
E.g. in the query from #187cat="NP" & cat="PP"? & #2 !> #1 additionally would be valid to bind the PP to other non-existent elements (with ?) as follows:
In this case, all NPs (=positive, existing elements without ?) are recovered, then we consider whether there exists the following potentially non-existent structure: cat="S"? > cat="PP"? (both with question marks). If such a structure dominates an NP, it is not a desired result.
Finally, note that queries binding non-existing and existing elements are invalid:
Here we are apparently saying that an NP is possibly not dominated by a PP, but that the PP is definitely dominated by an S, which we also want to have. This is impossible to evaluate, since in cases where the PP doesn't exist the S is ill-defined.
The text was updated successfully, but these errors were encountered:
200: Implement negation for non-existing nodes r=thomaskrause a=thomaskrause
This implements #187 but does not implement the more complex structures (as described in #199) yet. Also note that we changed form a prefix ? to a suffix, to make it easier to implement optional parts of the query term in the AQL parser later on when needed.
We implement these negated operators with non-existent operands as unary operators (with the existing node as the one that is filtered using the non-existent expression). There is also some refactoring and renaming to make it easier to use the value filter functions outside the conjunction code (in our operator) to avoid duplicated implementation of the node search logic.
Co-authored-by: Thomas Krause <[email protected]>
Co-authored-by: Thomas Krause <[email protected]>
In addition to search for single non-existing operands for negated operators (described in #187), we might want to allow more complex structures to not exist.
E.g. in the query from #187
cat="NP" & cat="PP"? & #2 !> #1
additionally would be valid to bind the PP to other non-existent elements (with ?) as follows:In this case, all NPs (=positive, existing elements without ?) are recovered, then we consider whether there exists the following potentially non-existent structure:
cat="S"? > cat="PP"?
(both with question marks). If such a structure dominates an NP, it is not a desired result.Finally, note that queries binding non-existing and existing elements are invalid:
invalid:
Here we are apparently saying that an NP is possibly not dominated by a PP, but that the PP is definitely dominated by an S, which we also want to have. This is impossible to evaluate, since in cases where the PP doesn't exist the S is ill-defined.
The text was updated successfully, but these errors were encountered: