geneontology / noctua

Graph-based modeling environment for biology, including prototype editor and services
http://noctua.geneontology.org/
BSD 3-Clause "New" or "Revised" License
38 stars 12 forks source link

Add Arachne reasoning option to startup #430

Closed kltm closed 7 years ago

kltm commented 7 years ago

Now that Arachne is available upstream in minerva, make this available to the Noctua startup

https://github.com/geneontology/minerva/pull/103

kltm commented 7 years ago

@balhoff

Unfortunately, there have been a few problems with this, and I cannot move forward with it.

The first is that that created JAR (clocking in at around 120MB) finally crosses the limit that GitHub allows by default, so we can no longer do what we have been doing. We will have to figure out a new way of doing the locked deployment:

remote: Resolving deltas: 100% (5/5), completed with 3 local objects.
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: af9f4d1d152bc9a9a64d710ba75532fe
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File java/lib/minerva-cli.jar is 120.17 MB; this exceeds GitHub's file size limit of 100.00 MB
To http://github.com/geneontology/noctua
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'http://github.com/geneontology/noctua'

The second is that it seems to take significantly more RAM and CPU to run. While I was able to run the old minerva with a little wiggle room for local testing, I am unable to do so at all with the new reasoner present.

Note to self: I have been working on this on local branch issue-430.

kltm commented 7 years ago

Actually there was a third thing as well. When killing the top-level java -jar minerva-cli.jar ... command, the children did not die by normal means. In fact, I had to try a few different signals on them before they croaked.

balhoff commented 7 years ago

The first is that that created JAR (clocking in at around 120MB) finally crosses the limit that GitHub allows by default, so we can no longer do what we have been doing.

Ah, okay.

The second is that it seems to take significantly more RAM and CPU to run. While I was able to run the old minerva with a little wiggle room for local testing, I am unable to do so at all with the new reasoner present.

This is unexpected. It should take less RAM and CPU—I can run it on my laptop. Weird.

kltm commented 7 years ago

@balhoff It could be an issue with an earlier change as well--see https://github.com/geneontology/noctua/issues/431 .

kltm commented 7 years ago

Playing with making more RAM available, I could not get minerva to startup within 10min on 5GB, so the lower bound is at least 1GB higher than that of the old reasoner (unless other changes since then have increased the memory requirements). As well, kill does not stop the children if it proceeds far enough. In all cases so far, it stops at:

2017-05-17 17:42:50,194 INFO  (StartUpTool:320) Start initializing Minerva
balhoff commented 7 years ago

The new reasoner precomputes some stuff at startup, which is not the case with ELK. With more RAM it will start up much faster than 10 min. Besides the new reasoner there shouldn't be other increased memory requirements.

kltm commented 7 years ago

I'm trying to talk my way into setting something up where I can say --arachne/--slme-elk is an environmental option, but it would mean I can no longer debug user issues locally until I find the time to get a new laptop (at least until after the GO meeting), which I'm not super comfortable with.

Anyways, we can't really move forward either way until we figure out the packaging issue (github size limit -> maven central or something).

kltm commented 7 years ago

Well, I think I'll probably leave this open until we find a more permanent solution to our GitHub file size issue. Production is now on issue-430 with a custom start.yaml that points to an out-of-repo JAR and has the --arachne flag.

That said, I believe that production is now running Arachne. I'll leave it like this for a bit for @dosumis and @balhoff to take an initial look. If this closes any of the reasoning issues, go ahead and close those with reference to this.

dosumis commented 7 years ago

From a quick check - deepening of annotations on Noctua looks correct and complete. And reasoning time is not bad at all - definitely usable for normal editing.

balhoff commented 7 years ago

@kltm I don't see that production was started with --arachne. Maybe I'm looking in the wrong place (toaster). Can you confirm?

kltm commented 7 years ago

Nope--I biffed the switch last night. The configs are too compatible and I didn't notice I was on the wrong branch. I'll switch for the next code drop or convenient quiet time.

kltm commented 7 years ago

After turning on arachne, I tried the reasoner on a couple of models (scratch and a random one); after returning to the noctua landing page, it no longer responded. Searching through the logs, it looks like the core dumped; gist: https://gist.github.com/kltm/8f51886f0d07d37fd47a1110228900e5 I've reverted the running minerva to --slme-elk.

balhoff commented 7 years ago

@kltm can we just try this again? I don't see anything related to arachne in the output and I wonder if it was a fluke. I tested running from the jar locally and didn't see any problems.

kltm commented 7 years ago

Running --arachne again, trying to break it now.

kltm commented 7 years ago

I have so far been unable to repeat the core dump from the initial Arachne trial after about a minute. I would have bet against something like that being random chance, but here we are--I cannot duplicate doing similar things. I'm closing until a core is dumped again.

And assuming everything goes well from here on: Everybody, welcome to @balhoff 's Arachne!

cmungall commented 7 years ago

I think we can remove the "slooooow" in the UI menu :-)

I tried it on one of @dosumis's examples: http://noctua.berkeleybop.org/editor/graph/gomodel:580685bd00000071

very fast

The results look odd, but this is because the reasoner is showing genuine underlying weirdness with the model (or ontology)

image

kltm commented 7 years ago

