Feature Collections - Queryablesspecstableimplmature
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
orconcat
.
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: Filtering.
Operations
Resource | Path | Methods | Media Types | Description |
---|---|---|---|---|
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
Name | Resources | Description |
---|---|---|
collectionId | Queryables | The identifier of the feature collection. |
Query Parameters
Name | Resources | Description |
---|---|---|
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
Name | Default | Description | Type | Since |
---|---|---|---|---|
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