Skip to content
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

New EntityType value to identify composed entities #402

Closed
gouttegd opened this issue Dec 1, 2024 · 1 comment · Fixed by #403
Closed

New EntityType value to identify composed entities #402

gouttegd opened this issue Dec 1, 2024 · 1 comment · Fixed by #403

Comments

@gouttegd
Copy link
Contributor

gouttegd commented Dec 1, 2024

There has been quite a few discussions about whether it should be possible to represent mappings involving “complex” or “composed” or “post-coordinated” entities – where at least one side of the mapping is not a single entity but a composition of several entities — and if so, how to represent such mappings.

For example:

In #108 in particular, the discussion seems to have stabilized around the general idea of encoding the post-coordinated entity within the subject (or object) ID, using a construct such as, for example, obo.pattern:anatomical_trait?anatomical_entity=UBERON:123&disease=PATO:123 (or various variations of it). This has led to the proposal for URI Expressions, which is the exact same idea but using a form of JSON encoding rather than URI parameters.

Regardless of how the post-coordinated entities are ultimately encoded within a ID, the main benefit of this general approach is that it requires almost no change to SSSOM at all. Subject and object IDs in SSSOM are always opaque strings, so the fact that one ID happens to encode a post-coordinated entity using some elegant/ugly hack is completely irrelevant. SSSOM implementations can just pass the ID as it is, and leave it to applications built on top of them to eventually “unpack” the ID (stop treating it as opaque) and get access to the separate entities that made up the post-coordinated one.

But if this approach is used (in fact that approach can already be used right now, precisely because it does not require any explicit support in SSSOM), SSSOM should at least allow to explicitly indicate that the subject or object of a mapping is a post-coordinated entity.

SSSOM allows to indicate the type of “entity being mapped” with the subject_type and object_type slots, which accept a value from the EntityType enumeration. Currently, there is no value in that enumeration that can be suitable to mark the type of a post-coordinated entity; it would be wrong to say that a post-coordinated entity is a “owl class”, or a “owl object property”, or a “skos concept”, or a “rdfs resource”, or any of the other available type. A post-coordinated entity is a sui generis type of entity, which should have its own representation in the EntityType enumeration.

I therefore propose that a new value, tentatively named composed entity, be added to the EntityType enumeration.

@matentzn
Copy link
Collaborator

matentzn commented Dec 2, 2024

Full agree and thank you for suggesting! composed seems to be a more precise way to put it than "complex", so I agree with the suggestion

gouttegd added a commit that referenced this issue Dec 2, 2024
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
gouttegd added a commit that referenced this issue Dec 2, 2024
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants