graphANNIS
graphANNIS copied to clipboard
Operator negation in AQL - part 3: complex non-existing structures
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:
cat="NP" & cat="PP"? & #2 !> #1 & cat="S"? & #3 > #2
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:
cat="NP" & cat="PP?" & #2 !> #1 & cat="S" & #3 > #2
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.