Example Schema

Generated from a test fixture of zipcodes.

Query (Table)

a dataset with a derived schema

Field Argument Type Description
toSql String!

Compile to a formatted SQL string.

dialect String

output SQL dialect; defaults to the backend’s native dialect

pretty Boolean!

whether to use pretty formatting

type String!

ibis table or arrow dataset

schema Schema!

table schema

cast Table!

Cast the columns of a table.

schema [Field!]!

field names and types

try Boolean!

return null if cast fails

optional Table

Nullable field to stop error propagation, enabling partial query results.

count BigInt!

Count the number of rows.

any Boolean!

Whether there are at least limit rows.

May be significantly faster than count for out-of-core data.

limit BigInt!
column Column

Column of any type by name.

If the column is in the schema, columns can be used instead.

name [String!]!

column name(s); multiple names access nested struct fields

cast String!

cast expression to indicated data type

try Boolean!

return null if cast fails

index [BigInt!]!

column index(es); may access array offsets

slice Table!

Limit row selection.

offset BigInt!

number of rows to skip; negative value skips from the end

limit BigInt

maximum number of rows to return

distinct Table!

Remove duplicate rows from table.

Differs from group by keeping all columns, and defaulting to all keys.

on [String!]

column names to deduplicate on; defaults to all

keep String

which duplicates to keep

counts String!

value counts; incompatible with keep: null

order String!

optionally include and order by first row number; incompatible with on: null

group Table!

Group table by columns.

by [String!]!

column names; empty will aggregate into a single row table

counts String!

optionally include counts in an aliased column

order String!

optionally include and order by first row number

aggregate Aggregates!

aggregation functions applied to other columns

order Table!

Sort table by columns.

by [String!]!

column names; prefix with - for descending order

limit BigInt

maximum number of rows to return; optimized for partitioned dataset keys

first Table!

Provisionally sort and filter by rank.

by [String!]!

column names; prefix with - for descending order

rank Int!

maximum rank of rows to return; optimized for partitioned dataset keys

dense Boolean!

use dense rank (all ties) or sparse rank (only ties at the boundary)

unnest Table!

Unnest an array column from a table.

name String!

column name

offset String!

optionally include index column

keepEmpty Boolean!

keep empty array values as null

order String!

optionally include and order by row number; optionally by offset too

unpack Table!

Unpack the struct fields of each column.

names [String!]!

column names

join Table!

Join two tables.

right String!

name of right table; must be on root Query type

keys [String!]!

column names used as keys on the left side

rkeys [String!]!

column names used as keys on the right side; defaults to left side

how String!

the kind of join: ‘inner’, ‘left’, ‘right’, …

lname String!

format string to use to rename overlapping columns in the left table

rname String!

format string to use to rename overlapping columns in the right table

asofJoin Table!

As-of join on nearest key rather than equal keys.

right String!

name of right table; must be on root Query type

on String!

column name for closest-match inequality (e.g. timestamp)

keys [String!]!

column names used as keys on the left side

rkeys [String!]!

column names used as keys on the right side; defaults to left side

tolerance JSON

optional look-back window for the as-of match

scalar Scalars!

