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

Automatically add+expand nodes not in the KG #18

Closed
dkoslicki opened this issue Mar 8, 2018 · 9 comments
Closed

Automatically add+expand nodes not in the KG #18

dkoslicki opened this issue Mar 8, 2018 · 9 comments

Comments

@dkoslicki
Copy link
Member

This was something we had discussed previously: recognizing when a node is absent from the KG and then populating it automatically. For example, it would be nice to have "DOID:9849" in the KG, but it's not currently there. This would require making the KG not read only (which would be a risk) but the tradeoff is probably worth it.

@saramsey
Copy link
Member

We sorta already do this, in a manner of speaking. BuildMasterKG.py loads multiple flat files containing lists of bioentities to seed in the KG. If any of these entities is already in the KG, it is not seeded. But if it is not already in the KG, it is seeded. So I think maybe you are just suggesting that we should make a more extensive file of bioentities to seed? If so, we can just add them to "data/q2/cop_data.tsv".

@saramsey
Copy link
Member

Now that I read this more carefully, I think I see what you are asking. You want the Reasoning Engine to add nodes to the KG, is that right? How would the Reasoning Engine know which nodes to add?

@edeutsch
Copy link
Collaborator

sorry to butt into the conversation, but if the Reasoning Engine gets a question about a drug that's not in the KG, it seems like the ideal scenario is that the RE triggers the KGBuilder to seed and expand and then the RE can proceed with the question.. right?

@saramsey
Copy link
Member

saramsey commented Mar 27, 2018 via email

@edeutsch
Copy link
Collaborator

fine for baby steps. but I think that by or near the hackathon we should dream up a design by which the KG controller is an independent single thread agent that can read a queue of signals from multiple actors to seed and expand additional terms.

@saramsey
Copy link
Member

saramsey commented Mar 27, 2018 via email

@dkoslicki
Copy link
Member Author

What Eric says is exactly what I was thinking. If the user asks for a COP for a drug that's not in the KG, it should add, 3X expand, and then reason as usual. I like the first approach Steve mentions, but it should be our goal to have it auto-add as this is the whole NCATS paradigm.

@dkoslicki
Copy link
Member Author

Perhaps leverage the result of #48

@dkoslicki
Copy link
Member Author

Closing due to #788

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

3 participants