-
Notifications
You must be signed in to change notification settings - Fork 3
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
Synchronization: subClassOf
axioms (MVP)
#92
Comments
edit: updated contents of this comment into the OP |
@matentzn I re-read instructions for this. I dictated during a meeting last March. Want your input on a couple things.
I understand the need for the robot template. But (1.1) by 'exclude', I don't know what's being asked of me here, if anything. Also, (1.2) regarding "don't want any more Python files being generated", I don't know how that applies here. Do you remember what we were thinking about here ? I could (a) write a Python script to make the robot template, etc (easiest thing), or (b) I could do things in make/ShellScript. But this anit-Python statement also is in conflict w/ the ask for a
|
Met with Nico today. His answers are in this comment and the one below.
There's an input to this process. A set of excluded sub class axioms that should not show up. There will be an input table; its purpose to document the excluded classes. How to generate: query in sparql for excluded subclass. Open Mondo to find the IRI for that. Use that to make a sparql query to get the excluded classes. should have parent and child. Anything that is that combo of parent and child, i will filter out to not appear in robot template. |
Less python script run manually e.g. via goals, and we want to move towards pip installing mondo-ingest. And then we run everything via click. One place for these moving forward. Modular. Testable. |
The goal of this issue is to synchronise the subclass axioms from the external sources with Mondo. For example, if DO has added a subclass axiom between :A and :B, then we should (consider to) as well. Three important concepts to understand before you read on:
This is the rough approach: INPUTS:
OUTPUTS (for now, there will be quite a few before we are done).
Rough approach (could be wrong/incomplete):
|
Ok, this is a much better explanation. If you look at what I wrote at the top of the issue ("1. Robot template I don't have any questions now until I do my next Mondo block and fully take in everything here, as well as look more closely at the inputs ( |
Gonna ditch terminology inferred/asserted for our purposes. We will think in terms of direct child/parents vs ancestors/descendants. |
subClassOf
axiomssubClassOf
axioms (grouping issue)
subClassOf
axioms (grouping issue)subClassOf
axioms (MVP)
Overview
Take subClassOf of all the sources, and then migrate them. This entails a robot template that has all subClassAxioms of the source.
There should be a way to exclude subClassAxioms (explanation in comment below).
We don't want more python files being generated get a click CLI (tangent; explanation in comment below). Make a CLI.py that has a sync command. And that sync command has a subcommand which is subClassOf.
FYI, Nico will be migrating lots of Python stuff to this Click cli (e.g.
mondo-ingest
CLI).Click boilerplate:
What am using as boilerplate: This is what I am using as boilerplate: https://github.com/monarch-initiative/pheval/blob/main/src/pheval/cli.py
what should use: (can't find) official cookie cutter
Sub-tasks: cases
See also
Cases
Sub-tasks
2. CLI ((moving to a separate PRclick
based)Sub task details
1. Robot template
Columns:
term_id
: ID - a mondo idparent_id
: rdfs:subClassOf - a mondo idA oboInOwl:hasDbXref
; idk if it needs a>
at beginning) - e.g. a DO identifierRelated
The text was updated successfully, but these errors were encountered: