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

SPIKE: Is it possible to create default inverse properties for relationships? #68

Open
jgadling opened this issue Jun 27, 2024 · 0 comments

Comments

@jgadling
Copy link
Contributor

jgadling commented Jun 27, 2024

LinkML supports the ability to create slots (fields with properties) independently of tables, and then those slots can be assigned to multiple tables (example schema here). Platformics handles this functionality fine for scalar fields, but when using slots to define a relationship, things get tricky:

  • Platformics currently requires an inverse property to be defined on every relationship. This property basically includes the name of the table the slot is assigned to, making it ~impossible to reuse that slot across multiple different tables

There are a few paths forward to handle relationship slot reuse:

  • Try to infer the inverse property automatically based on the class the slot is assigned to
  • Force schema authors to always specify the inverse property (LinkML makes this ~workable this via a slot_usage parameter)
  • Support relationships without an inverse property, so schema authors can decide when to specify inverse relationships and when to omit them.

This ticket means:

  • Come to a decision on how to handle these inverse relationships, and document the rationale
  • Implement the functionality we want.
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

No branches or pull requests

1 participant