Shape Expressions aka ShEx!
Data, you better get in shape...
What are we trying to do?
We want to enable humans and machines to find items that do not fit a certain shape in order to find mistakes and omissions in our data.
We want to increase the confidence in our data.
Who are we (not) doing this for?
Concentrate on:
Also:
Keep in mind:
Usage scenarios (non-exhaustive list)
I'd like to find existing schemas that are relevant to me
I'd like to understand what an existing schema does
I’d like to discuss an existing schema and form modelling consensus
I’d like to adapt an existing schema
I'd like to be able to store a new schema
I’d like to be able to test a set of entities against an existing schema
What’s the current state?
Milestones/breakdown
What do we want to measure and learn for the first iteration?
Additions
Clarifications after first bonfire meeting
Example schema
See for example here for a Shape Expression for file formats.
What’s the current state?
Shape vs. schema
Schema:
Shape:
Do we store schemas or shapes?
We could go either way. Both have benefits and drawbacks:
-> We go with Schemas as the central unit of our data model because the mental model is crucial and not re-using huge shapes that specify everything to the smallest detail might actually solve the potential issue of enforcing too strict schemas on everything
Data model/mockup
Data model/mockup
Do we validate the input or not?
Schemas vs. constraints
Schemas:
Constraints: