-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: decouple 'curie' uri from 'uri' uri #202
base: main
Are you sure you want to change the base?
Conversation
The URIs assigned to the different types identify the types themselves, as a consequence two different types with the same URI would be expected to be synonyms (different names with the same meaning). This is the case for the types CURIE and URIorCURIE: 1. CURIE had the URI 'xsd:anyURI' (the same as for URIs). 2. URIorCURIE had the URI 'xsd:string' (the same as for strings). This patch assign both CURIE and URIorCURIE their own unique URIs to differentiate the different types from each other. Signed-off-by: Silvano Cirujano Cuesta <silvano.cirujano-cuesta@siemens.com>
As a concerned citizen I would like to suggest this PR to be reviewed by at least 5 LinkML experts before it is merged. :P Changes to the base types whatever they are make me a bit nervous (thinking of effects on validation, linkml-dumper classes etc, not saying there are consequences, just... putting my worry out there). |
@matentzn you are fully right and I share your concern, therefore this PR is in IMO this is a meaningful thing to do, because the current status is wrong. The URIs of the LinkML elements are their identifiers and having the same URI on multiple different elements means that they are the same. But URI ≠ CURIE ≠ URIorCURIE, right? It is clear that when tools have "integrated" the error into their implementation fixing them might be the hardest task and we should not underestimate it. I am more than happy to discuss:
|
I totally agree! I think fixing this is a good idea.. |
@matentzn I have just realized that this comment from @turbomam is probably signaling one place where this change might break something else. |
@Silvanoc , another type of place which might be affected by your change is in cases where variables of type class_class_curie variable is defined as However, I'm not deep into LinkML's code base and there could have been another reason for this assignment. |
Nice catch! I will have to take a deeper look at it. In general IMO the introduction of CURIEs, as it was done, has lots of issues.
|
The URIs assigned to the different types identify the types themselves, as a consequence two different types with the same URI would be expected to be synonyms (different names with the same meaning).
This is the case for the types CURIE and URIorCURIE:
This patch assign both CURIE and URIorCURIE their own unique URIs to differentiate the different types from each other.