typed scalar for `tolerance

lname String!

format string to rename overlapping columns in the left table

rname String!

format string to rename overlapping columns in the right table

crossJoin Table!

Cross join with one or more tables.

right [String!]!

name(s) of right table; must be on root Query type

lname String!

format string to rename overlapping columns in the left table

rname String!

format string to rename overlapping columns in the right table

difference Table!

Set difference of tables.

table [String!]!

name(s) of other table; must be on root Query type

distinct Boolean!

use set difference (true) or multiset difference (false)

intersect Table!

Set intersection of tables.

table [String!]!

name(s) of other table; must be on root Query type

distinct Boolean!

use set difference (true) or multiset difference (false)

union Table!

Set union of tables.

table [String!]!

name(s) of other table; must be on root Query type

distinct Boolean!

use set difference (true) or multiset difference (false)

take Table!

Take rows by index.

indices [BigInt!]!
dropNull Table!

Drop rows with null values.

subset [String!]

columns names; defaults to all

how String!

remove if any or all are null

fillNull Table!

Fill null values.

name [String!]

column name(s); defaults to all

value JSON

JSON scalar

scalar Scalars!

typed scalar

project Table!

Mutate columns by expressions.

Renamed to not be confused with a mutation.

columns [Projection!]!
runs Table!

Provisionally group table by adjacent values in columns.

by [String!]!

column names to compare by equality

split [Expression!]!

boolean column expressions to split on true values

counts String!

optionally include counts in an aliased column

order String!

alias of row number to maintain order

aggregate Aggregates!

aggregation functions applied to other columns

columns Columns!

fields for each column

row Row

Return scalar values at index.

index BigInt!
filter Table!

Filter rows by predicates.

Schema derived fields provide syntax for simple queries; where supports complex queries.

latitude FloatFilter!
longitude FloatFilter!
state StrFilter!
city StrFilter!
county StrFilter!
zipcode IntFilter!
where Expression

Objects

ArrayColumn

array column

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
unnest Column!

Unnest an array into a column.

Combine with length to efficiently regroup.

length [BigInt]!

Compute the length of an array.

Base64Column

generic column

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
values [Base64]!

list of values

distinct Base64Set!

distinct values and counts

first Base64

Return the first value of a column.

last Base64

Return the last value of a column.

dropNull [Base64!]!

non-null values

fillNull [Base64!]!

Replace NULLs with the given value. Does NOT affect NaN and inf values.

value Base64!
mode Base64

Return the mode of a column.

min Base64

Return the minimum of a column.

max Base64

Return the maximum of a column.

quantile [Base64!]

Return value at the given quantile.

q [Float!]!

Base64Set

distinct values and counts

Field Argument Type Description
values [Base64]!

distinct values

counts [BigInt!]!

corresponding counts

BigIntColumn

integer column

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
values [BigInt]!

list of values

distinct BigIntSet!

distinct values and counts

first BigInt

Return the first value of a column.

last BigInt

Return the last value of a column.

dropNull [BigInt!]!

non-null values

fillNull [BigInt!]!

Replace NULLs with the given value. Does NOT affect NaN and inf values.

value BigInt!
mode BigInt

Return the mode of a column.

min BigInt

Return the minimum of a column.

max BigInt

Return the maximum of a column.

quantile [Float!]

Return value at the given quantile.

q [Float!]!
approx Boolean!
sum BigInt

Return the sum of a numeric column.

mean Float

Return the mean of a numeric column.

std Float

Return the standard deviation of a numeric column.

how String!
var Float

Return the variance of a numeric column.

how String!
takeFrom Dataset

Select indices from a table on the root Query type.

field String!

BigIntSet

distinct values and counts

Field Argument Type Description
values [BigInt]!

distinct values

counts [BigInt!]!

corresponding counts

BoolSet

distinct values and counts

Field Argument Type Description
values [Boolean]!

distinct values

counts [BigInt!]!

corresponding counts

BooleanColumn

boolean column

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
values [Boolean]!

list of values

distinct BoolSet!

distinct values and counts

first Boolean

Return the first value of a column.

last Boolean

Return the last value of a column.

dropNull [Boolean!]!

non-null values

fillNull [Boolean!]!

Replace NULLs with the given value. Does NOT affect NaN and inf values.

value Boolean!
mode Boolean

Return the mode of a column.

min Boolean

Return the minimum of a column.

max Boolean

Return the maximum of a column.

quantile [Float!]

Return value at the given quantile.

q [Float!]!
approx Boolean!
sum Boolean

Return the sum of a numeric column.

mean Float

Return the mean of a numeric column.

std Float

Return the standard deviation of a numeric column.

how String!
var Float

Return the variance of a numeric column.

how String!
any Boolean

Return whether at least one element is True.

all Boolean

Return whether all elements are True.

Columns

fields for each column

Field Argument Type Description
latitude FloatColumn
longitude FloatColumn
state StringColumn
city StringColumn
county StringColumn
zipcode IntColumn

DateColumn

temporal column

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
values [Date]!

list of values

distinct DateSet!

distinct values and counts

first Date

Return the first value of a column.

last Date

Return the last value of a column.

dropNull [Date!]!

non-null values

fillNull [Date!]!

Replace NULLs with the given value. Does NOT affect NaN and inf values.

value Date!
mode Date

Return the mode of a column.

min Date

Return the minimum of a column.

max Date

Return the maximum of a column.

quantile [Date!]

Return value at the given quantile.

q [Float!]!

DateSet

distinct values and counts

Field Argument Type Description
values [Date]!

distinct values

counts [BigInt!]!

corresponding counts

DatetimeColumn

temporal column

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
values [DateTime]!

list of values

distinct DatetimeSet!

distinct values and counts

first DateTime

Return the first value of a column.

last DateTime

Return the last value of a column.

dropNull [DateTime!]!

non-null values

fillNull [DateTime!]!

Replace NULLs with the given value. Does NOT affect NaN and inf values.

value DateTime!
mode DateTime

Return the mode of a column.

min DateTime

Return the minimum of a column.

max DateTime

Return the maximum of a column.

quantile [DateTime!]

Return value at the given quantile.

q [Float!]!

DatetimeSet

distinct values and counts

Field Argument Type Description
values [DateTime]!

distinct values

counts [BigInt!]!

corresponding counts

DecimalColumn

numeric column

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
values [Decimal]!

list of values

distinct DecimalSet!

distinct values and counts

first Decimal

Return the first value of a column.

last Decimal

Return the last value of a column.

dropNull [Decimal!]!

non-null values

fillNull [Decimal!]!

Replace NULLs with the given value. Does NOT affect NaN and inf values.

value Decimal!
mode Decimal

Return the mode of a column.

min Decimal

Return the minimum of a column.

max Decimal

Return the maximum of a column.

quantile [Float!]

Return value at the given quantile.

q [Float!]!
approx Boolean!
sum Decimal

Return the sum of a numeric column.

mean Float

Return the mean of a numeric column.

std Float

Return the standard deviation of a numeric column.

how String!
var Float

Return the variance of a numeric column.

how String!

DecimalSet

distinct values and counts

Field Argument Type Description
values [Decimal]!

distinct values

counts [BigInt!]!

corresponding counts

DurationColumn

provisional interval column

Interval support varies by backend; durations may still be useful for computation and as scalar inputs.

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
values [Duration]!

list of values

distinct DurationSet!

distinct values and counts

first Duration

Return the first value of a column.

last Duration

Return the last value of a column.

dropNull [Duration!]!

non-null values

fillNull [Duration!]!

Replace NULLs with the given value. Does NOT affect NaN and inf values.

value Duration!
mode Duration

Return the mode of a column.

min Duration

Return the minimum of a column.

max Duration

Return the maximum of a column.

quantile [Duration!]

Return value at the given quantile.

q [Float!]!

DurationSet

distinct values and counts

Field Argument Type Description
values [Duration]!

distinct values

counts [BigInt!]!

corresponding counts

FloatColumn

numeric column

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
values [Float]!

list of values

distinct FloatSet!

distinct values and counts

first Float

Return the first value of a column.

last Float

Return the last value of a column.

dropNull [Float!]!

non-null values

fillNull [Float!]!

Replace NULLs with the given value. Does NOT affect NaN and inf values.

value Float!
mode Float

Return the mode of a column.

min Float

Return the minimum of a column.

max Float

Return the maximum of a column.

quantile [Float!]

Return value at the given quantile.

q [Float!]!
approx Boolean!
sum Float

Return the sum of a numeric column.

mean Float

Return the mean of a numeric column.

std Float

Return the standard deviation of a numeric column.

how String!
var Float

Return the variance of a numeric column.

how String!

FloatSet

distinct values and counts

Field Argument Type Description
values [Float]!

distinct values

counts [BigInt!]!

corresponding counts

IntColumn

integer column

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
values [Int]!

list of values

distinct IntSet!

distinct values and counts

first Int

Return the first value of a column.

last Int

Return the last value of a column.

dropNull [Int!]!

non-null values

fillNull [Int!]!

Replace NULLs with the given value. Does NOT affect NaN and inf values.

value Int!
mode Int

Return the mode of a column.

min Int

Return the minimum of a column.

max Int

Return the maximum of a column.

quantile [Float!]

Return value at the given quantile.

q [Float!]!
approx Boolean!
sum Int

Return the sum of a numeric column.

mean Float

Return the mean of a numeric column.

std Float

Return the standard deviation of a numeric column.

how String!
var Float

Return the variance of a numeric column.

how String!
takeFrom Dataset

Select indices from a table on the root Query type.

field String!

IntSet

distinct values and counts

Field Argument Type Description
values [Int]!

distinct values

counts [BigInt!]!

corresponding counts

JSONColumn

struct column

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
values [JSON]!

list of values

distinct JSONSet!

distinct values and counts

first JSON

Return the first value of a column.

last JSON

Return the last value of a column.

dropNull [JSON!]!

non-null values

fillNull [JSON!]!

Replace NULLs with the given value. Does NOT affect NaN and inf values.

value JSON!
mode JSON

Return the mode of a column.

min JSON

Return the minimum of a column.

max JSON

Return the maximum of a column.

quantile [JSON!]

Return value at the given quantile.

q [Float!]!
names [String!]!

field names

types [String!]!

field types

JSONSet

distinct values and counts

Field Argument Type Description
values [JSON]!

distinct values

counts [BigInt!]!

corresponding counts

Row

scalar fields

Field Argument Type Description
latitude Float
longitude Float
state String
city String
county String
zipcode Int

Schema

table schema

Field Argument Type Description
names [String!]!

field names

types [String!]!

data type, corresponding to names

partitioning [String!]!

partition keys

StrSet

distinct values and counts

Field Argument Type Description
values [String]!

distinct values

counts [BigInt!]!

corresponding counts

StringColumn

string column

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
values [String]!

list of values

distinct StrSet!

distinct values and counts

first String

Return the first value of a column.

last String

Return the last value of a column.

dropNull [String!]!

non-null values

fillNull [String!]!

Replace NULLs with the given value. Does NOT affect NaN and inf values.

value String!
mode String

Return the mode of a column.

min String

Return the minimum of a column.

max String

Return the maximum of a column.

quantile [String!]

Return value at the given quantile.

q [Float!]!

TimeColumn

temporal column

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!
values [Time]!

list of values

distinct TimeSet!

distinct values and counts

first Time

Return the first value of a column.

last Time

Return the last value of a column.

dropNull [Time!]!

non-null values

fillNull [Time!]!

Replace NULLs with the given value. Does NOT affect NaN and inf values.

value Time!
mode Time

Return the mode of a column.

min Time

Return the minimum of a column.

max Time

Return the maximum of a column.

quantile [Time!]

Return value at the given quantile.

q [Float!]!

TimeSet

distinct values and counts

Field Argument Type Description
values [Time]!

distinct values

counts [BigInt!]!

corresponding counts

Inputs

Aggregate

name and optional alias for aggregation

Field Type Description
name String!

column name

alias String!

output column name

where Expression

Aggregates

aggregation expressions

Field Type Description
all [Aggregate!]!

Return whether all elements are True.

any [Aggregate!]!

Return whether at least one element is True.

collect [CollectAggregate!]!

Aggregate this expression’s elements into an array.

count [Aggregate!]!

Compute the number of rows in an expression.

first [OrderAggregate!]!

Return the first value of a column.

last [OrderAggregate!]!

Return the last value of a column.

max [Aggregate!]!

Return the maximum of a column.

mean [Aggregate!]!

Return the mean of a numeric column.

min [Aggregate!]!

Return the minimum of a column.

nunique [UniqueAggregate!]!

Compute the number of distinct rows in an expression.

quantile [QuantileAggregate!]!

Return value at the given quantile.

std [VarAggregate!]!

Return the standard deviation of a numeric column.

sum [Aggregate!]!

Return the sum of a numeric column.

var [VarAggregate!]!

Return the variance of a numeric column.

Arrays

array expressions

Field Type Description
alls Expression

Return whether all elements (ignoring nulls) in the array are true.

anys Expression

Return whether any element in the array is true.

length Expression

Compute the length of an array.

maxs Expression

Return the maximum value in the array.

means Expression

Return the mean of the values in the array.

modes Expression

Return the mode of the values in the array.

mins Expression

Return the minimum value in the array.

sort Expression

Sort the elements in an array.

sums Expression

Return the sum of the values in the array.

unique Expression

Return the unique values in an array.

index [Expression!]!

Return the position of other in an array.

slice Expression

array slice

value Expression

value at offset

offset Int!
limit Int

CollectAggregate

Field Type Description
name String!

column name

alias String!

output column name

where Expression
orderBy [String!]!
includeNull Boolean!
distinct Boolean!

Expression

expression API

Field Type Description
name [String!]!

column name(s)

value JSON

JSON scalar

scalar Scalars

typed scalar

rowNumber Void

Return an analytic function expression for the current row number.

eq [Expression!]!

==

ne [Expression!]!

!=

lt [Expression!]!

<

le [Expression!]!

<=

gt [Expression!]!

>

ge [Expression!]!

>=

isin [Expression!]!

Check whether this expression is in values.

notin [Expression!]!

Check whether this expression is not in values.

inv Expression

~

and [Expression!]!

&

or [Expression!]!
xor [Expression!]!

^

add [Expression!]!
sub [Expression!]!
mul [Expression!]!
div [Expression!]!

/

coalesce [Expression!]!

Return the first non-null value from args.

cumeDist Expression

Return the cumulative distribution over a window.

cummax Expression

Return the cumulative max over a window.

cummin Expression

Return the cumulative min over a window.

denseRank Expression

Position of first element within each group of equal values.

ifelse [Expression!]!

Construct a ternary conditional expression.

percentRank Expression

Return the relative rank of the values in the column.

rank Expression

Compute position of first element within each equal-value group in sorted order.

array Arrays

array value functions

numeric Numeric

numeric functions

string Strings

string functions

temporal Temporal

temporal functions

window Window

window functions

Field

a schema field

Field Type Description
name String!
type String!

FloatFilter

predicates for scalars

Field Type Description
eq [Float!]

== or isin

ne [Float!]

!= or notin

lt Float

<

le Float

<=

gt Float

>

ge Float

>=

IntFilter

predicates for scalars

Field Type Description
eq [Int!]

== or isin

ne [Int!]

!= or notin

lt Int

<

le Int

<=

gt Int

>

ge Int

>=

Numeric

numeric expressions

Field Type Description
abs Expression

Return the absolute value of self.

acos Expression

Compute the arc cosine of self.

asin Expression

Compute the arc sine of self.

atan Expression

Compute the arc tangent of self.

atan2 [Expression!]!

Compute the two-argument version of arc tangent.

ceil Expression

Return the ceiling of self.

cos Expression

Compute the cosine of self.

exp Expression

Compute \(e^\texttt{self}\).

floor Expression

Return the floor of an expression.

isinf Expression

Return whether the value is +/-inf. Does NOT detect NULL and inf values.

isnan Expression

Return whether the value is NaN. Does NOT detect NULL and inf values.

log [Expression!]!

Compute \(\log_{\texttt{base}}\left(\texttt{self}\right)\).

negate Expression

Negate a numeric expression.

round [Expression!]!

Round values to an indicated number of decimal places.

sign Expression

Return the sign of the input.

sin Expression

Compute the sine of self.

sqrt Expression

Compute the square root of self.

tan Expression

Compute the tangent of self.

bucket Expression

Compute a discrete binning of a numeric array.

cummean Expression

Return the cumulative mean of the input.

cumsum Expression

Return the cumulative sum of the input.

buckets [JSON!]!
closed String!
closeExtreme Boolean!
includeUnder Boolean!
includeOver Boolean!

OrderAggregate

Field Type Description
name String!

column name

alias String!

output column name

where Expression
orderBy [String!]!
includeNull Boolean!

Projection

an Expression with an optional alias

Field Type Description
name [String!]!

column name(s)

value JSON

JSON scalar

scalar Scalars

typed scalar

rowNumber Void

Return an analytic function expression for the current row number.

eq [Expression!]!

==

ne [Expression!]!

!=

lt [Expression!]!

<

le [Expression!]!

<=

gt [Expression!]!

>

ge [Expression!]!

>=

isin [Expression!]!

Check whether this expression is in values.

notin [Expression!]!

Check whether this expression is not in values.

inv Expression

~

and [Expression!]!

&

or [Expression!]!
xor [Expression!]!

^

add [Expression!]!
sub [Expression!]!
mul [Expression!]!
div [Expression!]!

/

coalesce [Expression!]!

Return the first non-null value from args.

cumeDist Expression

Return the cumulative distribution over a window.

cummax Expression

Return the cumulative max over a window.

cummin Expression

Return the cumulative min over a window.

denseRank Expression

Position of first element within each group of equal values.

ifelse [Expression!]!

Construct a ternary conditional expression.

percentRank Expression

Return the relative rank of the values in the column.

rank Expression

Compute position of first element within each equal-value group in sorted order.

array Arrays

array value functions

numeric Numeric

numeric functions

string Strings

string functions

temporal Temporal

temporal functions

window Window

window functions

alias String!

name of projected column

QuantileAggregate

Field Type Description
name String!

column name

alias String!

output column name

where Expression
approx Boolean!
q Float!

Scalars

typed scalars

Field Type Description
base64 Base64

binary scalar

date Date

date scalar

datetime DateTime

datetime scalar

decimal Decimal

decimal scalar

duration Duration

duration scalar

time Time

time scalar

StrFilter

predicates for scalars

Field Type Description
eq [String!]

== or isin

ne [String!]

!= or notin

lt String

<

le String

<=

gt String

>

ge String

>=

Strings

string expressions

Field Type Description
capitalize Expression

Uppercase the first letter, lowercase the rest.

contains [Expression!]!

Return whether the expression contains substr.

endswith [Expression!]!

Determine if self ends with end.

find [Expression!]!

Return the position of the first occurrence of substring.

length Expression

Compute the length of a string.

lower Expression

Convert string to all lowercase.

lpad [Expression!]!

Pad arg by truncating on the right or padding on the left.

lstrip [Expression!]!

Remove whitespace from the left side of string.

reExtract [Expression!]!

Return the specified match at index from a regex pattern.

reSearch [Expression!]!

Return whether self contains the regex pattern.

reSplit [Expression!]!

Split a string by a regular expression pattern.

replace [Expression!]!

Replace each exact match of pattern with replacement.

reverse Expression

Reverse the characters of a string.

rpad [Expression!]!

Pad self by truncating or padding on the right.

rstrip [Expression!]!

Remove whitespace from the right side of string.

split [Expression!]!

Split as string on delimiter.

startswith [Expression!]!

Determine whether self starts with start.

strip [Expression!]!

Remove whitespace from left and right sides of a string.

upper Expression

Convert string to all uppercase.

Temporal

temporal expressions

Field Type Description
date Expression

Return the date component of the expression.

day Expression

Extract the day component.

dayOfYear Expression

Extract the day of the year component.

delta [Expression!]!

Compute the number of parts between two timestamps.

epochSeconds Expression

Extract UNIX epoch in seconds.

hour Expression

Extract the hour component.

microsecond Expression

Extract the microsecond component.

millisecond Expression

Extract the millisecond component.

minute Expression

Extract the minute component.

month Expression

Extract the month component.

quarter Expression

Extract the quarter component.

second Expression

Extract the second component.

strftime Expression

Format a timestamp according to format_str.

time Expression

Return the time component of the expression.

truncate Expression

Truncate timestamp expression to units of unit.

weekOfYear Expression

Extract the week of the year component.

year Expression

Extract the year component.

formatStr String!
unit String!

UniqueAggregate

Field Type Description
name String!

column name

alias String!

output column name

where Expression
approx Boolean!

VarAggregate

Field Type Description
name String!

column name

alias String!

output column name

where Expression
how String!

Window

window expressions

Field Type Description
lag Expression

Return the row located at offset rows before the current row.

lead Expression

Return the row located at offset rows after the current row.

eq Expression

pairwise ==

ne Expression

pairwise !=

lt Expression

pairwise <

le Expression

pairwise <=

gt Expression

pairwise >

ge Expression

pairwise >=

sub Expression

pairwise -

offset Int!
default JSON

default JSON scalar

scalar Scalars

default typed scalar

Scalars

Base64

Represents binary data as Base64-encoded strings, using the standard alphabet.

BigInt

64-bit int

Boolean

The Boolean scalar type represents true or false.

Date

Date (isoformat)

DateTime

Date with time (isoformat)

Decimal

Decimal (fixed-point)

Duration

Duration (isoformat)

Float

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

JSON

The JSON scalar type represents JSON values as specified by ECMA-404.

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Time

Time (isoformat)

Void

Represents NULL values

Interfaces

Column

ibis column interface

Field Argument Type Description
type String!

data type

count BigInt!

Compute the number of rows in an expression.

nunique BigInt!

Compute the number of distinct rows in an expression.

approx Boolean!

Possible Types: ArrayColumn, Base64Column, BigIntColumn, BooleanColumn, DateColumn, DatetimeColumn, DecimalColumn, DurationColumn, FloatColumn, IntColumn, JSONColumn, StringColumn, TimeColumn

Dataset

ibis Table or arrow Dataset

Field Argument Type Description
toSql String!

Compile to a formatted SQL string.

dialect String

output SQL dialect; defaults to the backend’s native dialect

pretty Boolean!

whether to use pretty formatting

type String!

ibis table or arrow dataset

schema Schema!

table schema

cast Dataset!

Cast the columns of a table.

schema [Field!]!

field names and types

try Boolean!

return null if cast fails

optional Dataset

Nullable field to stop error propagation, enabling partial query results.

count BigInt!

Count the number of rows.

any Boolean!

Whether there are at least limit rows.

May be significantly faster than count for out-of-core data.

limit BigInt!
column Column

Column of any type by name.

If the column is in the schema, columns can be used instead.

name [String!]!

column name(s); multiple names access nested struct fields

cast String!

cast expression to indicated data type

try Boolean!

return null if cast fails

index [BigInt!]!

column index(es); may access array offsets

slice Dataset!

Limit row selection.

offset BigInt!

number of rows to skip; negative value skips from the end

limit BigInt

maximum number of rows to return

distinct Dataset!

Remove duplicate rows from table.

Differs from group by keeping all columns, and defaulting to all keys.

on [String!]

column names to deduplicate on; defaults to all

keep String

which duplicates to keep

counts String!

value counts; incompatible with keep: null

order String!

optionally include and order by first row number; incompatible with on: null

group Dataset!

Group table by columns.

by [String!]!

column names; empty will aggregate into a single row table

counts String!

optionally include counts in an aliased column

order String!

optionally include and order by first row number

aggregate Aggregates!

aggregation functions applied to other columns

order Dataset!

Sort table by columns.

by [String!]!

column names; prefix with - for descending order

limit BigInt

maximum number of rows to return; optimized for partitioned dataset keys

first Dataset!

Provisionally sort and filter by rank.

by [String!]!

column names; prefix with - for descending order

rank Int!

maximum rank of rows to return; optimized for partitioned dataset keys

dense Boolean!

use dense rank (all ties) or sparse rank (only ties at the boundary)

unnest Dataset!

Unnest an array column from a table.

name String!

column name

offset String!

optionally include index column

keepEmpty Boolean!

keep empty array values as null

order String!

optionally include and order by row number; optionally by offset too

unpack Dataset!

Unpack the struct fields of each column.

names [String!]!

column names

join Dataset!

Join two tables.

right String!

name of right table; must be on root Query type

keys [String!]!

column names used as keys on the left side

rkeys [String!]!

column names used as keys on the right side; defaults to left side

how String!

the kind of join: ‘inner’, ‘left’, ‘right’, …

lname String!

format string to use to rename overlapping columns in the left table

rname String!

format string to use to rename overlapping columns in the right table

asofJoin Dataset!

As-of join on nearest key rather than equal keys.

right String!

name of right table; must be on root Query type

on String!

column name for closest-match inequality (e.g. timestamp)

keys [String!]!

column names used as keys on the left side

rkeys [String!]!

column names used as keys on the right side; defaults to left side

tolerance JSON

optional look-back window for the as-of match

scalar Scalars!

typed scalar for `tolerance

