Query Language
Simple Object Queries
A GraphQL query in its simplest form defines the fields on an object to query for. The following example queries the fields name, make, and model on the machines object.
{
machines {
name
make
model
}
}
It returns a resultset as a JSON object in the following format:
{
"data": {
"machines": [
{
"name": "Machine A",
"make": "Tsugami",
"model": "B02-II"
},
{
"name": "Machine B",
"make": "Tsugami",
"model": "B02-III"
},
{
"name": "Machine C",
"make": "Miyano",
"model": "BNA-42"
},
{
"name": "Machine D",
"make": "Miyano",
"model": "BNA-42"
}
]
}
}
The data can be filtered using a where clause. The clause is a map of field names (e.g. make) and comparisons. The The following query only returns machines of the make "Miyano".
- Query
- Result
{
machines(where: {make: {_eq: "Miyano"}}) {
name
make
model
}
}
{
"data": {
"machines": [
{
"name": "Machine C",
"make": "Miyano",
"model": "BNA-42"
},
{
"name": "Machine D",
"make": "Miyano",
"model": "BNA-42"
}
]
}
}
Comparison Operators
We support a variety of comparison operators:
- Equality operators
_eqtests for strict equality_neqnegated version of_eq
- Greater than or less than operators
_gtequivalent to >_ltequivalent to <_gteequivalent to >=_lteequivalent to =<
- List based search operators
_inexpects an array of scalar values_ninnegated version of_in
- Text search or pattern matching operators
_likematching a string pattern (_matches any single character,%matches any sequence of zero or more characters)_ilikesame as_likebut case insensitive
- Boolean operators
_not_and_or