All versions of this manual
X
 

Search: Advanced syntax

Linkurious Enterprise offers a native user interface to do advanced search in the graph.

For advanced users, it is possible to directly use the search syntax in the search bar:

  • This search syntax is proprietary to Linkurious Enterprise even though it bears some similarities with other search languages such as Lucene;
  • The search syntax does not depend on which search vendor Linkurious Enterprise is connected to, the search vendors' own syntax (e.g. Elasticsearch syntax) cannot be used;
  • The results returned and their ordering however depends on the search vendor and its configuration.

Syntax and examples

The search syntax accepts 3 expression types:

Value

  • Description:
    • It is a "standard" search. It can contain one or multiple terms.
    • The search terms are searched against all indexed properties.
  • Examples:
    • john
      • The term "john" is searched against all indexed properties.
      • Fuzziness is applied to "john".
    • john doe
      • Both terms "john" and "doe" are searched against all indexed properties, without consideration for order or distance between the terms.
      • Fuzziness is applied independently to "john" and "doe".
    • "john doe"
      • The exact expression "john doe" is searched against all indexed properties.
      • Fuzziness is not applied.

Type

  • Description:
    • A type expression restricts the search to a single node category or edge type.
    • A type expression is characterized by a prefix type:
    • A type expression is case-sensitive.
    • Fuzziness is not applied.
  • Examples:
    • type:Person: search on nodes of category "Person"
    • type:"Big Customer": double-quotes are mandatory for a category/type containing special characters, such as a space.

Property

  • Description:
    • A property expression restricts the search to a specific property.
    • A property expression is characterized by a prefix $property-key: where $property-key is the name of the property.
    • The expression may contain one or multiple terms that are searched against the property whose property key is prefixed, provided it is indexed.
  • Examples:
    • name:john
      • The term "john" is searched against property name.
      • Fuzziness is applied to "john".
    • name:(john doe)
      • Both terms "john" and "doe" are searched against property name, without consideration for order or distance between the terms.
      • Fuzziness is applied independently to "john" and "doe".
      • Note that the parentheses are mandatory, otherwise the search has a different meaning (see more query examples at the bottom).
    • name:"john doe"
      • The exact expression "john doe" is searched against property name.
      • Fuzziness is not applied.

More examples

  • paris type:City search for "City" nodes with any property containing the term "paris"
  • name:john doe search for all nodes for which there is:
    • A property name containing "john".
    • Any property containing "doe".
  • "serial number":"T3492E" search for all nodes with property serial number matching exactly "T3492E".

Searching for numbers and dates

Numerical and date search only works with Elasticsearch on properties declared as "Number" or "Date" in the graph schema. To learn more please check how to configure numerical/date search.

Authorized operators:

  • Higher than or equal >
  • Lower than or equal <
  • Range [x y]

These operators must be followed by a number or an ISO date string (i.e. yyyy-mm-dd).

Examples:

  • age:>20
  • age:[10 to 100]
  • age:[1.2 to 5,4]
  • dateOfBirth:[1980-01-01 2000-12-31]