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:

(Gene { start>1000 & strand=1 })-> participates in ->(Pathway)

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:

(s:Sample)-> pathologically confirmed to be ->(Disease) NOT (s:Sample)-> has variant ->(FivePrimeUTR)

The following query is invalid because there are no variables used in the NOT filter:

(s:Sample)-> pathologically confirmed to be ->(Disease) NOT (Sample)-> has variant ->(FivePrimeUTR)

The following query is invalid because the NOT filter only specifies a single concept and not a complete relationship:

(s:Sample)-> pathologically confirmed to be ->(Disease) NOT (s:Sample)

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:

(Sample)-> expresses ->(g:Gene)-> participates in ->(Pathway { displayName="Deubiquitination" }) + (g:Gene)<- associated with <-(SafetyLiability)

Last updated