Skip to content

Can/Should Platformics support implicit many:many relationships? #67

Open
@jgadling

Description

@jgadling

LinkML supports native list fields, and some schemas (example here) use this functionality to express many:many relationships between classes. Even if LinkML supports list fields natively, these are usually represented by a join table when mapped to an RDBMS. The official LinkML -> SQLAlchemy codegen handles these by creating a join table and using SA's secondary argument to make the relationship behave more like a simple list relationship on each side (example here)

Right now Platformics requires all many:many relationships to have an explicit Entity type of their own, so if a student is in multiple classes, schema authors are required to create an explicit StudentClass entity with a 1:many relationship between itself and students, and a 1:many relation between itself and classes.

What this ticket means:

  • Decide whether platformics can/should support implicit many:many relationships, and document the decision
  • Write up a spec for how this relationship should behave at the SA and GQL levels
  • Estimate the level of effort to implement the spec

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions