From 0893ae6db4e61ee18d6a23dc644049f6b4e83d24 Mon Sep 17 00:00:00 2001 From: ericgodwin Date: Thu, 21 May 2026 10:12:34 -0700 Subject: [PATCH 1/2] Added provider, resource, and version parameters to the sourcePropertyItem Signed-off-by: ericgodwin --- .../buildings/bad-sources-empty-provider.yaml | 16 +++++++++ examples/buildings/sources-with-version.yaml | 26 ++++++++++++++ schema/defs.yaml | 36 ++++++++++++++----- 3 files changed, 69 insertions(+), 9 deletions(-) create mode 100644 counterexamples/buildings/bad-sources-empty-provider.yaml create mode 100644 examples/buildings/sources-with-version.yaml diff --git a/counterexamples/buildings/bad-sources-empty-provider.yaml b/counterexamples/buildings/bad-sources-empty-provider.yaml new file mode 100644 index 000000000..59ed1d03e --- /dev/null +++ b/counterexamples/buildings/bad-sources-empty-provider.yaml @@ -0,0 +1,16 @@ +--- +id: overture:buildings:building:1234 +type: Feature +geometry: + type: Polygon + coordinates: [[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]] +properties: + theme: buildings + type: building + version: 1 + sources: + - dataset: MyGreatDataset + property: "/geometry" + provider: "" + resource: "" + version: "" diff --git a/examples/buildings/sources-with-version.yaml b/examples/buildings/sources-with-version.yaml new file mode 100644 index 000000000..f341227c0 --- /dev/null +++ b/examples/buildings/sources-with-version.yaml @@ -0,0 +1,26 @@ +--- +id: overture:buildings:building:1234 +type: Feature +geometry: + type: Polygon + coordinates: [[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]] +properties: + theme: buildings + type: building + version: 1 + sources: + - property: "/geometry" + dataset: osm-planet + provider: osm + resource: planet + version: '2078-08-28T14:44:41Z' + - property: "/properties/name" + dataset: metaML-buildings + provider: meta + resource: ml-buildings + version: 'abcdef' + - property: "/properties/height" + dataset: microsoft-buildings + provider: microsoft + resource: buildings + version: '352' diff --git a/schema/defs.yaml b/schema/defs.yaml index a20de9047..7b0652ca3 100644 --- a/schema/defs.yaml +++ b/schema/defs.yaml @@ -260,13 +260,14 @@ description: Common schema definitions shared by all themes enum: [left, right] sourcePropertyItem: description: >- - An object storing the source for a specificed property. The property + An object storing the source for a specified property. The property is a reference to the property element within this Feature, and will be referenced using JSON Pointer Notation RFC 6901 - (https://datatracker.ietf.org/doc/rfc6901/). The source dataset for - that referenced property will be specified in the overture list of - approved sources from the Overture Data Working Group that contains - the relevant metadata for that dataset including license source organization. + (https://datatracker.ietf.org/doc/rfc6901/). The source is currently + identified by the dataset field, but will, in the future, be replaced + by the combination of provider, resource, and version fields. + Additional metadata such as license, record_id, update_time, and + confidence may also be provided. type: object required: [property, dataset] allOf: @@ -292,14 +293,31 @@ description: Common schema definitions shared by all themes type: number minimum: 0 maximum: 1 + provider: + type: string + description: >- + The Provider Label for the entity that produced this data + (e.g. osm, meta, esri). + minLength: 1 + resource: + type: string + description: >- + The subject or type of data provided by the provider (e.g. planet, + buildings, division-names). + minLength: 1 + version: + type: string + description: >- + A sortable identifier for the specific snapshot of the resource + (e.g. 2026-02-13, 5.3, A5692). + minLength: 1 sources: description: >- The array of source information for the properties of a given feature, with each entry being a source object which - lists the property in JSON Pointer notation and the dataset - that specific value came from. All features must have a root - level source which is the default source if a specific - property's source is not specified. + lists the property in JSON Pointer notation. All features + must have a root level source which is the default source + if a specific property's source is not specified. type: array items: {"$ref" : "#/$defs/propertyDefinitions/sourcePropertyItem"} minItems: 1 From 55a6f6feb6a1a160e1036445f1e0e6313f547e9a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 21 May 2026 20:18:51 +0000 Subject: [PATCH 2/2] Allow null for source provider resource version Agent-Logs-Url: https://github.com/OvertureMaps/schema/sessions/2997187e-b460-4134-a7d3-bd9fab7b2c22 Co-authored-by: ericgodwin <1336911+ericgodwin@users.noreply.github.com> --- schema/defs.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/schema/defs.yaml b/schema/defs.yaml index 7b0652ca3..4bce6f440 100644 --- a/schema/defs.yaml +++ b/schema/defs.yaml @@ -294,19 +294,19 @@ description: Common schema definitions shared by all themes minimum: 0 maximum: 1 provider: - type: string + type: [string, "null"] description: >- The Provider Label for the entity that produced this data (e.g. osm, meta, esri). minLength: 1 resource: - type: string + type: [string, "null"] description: >- The subject or type of data provided by the provider (e.g. planet, buildings, division-names). minLength: 1 version: - type: string + type: [string, "null"] description: >- A sortable identifier for the specific snapshot of the resource (e.g. 2026-02-13, 5.3, A5692).