4. Feature constraints

4.1 Feature-value pairs

Simple feature constraints, i.e. feature-value pairs such as pos="NN" have been already introduced in section 3.

4.2 Boolean expressions

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")]

4.3 Variables

A feature constraint can be prefixed by a variable. For further discussion see subsection 7.2.

[#f: (word="das" & pos="ART")]

4.4 Unspecific feature constraint

The unspecific feature constraint is written as []. It denotes the whole universe of nodes.