Feature Collections - Queryables

specstableimplmature

Metadata about the properties of the features in a feature collection that can be used in filter expressions.

Scope

The queryables are represented as a schema where each queryable is a property. The schema for each queryable is automatically derived from the definition of the property in the feature provider. Supported encodings are JSON Schema and HTML.

The following types of properties cannot be queryables:

  • objects or arrays of objects;
  • properties with multiple sources, i.e., with coalesce or concat.

In addition, the following types of properties should not be queryables:

  • constant values;
  • properties with value transformations in the provider schema (stringFormat, dateFormat, nullify, map, codelist).

These properties are still accepted as queryables, if explicitly included. This behavior is deprecated, these properties will not be eligible as queryables in the next major version.

If the queryable property is a value, e.g., a string or integer, that is nested in an array, the type of the queryable will be an array of values.

Limitations

OGC API - Features - Part 3 does not specify how a queryable that is a feature reference which has more variables than the local feature id should be handled. If such a property is a queryable, the current implementation uses the local feature id as the value of the queryable. That is, such queryables are only useful, if the local feature ids are globally unique. As such, the current approach is a temporary solution that may still change in the future, if the behavior is specified in a standard.

Conformance Classes

Feature Collections - Queryables implements the conformance classes "Queryables" and "Queryables as Query Parameters" of OGC API - Features - Part 3: Filteringopen in new window.

Operations

ResourcePathMethodsMedia TypesDescription
Queryables
collections/{collectionId}/queryables
GET
HTML, JSON
The Queryables resource identifies and describes the properties that can be referenced in filter expressions to select specific features that meet the criteria identified in the filter. The response is a JSON Schema document that describes a single JSON object where each property is a queryable.

Path Parameters

NameResourcesDescription
collectionId
Queryables
The identifier of the feature collection.

Query Parameters

NameResourcesDescription
f
Queryables
Select the output format of the response. If no value is provided, the standard HTTP rules apply, i.e., the "Accept" header will be used to determine the format.

Configuration

Options

NameDefaultDescriptionTypeSince
buildingBlock
Always QUERYABLES.
string
v3.1
caching
{}
Sets fixed values for HTTP Caching Headers for the resources.
object
v3.1
enabled
true
Enable the building block?
boolean
v3.1
included
[]
The list of properties that can be used in CQL2 filter expressions and/or for which filtering query parameters are provided for a collection. Properties that are not of type OBJECT or OBJECT_ARRAY are eligible as queryables unless isQueryable is set to false for the property. The special value * includes all eligible properties as queryables. By default, no property is queryable.
array
v3.4
excluded
[]
The list of properties that would be queryables based on included, but which should not be queryables.
array
v3.4
pathSeparator
DOT
The character that is used as the path separator in case of object-valued properties. Either DOT or UNDERSCORE.
string
v3.4
enableEndpoint
true
If true, the Queryables endpoint will be enabled.
boolean
v3.4
asQueryParameters
true
If true, all queryables with a simple value (string, number or boolean) will be provided query parameters to filter features.
boolean
v3.4

Examples


- buildingBlock: QUERYABLES
  enabled: true
  included:
    - '*'
  excluded:
    - foo
    - bar
  pathSeparator: UNDERSCORE
  asQueryParameters: false