Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Complex Relational Data Models in JSON schemas #797

Closed
maxcollombin opened this issue Mar 3, 2023 · 4 comments · Fixed by #865
Closed

Support for Complex Relational Data Models in JSON schemas #797

maxcollombin opened this issue Mar 3, 2023 · 4 comments · Fixed by #865
Assignees

Comments

@maxcollombin
Copy link

maxcollombin commented Mar 3, 2023

Could you consider adding the possibility to return data model informations (constraints, relationships, p- and fkeys)
in the JSON schemas like the INTERLIS data models in Switzerland?

The idea behind this would be to allow the creation of any dataset (.geojson, .gpkg, .shp,...) from the model.

@maxcollombin maxcollombin changed the title Support for Complex Relational Data Models Support for Complex Relational Data Models in JSON schemas Mar 3, 2023
@jerstlouis
Copy link
Member

jerstlouis commented Mar 3, 2023

I believe this is related to Part X - Schemas and Part X - Search/Queries, and to some extent to OGC API - Joins, as well as to the relationship with SensorThings API and Connected Systems.

Having the ability to express the relational model, and possibly leverage it in queries as well.

@jerstlouis
Copy link
Member

Also related to #801

@cportele cportele added this to To do in Features Part 5: Schemas via automation Mar 13, 2023
@cportele
Copy link
Member

This issue is related to the scope of the planned part Schemas, so I have added it to that project board.

A few comments:

We can distinguish at least the following variations of a feature schema that are relevant:

  • A schema that describes the type independent of the feature encoding.
  • A schema that is specific to an encoding and can be used for validation (e.g., for GeoJSON, JSON-FG or GML). In some encodings, this information is part of the encoded data (e.g., for GeoPackage or FlatGeobuf).
  • The schema may also vary depending on the operation (create, replace, update, fetch, etc.).

There are use cases for all these variations, but we need to decide, what needs to be standardized.

Consistent with the approach for the Queryables, Sortables or Tile Set Metadata resources, the idea for the feature schema that is independent of an encoding would be to use JSON Schema as a general schema to specify an object schema.

This covers constraints, but there is no convention for expressing relationships in such a schema (*). There would likely be a need to distinguish multiple approaches, depending on the source data. Relationships may be between features in the same dataset, between features in different datasets, loosely coupled links to any resource using a URI, etc.

(*) This is separate from the considerations how to express relationships in the encoded data, where in a Web API a typical approach will be to represent them as a URI or web link consistent with RFC 8288.

@cportele cportele moved this from To do to In progress in Features Part 5: Schemas Jun 19, 2023
@cportele
Copy link
Member

cportele commented Jul 3, 2023

This is a part of the discussion in #740. Once #740 can be closed, this issue can likely be closed, too.

@cportele cportele self-assigned this Jul 3, 2023
@cportele cportele moved this from In progress to To be drafted in Features Part 5: Schemas Jul 3, 2023
@cportele cportele moved this from To be drafted to Review in progress in Features Part 5: Schemas Oct 22, 2023
Features Part 5: Schemas automation moved this from Review in progress to Done Oct 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging a pull request may close this issue.

3 participants