linkml-model
linkml-model copied to clipboard
Define semantics for referential integrity
A non-inlined class range may be intended as:
- a reference to an object in the same document, database, or graph
- a reference to an object in the external document, database, or graph
For external references, the mechanism for deferencing will vary depending on substrate:
- for rdf, the reference MUST be a URI. If the URI is a URL then the URL may be deferenceable by conneg
- for json/yaml docs, there would need to be a bridge from URIs to e.g. JSONPointer
- for sql there would need to be a way to bind URIs to other databases
In all cases some kind of configuration would need to be supplied.
Additionally, the interpretation may be one of:
- the reference MUST be present
- the reference SHOULD be present
Furthermore, the semantics of deleting could be one of:
- no action
- cascading delete