The commentary has been removed in current work on master ;)

cmungall commented 7 years ago

hmm, can't get screen to go red, this should be incoherent. May be an issue with bridging axioms rather than arachne though.

image

cmungall commented 7 years ago

this should definitely be incoherent, regardless of TBox axioms

image

balhoff commented 7 years ago

Funny, I just reported this: #436

kltm commented 7 years ago

I closed out #436 as I think the mechanism still lives in Noctua, it's just that the flag is not being set on the Minerva end. @balhoff, if you think that the flag is getting set correctly, I can explore if there might be some new failing in noctua so it is not drawing.

kltm commented 7 years ago

Nevermind--reopened.

dosumis commented 7 years ago

I tried it on one of @dosumis's examples: > http://noctua.berkeleybop.org/editor/graph/gomodel:580685bd00000071 very fast The results look odd, but this is because the reasoner is showing genuine underlying weirdness with the model (or ontology)

Hmmm - that list on the right (inferences on 'membrane depolarization') is quite terrifyingly odd. I assume it's not possible to get explanations though...

Looked at it further. In this case the problem is a regulatory loop. While this is strictly true in this case, I think it makes sense just to ban these.

balhoff commented 7 years ago

@dosumis explanations are available through the Arachne API. Each one is a set of asserted triples and the rules that were engaged:

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1903783>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000083>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000083> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0098719>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
Rules:
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0098719>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1903783>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0050805>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000083> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000079>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000083>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000080> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0098976>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000080>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
Rules:
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0098976>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0007268>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0007268>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0050805>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) ]
[ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) ^ (?x2 <http://purl.obolibrary.org/obo/BFO_0000050> ?x3) -> (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x3) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051099>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0000287>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://purl.obolibrary.org/obo/RO_0002213> <http://model.geneontology.org/580685bd00000071/580685bd00000079>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
Rules:
[ (?x2 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002213> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0000287>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0005488>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0005488>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051099>) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1903766>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000084> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0097623>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000084>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
Rules:
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0097623>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1903766>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1903765>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000084> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0097623>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000084>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
Rules:
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0097623>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1903765>) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0050806>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000083> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000079>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000083>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000080> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0098976>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000080>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
Rules:
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0098976>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0007268>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0007268>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0050806>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ]
[ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) ^ (?x2 <http://purl.obolibrary.org/obo/BFO_0000050> ?x3) -> (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x3) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#NamedIndividual>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#NamedIndividual>)
Rules:

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1905949>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000082>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000082> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0098703>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
Rules:
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0098703>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1905949>) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1905665>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000082>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000082> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0098703>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
Rules:
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0098703>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1905665>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_2001258>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0005261>)
Rules:
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0005261>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_2001258>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_2001259>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0005261>)
Rules:
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0005261>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_2001259>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051100>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0000287>)
Rules:
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0005488>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051100>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0000287>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0005488>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1904181>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000083> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000079>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000083>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
Rules:
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1904181>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ]
[ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) ^ (?x2 <http://purl.obolibrary.org/obo/BFO_0000050> ?x3) -> (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x3) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1904180>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000083> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000079>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000083>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
Rules:
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1904180>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ^ (?x2 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x3) ]
[ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) ^ (?x2 <http://purl.obolibrary.org/obo/BFO_0000050> ?x3) -> (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x3) ]

Explain: (<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1903784>)
Facts:
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://purl.obolibrary.org/obo/RO_0002212> <http://model.geneontology.org/580685bd00000071/580685bd00000078>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000076> <http://purl.obolibrary.org/obo/BFO_0000050> <http://model.geneontology.org/580685bd00000071/580685bd00000083>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000083> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0098719>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000078> <http://purl.obolibrary.org/obo/RO_0002408> <http://model.geneontology.org/580685bd00000071/580685bd00000076>)
(<http://model.geneontology.org/580685bd00000071/580685bd00000079> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>)
Rules:
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ^ (?x2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0098719>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_1903784>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0051899>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0042391>) ]
[ (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0065007>) -> (?x1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/GO_0008150>) ]
[ (?x1 <http://purl.obolibrary.org/obo/RO_0002408> ?x2) -> (?x1 <http://purl.obolibrary.org/obo/RO_0002630> ?x2) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002212> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/RO_0002212> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ]
[ (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x1) ^ (?x1 <http://purl.obolibrary.org/obo/BFO_0000050> ?x2) -> (?x <http://purl.obolibrary.org/obo/RO_0002213> ?x2) ]
cmungall commented 7 years ago

Nice, we could set up a jenkins job to dump these for each model

(obviously not as good as having these immediately visible from UI but this would take time)

cmungall commented 7 years ago

Exploring what the UI might look like if we were to do it (not opening a new ticket, not clear this is a priority)

model IDs are hard to mentally reason over for humans. It's clearer to show the class label for the asserted type. But we'd need to disambiguate distinct instances of the same class (e.g. "kinase activity [1/3]"). At this point it's tempting to wonder what an actual graphical display might look like (e.g. mouse over inferred edge in inference panel, and see all activated asserted edges light up, and ancillary rules listed).

I think some curators would have a hard time with some of the rules. But for property-chain type inferences these would be easier to show intuitively, and these should be understood by all members of the ontology group who can assist curators with their interpretation if need be.