konigio / konig

A collection of tools for semantic modeling
4 stars 4 forks source link

Add JSON Schema shape DataSource to konig spreadsheet #1030

Open zednis opened 6 years ago

zednis commented 6 years ago

i would like to be able to use a JSON Schema data source in the konig spreadsheet to indicate that a JSON schema should be created based on a given data shape. I would also like to be able to use parameters to the JsonSchema data source to specify an override value for the schema name.

Shape Id Scope Class Datasource
shape:ProductShape mdm:Product  JsonSchema(schemaName: "Product")  

If a shape does not have a specified JsonSchema data source, the schemagen plugin should not generate JSON schema for that shape. This is a change from the current behavior where JSON schema is generated for all shapes by default.

gmcfall commented 6 years ago

I think we need to tweak the description above. JsonSchema itself is not a datasource. It is the description of a physical JSON representation of resources available from a datasource. In other words, JsonSchema is associated with a DataSource but is not itself a datasource. By analogy, the SQL DDL is not a datasource, but instead is associated with a Relational Table (which is the datasource).

We need to be able to represent storage buckets that hold JSON documents and REST API endpoints that consume or publish JSON documents. Those are the datasources that will have an associated JSON Schema.

zednis commented 6 years ago

Are you thinking the datasource should be something like 'RestAPI', or that it should be something like 'Hierarchical Document'?

The immediate goal is to specify that a specification (JSON Schema) for a specific manifestation of the data (as JSON) should be created based on the data shape.