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

Phase 3 first quarter LinkML task list #20

Open
8 tasks
bfurner opened this issue Jul 16, 2021 · 6 comments
Open
8 tasks

Phase 3 first quarter LinkML task list #20

bfurner opened this issue Jul 16, 2021 · 6 comments
Assignees

Comments

@bfurner
Copy link
Collaborator

bfurner commented Jul 16, 2021

Task list

  • 1. Implement Inheritance
  • 2. Implement Codeable Concept Binding
  • 3. Document profiling approach on the documentation site
  • 4. Implement profile definition (i.e. Observation classes)
  • 5. Define / implement multiple types per field
  • 6. Synonyms for entity/attribute
  • 7. Automated generation of overview diagram
  • 8. Indication and documentation of which classes are complex data types and which are top-level entities that can be instantiated

More info

Task Main repo
1 sheet2linkml
2 ?
3 ?
4 ?
5 ?
6 ?
7 ?
8 ?
@joeflack4
Copy link

Is inheritance already implemented, or is there something missing?

From the docs:

Screen Shot 2021-08-02 at 2 53 30 PM

@gaurav
Copy link

gaurav commented Aug 2, 2021

Yeah, I'm waiting for DMH to specify this fully (Shahim is working on a really good document that does this), but I think most of what they need for inheritance is already implemented in LinkML. Except for profiles, which we could probably implement in the Google Sheets to LinkML program (given enough time).

@joeflack4
Copy link

@bfurner Hey Brian. I'm starting to work a lot more on LinkML right now. I'm wondering, (a) are all of these tasks things that need to be done within the LinkML codebase, (b) or are these just for our utilization / presentation of LinkML? Or (c) both?

If (a) or (c), can you list out which of these individual tasks needs to be handled w/in the LinkML codebase?

I've made a reference to this in the LinkML issues: linkml/linkml#276

@bfurner
Copy link
Collaborator Author

bfurner commented Oct 6, 2021

@joeflack4 thanks. it would probably be worth finding a time to chat on this. i'm not sure i fully understand what you mean by "w/in the LinkML codebase". i assume this is to distinguish from something like sheet2linkml which is a separate codebase??

in terms of item 1 (inheritance), this is something that LinkML supports but that sheet2linkml doesn't handle AFAIK. for example, we define an entity named Entity that really should be the base class from which any entity in the model that requires an id inherits from, but we're not handling this now in sheet2linkml. we need a clear understanding of how to encode inheritance in the CDM sheet so that this can be picked up in sheet2linkml. perhaps this is as simple as indicating the type from which an entity inherits in the 'Type' column of the CDM for the row w/o an attribute (i.e. row 2). that seems a little fragile so it would be good to hear from you or @gaurav on how this might be most easily incorporated into sheet2linkml.

item 2 is essentially a path-based binding. in other words being able to say that one attribute whose range is CodeableConcept (e.g. CancerStageObervation.observation_type) should have its coding.code bound to a particular codeset whereas another CodeableConcept (e.g. CancerStageObervation.value_codeable_concept) should have its coding.code bound to a different codeset.

@bfurner
Copy link
Collaborator Author

bfurner commented Oct 6, 2021

probably worth spending an upcoming cross workstream on this topic

@joeflack4
Copy link

@bfurner Sorry for my delay in response. Good idea; I'll add that to the agenda for next time.

I was 2 months fresher than i am now when I wrote what I wrote, so I knew even less about what was going on. But yeah, I'm not sure just looking at it where each of the work needs to be done and who needs to do it, so it would be good to discuss.

I edited the original post with a table where we can add more information about which repo the task needs to be done in. We could add other stuff to this table if needed.

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

4 participants