Querying
Data Types
Supported by:
Google Spreadsheets will always return data as String
values
BaseQL supports querying most Airtable data types, checkout our StangerThings
kitchensink base (opens in a new tab):
{strangerThings {checkBoxratingmultiSelectcurrencyattachments}}
Relationships & Nested values
Supported by:
You can query nested values at an arbitrialy deep level:
{people(name: "ben") {namefriends {namefriends {name}}}}
Sanitization
Supported by:
BaseQL will automatically sanitize table and column names to comply with the GraphQL Specification (opens in a new tab), by:
- Deburring (opens in a new tab) & removing special and Non-ASCII characters.
- Trim spaces by camelCase (opens in a new tab)’ing
- Prepending an underscore when it starts with a number
In addition, BaseQL will sanitize field names which collide with reserved fields. Currently the only reserved field is the id
field.
Examples:
déjà vu%
->dejaVu
99Ballons
->_99Ballons
ID
->_id
Misc GraphQL
Supported by:
BaseQL currently supports other standard GraphQL features such as Aliases (opens in a new tab), Fragments (opens in a new tab), Operation Names (opens in a new tab) and Variables (opens in a new tab):
query Veganism($country: [String] = ["🇺🇸USA"]) {vegan: people(vegan: true, country: $country) { ...peopleFields },nonVegan: people(vegan: false, country: $country) { ...peopleFields }}fragment peopleFields on people {namevegancountryfriends {namevegancountry}}