-
Notifications
You must be signed in to change notification settings - Fork 24
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
Add 'composed entity' value to the EntityType enum. #403
Conversation
@matentzn Two things that might be worth discussing: (A) I have not specified a If a (B) I have explicitly forbidden the use of |
Add a new value 'composed entity' to the EntityType enumeration to indicate that an ID is intended to represent a composed (aka "complex", aka "post-coordinated") entity that involves several individual entities. closes #402
c32456e
to
f4358b5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I absolutely love it! I will get maybe two more reviews on this.
It is believed that 'composed entity expression' better conveys the idea that the entity being referred to is a composite entity, compared to 'composed entity' alone.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's go with this - I think we are the main stakeholders here anyways, and we have had this PR open one work week. i will merge on Tuesday and create a release.
I just realised that the
With no
|
Do you think it would be worthwhile to constrain |
The idea is rather to avoid any assumption or constraint about the exact format of composed entities. The URI Expression proposal is just that: a proposal. People may be happy with that proposal or they may prefer to use another way to encode composed entities. We do not enforce any constraint on the form of IDs for any other type of entities -- IDs are just opaque strings; most of the time they will be typical URIs but we do not force them to be, they may very well be something else entirely --, so there should be no reason to enforce a particular form of ID for composed entities. If we want to go that route and say that composed entities in SSSOM must be represented with URI Expressions and nothing else, why not but then the name of the enum value should be changed to something that explicitly refers to URI Expressions, like
Yes. This is implicit in the fact that both the subject and the object can have a |
For now, I think we should not mandate a specific approach in SSSOM, because I don't want to close any doors to people that, for example, what to use crazy things like:
Etc if they so must. I plan, however, to explore how useful the URI expression language is to cover a variety of cases, and if it so holds up, and I see more than two distinct organisations implementing it, I might make a bid to lift it into the standard as a recommendation, with optional support by tools (sssom-java already supports it despite absolutely not having to do so). I will probably implement some rudimentary support in sssom py which will work like this: if m.subject_type == "composite entity expression"
try:
parse_json_url(curies.identifier(m.subject_id))
except: ... |
Resolves #402
(not needed; the new enum value is documented directly in the model’sdocs/
have been added/updated if necessarydescription
field)make test
has been run locallytests have been added/updated (if applicable)(nothing to test; the new value does not change anything to the expected behaviours)If you are proposing a change to the SSSOM metadata model, you must
examples/
see_also
field of the linkml modelsee_also
field of the linkml modelThis PR adds a new value
composed entity
to theEntityType
enumeration to indicate, as proposed in #402, that an ID is intended to represent a composed (aka “complex”, aka “post-coordinated”) entity that involves several individual entities.