Simple feature constraints, i.e. feature-value pairs such as pos="NN" have been already introduced in section 3.
Complex feature constraints are Boolean expressions over feature-value pairs:
[word="das" & pos="ART"]
[word = /sp.*/ | pos = "VVFIN"]
[word="das" & !(pos="ART")]
Basically, the last query is equivalent to the following two queries. Note that this kind of equivalence is not generally valid in a typed system (cf. section 8)!
[word="das" & pos != "ART"]
[word="das" & pos = (!"ART")]
The operator precedence is defined as follows: !, &, |. This definition is illustrated by the following examples:
Example | Interpretation |
[! pos="NN" & word="der" ] | [(!pos="NN") & (word="der")] |
[pos="NN" & word="Haus" | pos="NE"] | [(pos="NN" & word="Haus") | (pos="NE")] |
A feature constraint can be prefixed by a variable. For further discussion see subsection 7.2.
[#f: (word="das" & pos="ART")]
The unspecific feature constraint is written as []. It denotes the whole universe of nodes.