Open
Description
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.
Metadata
Metadata
Assignees
Labels
No labels