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

documentation required in LinkML or MIxS: who wins when there is a conflict in a slot definition/usage between a is_a parent and a mixin? #4

Open
turbomam opened this issue Sep 9, 2024 · 3 comments · Fixed by #5
Assignees

Comments

@turbomam
Copy link
Member

turbomam commented Sep 9, 2024

first: determine what slots are used by both Checklists and Extensions

@turbomam turbomam self-assigned this Sep 9, 2024
@turbomam
Copy link
Member Author

turbomam commented Sep 9, 2024

may especially be of interest for recommended and required

@turbomam
Copy link
Member Author

turbomam commented Sep 9, 2024

see src/scripts/mims_and_soil_slots.py

I'm illustrating this with a slot called conflicting, which has conflicting patterns

It looks like Mims (a Checklist, bound with mixins) wins over Soil (an Extension, bound with is_a) in MimsSoil

So what if there are multiple mixins?

  MimsSoil:
    description: MIxS Data that comply with the Mims checklist and the Soil Extension
    title: Mims combined with Soil
    in_subset:
      - combination_classes
    is_a: Soil
    mixins:
      - Mims
    class_uri: MIXS:0010007_0016012

conflicting slot's usage in Mims:
name: conflicting
pattern: ^[a-zA-Z]+$

conflicting slot's usage in Soil:
name: conflicting
pattern: ^[0-9]+$

Induced slot conflicting in MimsSoil

name: conflicting
description: intentionally set to incompatible states between a Checklist and an Extension
from_schema: https://w3id.org/GenomicsStandardsConsortium/mixs-missing-value-sandbox
alias: conflicting
owner: MimsSoil
domain_of:

  • Mims
  • Soil

range: string
pattern: ^[a-zA-Z]+$

@turbomam turbomam linked a pull request Sep 9, 2024 that will close this issue
@turbomam turbomam reopened this Sep 9, 2024
@turbomam
Copy link
Member Author

turbomam commented Sep 9, 2024

If either the mixin or the is_a parent is required: true, then in my opinion the combination should be required: true

@turbomam turbomam changed the title is this a reasonable place for determining who wins when there is a conflict in a slot definition/usage between a is_a parent and a mixin? documentation required in LinkML or MIxS: who wins when there is a conflict in a slot definition/usage between a is_a parent and a mixin? Sep 9, 2024
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.

1 participant