{
"$id": "https://schemas.don.projects.digilab.network/schemas/api-register/pdok/_shared/queryables",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"queryables": {
"items": {
"oneOf": [
{
"allOf": [
{
"discriminator": {
"mapping": {
"boolean": "queryable-boolean",
"date": "queryable-date",
"dateTime": "queryable-dateTime",
"enum": "queryable-enum",
"integer": "queryable-number",
"number": "queryable-number",
"string": "queryable-string",
"uri": "queryable-string"
},
"propertyName": "type"
},
"properties": {
"description": {
"description": "a description of the property",
"type": [
"string",
"null"
]
},
"id": {
"description": "the property name for use in expressions",
"type": [
"string",
"null"
]
},
"mediaTypes": {
"description": "In cases where a property is available only in a subset of the\nsupported feature encodings, the list of the media types of the\nencodings can be specified.\n\nThis capabilitiy is also needed for cases where the names of\nproperties may differ between feature encodings. For example, \nidentifiers in an XML/GML encoding may include a namespace, \nin GeoJSON or MVT this is not the case. \n\nThere are other reasons, too. For example, the property identifier\nin a Shapefile may be different because of length restrictions.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"required": {
"default": false,
"description": "indicator whether the property is always present in features",
"type": [
"boolean",
"null"
]
},
"title": {
"description": "the title of the property for presentation to a human user",
"type": [
"string",
"null"
]
},
"type": {
"description": "the data type of the property",
"enum": [
"string",
"uri",
"enum",
"number",
"integer",
"date",
"dateTime",
"boolean"
],
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"type"
],
"type": [
"object",
"null"
]
},
{
"properties": {
"pattern": {
"description": "a regular expression to validate the values of the property",
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
}
],
"examples": [
{
"description": "the name of the vegetation area",
"examples": [
"[A-Z0-9]{5}"
],
"id": "name",
"required": true,
"type": "string"
}
]
},
{
"allOf": [
{
"discriminator": {
"mapping": {
"boolean": "queryable-boolean",
"date": "queryable-date",
"dateTime": "queryable-dateTime",
"enum": "queryable-enum",
"integer": "queryable-number",
"number": "queryable-number",
"string": "queryable-string",
"uri": "queryable-string"
},
"propertyName": "type"
},
"properties": {
"description": {
"description": "a description of the property",
"type": [
"string",
"null"
]
},
"id": {
"description": "the property name for use in expressions",
"type": [
"string",
"null"
]
},
"mediaTypes": {
"description": "In cases where a property is available only in a subset of the\nsupported feature encodings, the list of the media types of the\nencodings can be specified.\n\nThis capabilitiy is also needed for cases where the names of\nproperties may differ between feature encodings. For example, \nidentifiers in an XML/GML encoding may include a namespace, \nin GeoJSON or MVT this is not the case. \n\nThere are other reasons, too. For example, the property identifier\nin a Shapefile may be different because of length restrictions.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"required": {
"default": false,
"description": "indicator whether the property is always present in features",
"type": [
"boolean",
"null"
]
},
"title": {
"description": "the title of the property for presentation to a human user",
"type": [
"string",
"null"
]
},
"type": {
"description": "the data type of the property",
"enum": [
"string",
"uri",
"enum",
"number",
"integer",
"date",
"dateTime",
"boolean"
],
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"type"
],
"type": [
"object",
"null"
]
},
{
"properties": {
"values": {
"description": "the list of values of the property",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
}
},
"required": [
"values"
],
"type": [
"object",
"null"
]
}
],
"examples": [
{
"description": "the dominant charcteristic of vegetation area",
"id": "type",
"type": "enum",
"values": [
"grassland",
"forest",
"farmland"
]
}
]
},
{
"allOf": [
{
"discriminator": {
"mapping": {
"boolean": "queryable-boolean",
"date": "queryable-date",
"dateTime": "queryable-dateTime",
"enum": "queryable-enum",
"integer": "queryable-number",
"number": "queryable-number",
"string": "queryable-string",
"uri": "queryable-string"
},
"propertyName": "type"
},
"properties": {
"description": {
"description": "a description of the property",
"type": [
"string",
"null"
]
},
"id": {
"description": "the property name for use in expressions",
"type": [
"string",
"null"
]
},
"mediaTypes": {
"description": "In cases where a property is available only in a subset of the\nsupported feature encodings, the list of the media types of the\nencodings can be specified.\n\nThis capabilitiy is also needed for cases where the names of\nproperties may differ between feature encodings. For example, \nidentifiers in an XML/GML encoding may include a namespace, \nin GeoJSON or MVT this is not the case. \n\nThere are other reasons, too. For example, the property identifier\nin a Shapefile may be different because of length restrictions.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"required": {
"default": false,
"description": "indicator whether the property is always present in features",
"type": [
"boolean",
"null"
]
},
"title": {
"description": "the title of the property for presentation to a human user",
"type": [
"string",
"null"
]
},
"type": {
"description": "the data type of the property",
"enum": [
"string",
"uri",
"enum",
"number",
"integer",
"date",
"dateTime",
"boolean"
],
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"type"
],
"type": [
"object",
"null"
]
},
{
"properties": {
"range": {
"description": "a range of valid values; open range can be expressed using `null`",
"items": {
"type": [
"number",
"null"
]
},
"maxItems": 2,
"minItems": 2,
"type": [
"array",
"null"
]
}
},
"type": [
"object",
"null"
]
}
],
"examples": [
{
"description": "the number of cattle",
"id": "count",
"range": [
0,
null
],
"type": "integer"
}
]
},
{
"discriminator": {
"mapping": {
"boolean": "queryable-boolean",
"date": "queryable-date",
"dateTime": "queryable-dateTime",
"enum": "queryable-enum",
"integer": "queryable-number",
"number": "queryable-number",
"string": "queryable-string",
"uri": "queryable-string"
},
"propertyName": "type"
},
"examples": [
{
"description": "indicator whether the area is walled or fenced",
"id": "fenced",
"type": "boolean"
}
],
"properties": {
"description": {
"description": "a description of the property",
"type": [
"string",
"null"
]
},
"id": {
"description": "the property name for use in expressions",
"type": [
"string",
"null"
]
},
"mediaTypes": {
"description": "In cases where a property is available only in a subset of the\nsupported feature encodings, the list of the media types of the\nencodings can be specified.\n\nThis capabilitiy is also needed for cases where the names of\nproperties may differ between feature encodings. For example, \nidentifiers in an XML/GML encoding may include a namespace, \nin GeoJSON or MVT this is not the case. \n\nThere are other reasons, too. For example, the property identifier\nin a Shapefile may be different because of length restrictions.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"required": {
"default": false,
"description": "indicator whether the property is always present in features",
"type": [
"boolean",
"null"
]
},
"title": {
"description": "the title of the property for presentation to a human user",
"type": [
"string",
"null"
]
},
"type": {
"description": "the data type of the property",
"enum": [
"string",
"uri",
"enum",
"number",
"integer",
"date",
"dateTime",
"boolean"
],
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"type"
],
"type": [
"object",
"null"
]
},
{
"allOf": [
{
"discriminator": {
"mapping": {
"boolean": "queryable-boolean",
"date": "queryable-date",
"dateTime": "queryable-dateTime",
"enum": "queryable-enum",
"integer": "queryable-number",
"number": "queryable-number",
"string": "queryable-string",
"uri": "queryable-string"
},
"propertyName": "type"
},
"properties": {
"description": {
"description": "a description of the property",
"type": [
"string",
"null"
]
},
"id": {
"description": "the property name for use in expressions",
"type": [
"string",
"null"
]
},
"mediaTypes": {
"description": "In cases where a property is available only in a subset of the\nsupported feature encodings, the list of the media types of the\nencodings can be specified.\n\nThis capabilitiy is also needed for cases where the names of\nproperties may differ between feature encodings. For example, \nidentifiers in an XML/GML encoding may include a namespace, \nin GeoJSON or MVT this is not the case. \n\nThere are other reasons, too. For example, the property identifier\nin a Shapefile may be different because of length restrictions.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"required": {
"default": false,
"description": "indicator whether the property is always present in features",
"type": [
"boolean",
"null"
]
},
"title": {
"description": "the title of the property for presentation to a human user",
"type": [
"string",
"null"
]
},
"type": {
"description": "the data type of the property",
"enum": [
"string",
"uri",
"enum",
"number",
"integer",
"date",
"dateTime",
"boolean"
],
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"type"
],
"type": [
"object",
"null"
]
},
{
"properties": {
"range": {
"description": "a range of valid values; open range can be expressed using `null`",
"items": {
"format": "date",
"type": [
"string",
"null"
]
},
"maxItems": 2,
"minItems": 2,
"type": [
"array",
"null"
]
}
},
"type": [
"object",
"null"
]
}
],
"examples": [
{
"description": "the date of the last inspection",
"id": "inspectionDate",
"range": [
"2010-01-01",
null
],
"type": "date"
}
]
},
{
"allOf": [
{
"discriminator": {
"mapping": {
"boolean": "queryable-boolean",
"date": "queryable-date",
"dateTime": "queryable-dateTime",
"enum": "queryable-enum",
"integer": "queryable-number",
"number": "queryable-number",
"string": "queryable-string",
"uri": "queryable-string"
},
"propertyName": "type"
},
"properties": {
"description": {
"description": "a description of the property",
"type": [
"string",
"null"
]
},
"id": {
"description": "the property name for use in expressions",
"type": [
"string",
"null"
]
},
"mediaTypes": {
"description": "In cases where a property is available only in a subset of the\nsupported feature encodings, the list of the media types of the\nencodings can be specified.\n\nThis capabilitiy is also needed for cases where the names of\nproperties may differ between feature encodings. For example, \nidentifiers in an XML/GML encoding may include a namespace, \nin GeoJSON or MVT this is not the case. \n\nThere are other reasons, too. For example, the property identifier\nin a Shapefile may be different because of length restrictions.",
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"required": {
"default": false,
"description": "indicator whether the property is always present in features",
"type": [
"boolean",
"null"
]
},
"title": {
"description": "the title of the property for presentation to a human user",
"type": [
"string",
"null"
]
},
"type": {
"description": "the data type of the property",
"enum": [
"string",
"uri",
"enum",
"number",
"integer",
"date",
"dateTime",
"boolean"
],
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"type"
],
"type": [
"object",
"null"
]
},
{
"properties": {
"range": {
"description": "a range of valid values; open range can be expressed using `null`",
"items": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"maxItems": 2,
"minItems": 2,
"type": [
"array",
"null"
]
}
},
"type": [
"object",
"null"
]
}
],
"examples": [
{
"description": "the date of the last update of the feature",
"id": "lastUpdate",
"range": [
"2018-01-01T00:00:00Z",
null
],
"type": "dateTime"
}
]
}
]
},
"type": [
"array",
"null"
]
}
},
"required": [
"queryables"
],
"type": "object",
"x-derived-from": [
"https://api.pdok.nl/brt/top10nl/ogc/v1/openapi.json#/components/schemas/queryables",
"https://api.pdok.nl/kadaster/bestuurlijkegebieden/ogc/v1/openapi.json#/components/schemas/queryables",
"https://api.pdok.nl/kadaster/brk-kadastrale-kaart/ogc/v1/openapi.json#/components/schemas/queryables",
"https://api.pdok.nl/kadaster/brt-achtergrondkaart/ogc/v1/openapi.json#/components/schemas/queryables",
"https://api.pdok.nl/lv/bag/ogc/v1-demo/openapi.json#/components/schemas/queryables",
"https://api.pdok.nl/lv/bag/ogc/v1/openapi.json#/components/schemas/queryables",
"https://api.pdok.nl/lv/bgt/ogc/v1/openapi.json#/components/schemas/queryables"
]
}