linkml-model icon indicating copy to clipboard operation
linkml-model copied to clipboard

Define semantics for referential integrity

Open cmungall opened this issue 1 year ago • 0 comments

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

cmungall avatar Jun 04 '23 18:06 cmungall