RSQL operators

Background

The MOLGENIS REST query API makes use of RSQL. RSQL is a query language for parametrized filtering of entries in RESTful APIs. It’s based on FIQL (Feed Item Query Language), that was originally specified by Mark Nottingham as a language for querying Atom feeds. However the simplicity of RSQL and its capability to express complex queries in a compact and HTTP URI-friendly way makes it a good candidate for becoming a generic query language for searching REST endpoints.

Supported RSQL operators

MOLGENIS supports the following operators:

Operator

Example

Description

==

/api/v2/myTable?q=columnA==queryValue

Performs an equals query. Returns all rows from myTable where values in columnA exactly equal queryValue

=q=

/api/v2/myTable?q=columnA=q=queryValue

Performs a search query. Returns all rows from myTable where values in columnA contain queryValue

=like=

/api/v2/myTable?q=columnA=like=queryValue

Performs a like query. Returns all rows from myTable where values in columnA are like queryValue

=in=

/api/v2/myTable?q=columnA=in=(valueA, valueB)

Performs an in query. Returns all rows from myTable where columnA contains valueA OR valueB

!=

/api/v2/myTable?q=columnA!=queryValue

Performs a not equals query. Returns all rows from myTable where values in columnA do not equal queryValue

=notlike=

/api/v2/myTable?q=columnA=notlike=queryValue

Performs a not like query. Returns all rows from myTable where values in columnA are not like queryValue

< & =lt=

/api/v2/myTable?q=columnA<queryValue, /api/v2/myTable?q=columnA=lt=queryValue

Performs a lesser than query. Returns all rows from myTable where values in columnA are lesser than queryValue

=le= & <=

/api/v2/myTable?q=columnA<=queryValue, /api/v2/myTable?q=columnA=le=queryValue

Performs a lesser than or equal to query. Returns all rows from myTable where values in columnA are lesser than or equal to queryValue

< & =gt=

/api/v2/myTable?q=columnA>queryValue, /api/v2/myTable?q=columnA=gt=queryValue

Performs a greater than query. Returns all rows from myTable where values in columnA are greater than queryValue

>= & =ge=

/api/v2/myTable?q=columnA>=queryValue, /api/v2/myTable?q=columnA=ge=queryValue

Performs a equal to or greater than query. Returns all rows from myTable where values in columnA are equal to or greater than queryValue

=rng=

/api/v2/myTable?q=columnA=rng=(fromValue,toValue)

Performs a from to query. Returns all rows from myTable where values in columnA are equal or greater than the fromValue, and lesser than or equal to the toValue

=should=

N/A

Not supported

=dismax=

N/A

Not supported

=fuzzy=

N/A

Not supported

Last updated