lname String!

format string to rename overlapping columns in the left table

rname String!

format string to rename overlapping columns in the right table

crossJoin Dataset!

Cross join with one or more tables.

right [String!]!

name(s) of right table; must be on root Query type

lname String!

format string to rename overlapping columns in the left table

rname String!

format string to rename overlapping columns in the right table

difference Dataset!

Set difference of tables.

table [String!]!

name(s) of other table; must be on root Query type

distinct Boolean!

use set difference (true) or multiset difference (false)

intersect Dataset!

Set intersection of tables.

table [String!]!

name(s) of other table; must be on root Query type

distinct Boolean!

use set difference (true) or multiset difference (false)

union Dataset!

Set union of tables.

table [String!]!

name(s) of other table; must be on root Query type

distinct Boolean!

use set difference (true) or multiset difference (false)

take Dataset!

Take rows by index.

indices [BigInt!]!
dropNull Dataset!

Drop rows with null values.

subset [String!]

columns names; defaults to all

how String!

remove if any or all are null

fillNull Dataset!

Fill null values.

name [String!]

column name(s); defaults to all

value JSON

JSON scalar

scalar Scalars!

typed scalar

project Dataset!

Mutate columns by expressions.

Renamed to not be confused with a mutation.

columns [Projection!]!
runs Dataset!

Provisionally group table by adjacent values in columns.

by [String!]!

column names to compare by equality

split [Expression!]!

boolean column expressions to split on true values

counts String!

optionally include counts in an aliased column

order String!

alias of row number to maintain order

aggregate Aggregates!

aggregation functions applied to other columns

Possible Types: Table