graphANNIS icon indicating copy to clipboard operation
graphANNIS copied to clipboard

Operator negation in AQL - part 3: complex non-existing structures

Open thomaskrause opened this issue 3 years ago • 0 comments

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.

thomaskrause avatar Sep 13 '21 16:09 thomaskrause