Reserved symbols
All the operators and built-in types which are listed below are reserved symbols. In particular, this means that the use of the following characters
! " # $ & ( ) * + , - . / : ; = > ? @ | { }
in edge labels, strings, constants, predicate or type names may cause problems. In these cases, a preceding operator \ will help. Example:
[word = "\,"]
Built-in types
The sample queries for the built-in types are meant to illustrate the context where a built-in type may occur. However, these queries are not really meaningful, since they are too general.
Symbol | Meaning | Sample query |
Constant | constants | [word = Constant] |
String | strings | [word = String] |
UserDefConstant | user defined constants | [pos=UserDefConstant] |
FREC | feature records | [FREC] |
NT | feature records for nonterminals | [NT] |
T | feature records for terminals | [T] |
Constants
" | constant mark | [word = "Geld"] |
Regular expressions for constants
/ | regular expression mark | [word = /Geld/] |
. | unspecified character | [word = /sag./] |
* | unrestricted repetition | [lemma = /spiel.*/] |
+ | repetition with minimum 1 | [word = /.+[0-9A-Z]+.*/] |
? | optionality | [word = /(Leben)s?/] |
[ ] | character set | [word = /.+[0-9A-Z]+.*/] |
^ | negated character sets | [word = /[^0-9A-Z].*/] |
( ) | grouping | [word = /([lmnp][aeiou])+/] |
| | disjunction | [word = /[dD](as|er)/] |
\ | escape for reserved characters | [word = /.*\-.*/] |
Feature-value pairs
= | feature-value pair | [pos = "NN"] |
!= | negated feature-value pair | [pos != "NN"] |
Graph predicates
root() | root of a graph | root(#n) |
arity( , )
arity( , , ) |
arity of a node |
arity(#n,2)
arity(#n,2,4) |
tokenarity( , )
tokenarity( , , ) |
number of dominated leaves |
tokenarity(#n,5)
tokenarity(#n,5,8) |
continuous( ) | continuous leaves | continuous(#n) |
discontinuous( ) | discontinuous leaves | discontinuous(#n) |
Dominance relation
>L | labelled direct dominance |
[cat="NP"] >NK [cat="NP"]
[cat="NP"] >OA\-MOD [cat="NP"] |
> | direct dominance | [cat="NP"] > [pos="NE"] |
>* | dominance | [cat="NP"] >* [pos="NE"] |
>$ | dominance, distance n | [cat="NP"] >2 [pos="NE"] |
>m,n | dominance, distance m..n | [cat="NP"] >2,3 [pos="NE"] |
>@l | left corner | [cat="NP"] >@l [word="die"] |
>@r | right corner | [cat="NP"] >@r [word="Jahr"] |
$ | siblings | [word="die"] $ [cat="NP"] |
$.* | siblings with precedence | [word="etwas"] $.* [cat="NP"] |
!>L | neg. labelled direct dominance | [cat="NP"] !>GR [cat="NP"] |
!> | neg. direct dominance | [cat="NP"] !> [pos="NE"] |
!>* | neg. dominance | [cat="NP"] !>* [pos="NE"] |
!>n | neg. dominance, distance n | [cat="NP"] !>2 [pos="NE"] |
!>m,n | neg. dominance, distance m..n | [cat="NP"] !>2,3 [pos="NE"] |
!>@l | neg. left corner | [cat="NP"] !>@l [word="etwas"] |
!>@r | neg. right corner | [cat="NP"] !>@r [word="etwas"] |
!$ | neg. siblings | [word="etwas"] !$ [cat="NP"] |
>~L | labelled secondary edge | [cat="VP"] >~HD [cat="NP"] |
>~ | secondary edge | [cat="VP"] >~ [cat="NP"] |
!>~L | neg. labelled secondary edge | [cat="VP"] !>~HD [cat="NP"] |
!>~ | neg. secondary edge | [cat="VP"] !>~ [cat="NP"] |
Precedence relation
. | direct precedence | [word="die"] . [pos=noun] |
.* | precedence | [word="die"] .* [pos="NN"] |
.n | precedence, distance n | [word="die"] .2 [pos="NN"] |
.m,n | precedence, distance m..n | [word="die"] .2,4 [pos="NN"] |
!. | neg. direct precedence | [word="etwas"] !. [pos="NN"] |
!.* | neg. precedence | [word="etwas"] !.* [pos="NN"] |
!.n | neg. precedence, distance n | [word="etwas"] !.2 [pos="NN"] |
!.m,n | neg. precedence, distance m..n | [word="etwas"] !.2,4 [pos="NN"] |
Variables
[f=#v] | variable for a feature value | [pos=#x:("NN"|"NE")] . [pos=#x] |
[#x] | variable for a feature description | [#x:(pos="APPR")] .* [#x] |
#n | variable for a node identifier | #n:[cat="NP"] & #n > [pos="ADJA"]) & #n > [pos="NN"] |
Boolean expressions
( ) | bracketing | [pos=(!("NN" | "ART"))] |
! | negation (feature values) | [pos=(!"NN")] |
negation (feature constraints) | [!(pos="NN")] | |
& | conjunction (feature values) | [pos=(!"NN" & !"NE")] |
conjunction (feature constraints) | [pos="NE" & word="Bonn"] | |
conjunction (graph descriptions) | #n1>#n2 & #n3.#n2 | |
| | disjunction (feature values) | [pos=("NN" | "NE")] |
disjunction (feature constraints) | [pos="NE" | word="es"] | |
disjunction (graph descriptions) | #n1>#n2 | #n1>#n3 |
Please note: Negation (!) must not have scope over variables.
Please note: A Boolean expression for a feature value must always be put into
parentheses (e.g. pos=("NN"|"NE")).
Comments
// | line comment | [pos="NE"].[pos="NE"] // 2-word proper nouns |