Commit af6821c8 authored by Bruno Guillaume's avatar Bruno Guillaume

complete info about pattern syntax

parent bf4cb3cc
......@@ -58,6 +58,7 @@ All edge clauses below require the existence of an edge between the node selecte
* `N -[nsubj]-> M`: the edge label is `nsubj`
* `N -[nsubj|obj]-> M`: the edge label is either `nsubj` or `obj`
* `N -[^nsubj|obj]-> M`: the edge label is different from `nsubj` and `obj`
* `N -[re".*subj"]-> M`: the edge follows the regular expression (see [here](http://caml.inria.fr/pub/docs/manual-ocaml/libref/Str.html#VALregexp) for regular expressions accepted)
Edge may also be named for future use (in commands for instance) with an identifier:
......@@ -81,14 +82,18 @@ Since version 1.2, more complex edges can be used, see [here](../complex_edges#c
These constrains do not identify new elements in the graph, but must be respected.
* Constraints on features values:
* `N.lemma = M.lemma` impose the equality of two feature values
* `N.lemma <> M.lemma` impose the difference of two feature values
* `N.lemma = M.lemma` two feature values must be equal
* `N.lemma <> M.lemma` two feature values must be different
* `N.lemma = re".*ing"` the value of a feature must follow a regular expression (see [here](http://caml.inria.fr/pub/docs/manual-ocaml/libref/Str.html#VALregexp) for regular expressions accepted)
* Constraints on node ordering:
* `N < M` the node `N` immediately precedes the node `M`
* `N << M` the node `N` precedes the node `M`
* Constraints on edges:
* `* -[nsubj]-> M` there is an incoming edge with label `nsubj` with target `M`
* `M -[nsubj]-> *` there is an outgoing edge with label `nsubj` with source `M`
* [Since version 1.3] Constraints on edge labels:
* `label(e1) = label(e2)` the labels of the two edges `e1` and `e2` are equal
* `label(e1) <> label(e2)` the labels of the two edges `e1` and `e2` are different
When two or more nodes are equivalent in a pattern, each occurrence of the pattern in a graph will be found several times (up to permutation in the sets of equivalent nodes).
For instance, in the pattern below, the 3 nodes `N1`, `N2` and `N3` are equivalent.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment