Overview
A query is made up of concepts and relationships. Concepts and relationships can be further filtered using data property filters.
A concept is surrounded by parentheses ()
, for example, to match against the concept Gene
use (Gene)
.
Within a concept, data property filters can be included following the concept label within brace brackets {}
. Data property filters have the format [key][op][value]
where key
is the name of the property and op
is any of
=~
<=
>=
!=
=
>
<
For numeric properties, the filter value is a number, for example { a=1 }
. For string properties, the value must be wrapped in quotations, for example { uuid="x" }
. For boolean properties, the filter value is either of true
or false
, for example { x=false }
.
Data filter properties are separated by the logical operators &
(and) and |
(or). For example, a complete concept and filter: (Gene { start>1000 & strand=1 })
. This example is also valid on its own as a query may only specify one concept.
A relationship is specified by connecting concepts with the format <-[label]<-
, ->[label]->
, or -[label]-
For example, -> participates in ->
. The autocomplete will assume arrows format.
Putting this all together, a complete minimal example is:
Statements can also specify a NOT
path filter at the end of the statement. This is a path based filter and must include at least one variable and at least one relationship.
A valid NOT
filter is:
The following query is invalid because there are no variables used in the NOT
filter:
The following query is invalid because the NOT
filter only specifies a single concept and not a complete relationship:
A statement is a relationship plus optionally a NOT
filter. Multiple statements can be combined using +
, and at least one variable must be chained through per statement:
Last updated