-
Notifications
You must be signed in to change notification settings - Fork 29
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
HELP: Creating New Ontology Classes with Constructors #12
Comments
One general question: One general comment: A couple of thoughts about your first example:
I'll think about this example some more and will try to provide an alternative representation. |
Thanks Bill!
I initially thought about this, butt after talking to Nicole and Peter am not going to pursue the route of formally suggesting new terms. The reason being that they are not interested in this level of specificity. So, the next best approach is create new edges myself. A few questions for your feedback:
These different approaches matter when thinking about what I will do with them downstream. For example, with Med2Mech, I will create path embeddings for each node in my KG:
Thinking about this more, what I really want is a way to add new terms that are aggregates or combinations of existing concepts. I'm wondering if there is a template-based approach we could apply. The different combinations I would use (with an example) would be:
Awesome! Thank you! 😄 |
@bill-baumgartner - any chance you are on campus tomorrow and willing to have a quick chat about this? |
OK, @bill-baumgartner here are some quick examples given what we talked about today that I created in Protége: NOT() New Triples:
OR() New Triples:
AND()
New Triples:
AND()/OR()
New Triples:
AND()/NOT()
New Triples:
AND()/OR()/NOT()
New Triples:
|
Looks good overall. A couple of comments:
|
OK, ignore my prior comments. I see what happened in those weird triples. I left something as an equivalence class that should have been removed. The above examples have been updated. In general, I agree with converting all
Sorry, those are removed now.
Perfect, see above.
Like this?
OK, so something like this:
|
OK, what about these for now? Just check the
New Triples:
New Triples:
New Triples:
Triples:
New Triples:
New Triples:
|
NOT()
OR()
AND()/OR()
AND()/NOT()
AND()/OR()/NOT()
|
Thanks @bill-baumgartner!
|
@bill-baumgartner - unfortunately, this is not going to make it into the NIPS paper, but I'd like to try and get it to a good place for an ISMB submission (we've been invited to submit something and I think that this would be good). Would you be willing to set-up semi-regular meetings with me (after Friday) to dive into this further? |
definitely, let's do Wednesdays if that works for you. |
@bill-baumgartner - clinical mappings are officially complete. I will plan to incorporate them into the v3.0.0 build. I have mocked up a new Wiki page to document how we will do this here. Would you mind taking a look to verify that you are still in agreement with the proposed approach? Once you confirm, I will mock-up the code. |
Closing this issue here since this work has been moved to the OMOP2OBO Project - |
@bill-baumgartner
I was hoping I could ask for your advice on how to go about adding new terms, which reflect my many hp concepts:1 clinical concept mappings, to an existing ontology. I understand that I will create a new class, give it an identifier (making sure that identifier does not already exist in HP), a label, and then create the connection between it and existing terms using an equivalent class. This equivalent class would be constructed using the and (
owl:intersectionOf
), or (owl:unionOf
), and not (owl:complementOf
) operators.OK, so with that in mind, I’m not entirely clear if I fully understand how to do this. Still permits me to close my knowledge graph. Below I include 3 examples I found in HP/CL along with my attempt at applying this logic to my examples. Note I reuse the anonymous nodes from the examples for ease.
Would you mind taking a look and letting me know if this is correct?
EXAMPLE 1: owl:intersectionOf
Class:
http://purl.obolibrary.org/obo/HP_0040261
My Example
The
OMOP_4128371
concept (Acute rejection of renal transplant
) maps toAND(Acute, Renal insufficiency, Status post organ transplantation)
Class:
https://github.com/callahantiff/PheKnowLator/obo/ext/OMOP_4128371
(Or does this need to be a NEW HP term?)EXAMPLE 2:
owl:unionOf
Class:
http://purl.obolibrary.org/obo/HP_0100258
My Example
The
OMOP_4048191
concept (Enlargement of tonsil or adenoid
) maps toOR(Enlarged tonsils, Increased size of nasopharyngeal adenoids)
Class:
https://github.com/callahantiff/PheKnowLator/obo/ext/OMOP_4048191
(Or does this need to be a NEW HP term?)EXAMPLE 3:
owl:complementOf
Class:
http://purl.obolibrary.org/obo/CL_0001068
My Example
The
OMOP_4021760
concept (Non-infectious pneumonia
) maps toAND(pneumonia(NOT(disease by infectious agent))
Class:
https://github.com/callahantiff/PheKnowLator/obo/ext/OMOP_4021760
(Or does this need to be a NEW DOID term?)The text was updated successfully, but these errors were encountered: