You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ideally identifiers are opaque, e.g. md5, uuid, but in practice identifiers are hybrid between semantic and opaque. The CURIE system could be seen in fact as a hybrid, with a meaningful prefix (e.g. linkml, skos, GO, OBI, snomed) and a potentially opaque local part.
It is not uncommon to have schemes in which identifiers are skolemized / stringified from other identifiers.
E.g. given a schema of people, and jobs they have over the years
if person has an ID P\d{8} we may create job/role IDs P\d{8}-{jobClass}-\d+
this could be recursive, so if the data model has sub-objects of job then we can create sub-IDs
often this is done ad-hoc, with rules/documentation outside the schema
I would like to be able to annotate my schema with ID rules - it would be good first to centrally document. But we can also imagine having model checkers that detect incoherent rules or rules that will lead to problems (e.g. if the "job" object could be shared by >1 person in the above, but the ID scheme assumes it is always owner by 1)
pattern and string_serialization gets us some of the way there...
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
[apologies for brevity will expand later]
ideally identifiers are opaque, e.g. md5, uuid, but in practice identifiers are hybrid between semantic and opaque. The CURIE system could be seen in fact as a hybrid, with a meaningful prefix (e.g. linkml, skos, GO, OBI, snomed) and a potentially opaque local part.
It is not uncommon to have schemes in which identifiers are skolemized / stringified from other identifiers.
E.g. given a schema of people, and jobs they have over the years
if person has an ID
P\d{8}
we may create job/role IDsP\d{8}-{jobClass}-\d+
this could be recursive, so if the data model has sub-objects of job then we can create sub-IDs
often this is done ad-hoc, with rules/documentation outside the schema
I would like to be able to annotate my schema with ID rules - it would be good first to centrally document. But we can also imagine having model checkers that detect incoherent rules or rules that will lead to problems (e.g. if the "job" object could be shared by >1 person in the above, but the ID scheme assumes it is always owner by 1)
pattern
andstring_serialization
gets us some of the way there...Beta Was this translation helpful? Give feedback.
All reactions