-
Notifications
You must be signed in to change notification settings - Fork 5
TransitivityGraph
This is a description of the “transitivity” graphs used in GOlr. This document assumes that you are familiar with the JSON used in BBOP JS for graphs in general.
By convention, there are one or more transitivity graphs associated with documents types that are concerned with answering graph/ontology questions.
The specific use of a ?_transitivity_graph_json field is to:
- given a reference/topic node
- and a set of relations (plus is_a)
- what are the all nodes to the root(s) reachable traversing these relations
- what are all nodes for immediate children reachable traversing these relations
- there are no other nodes
-
all edges in the graph represent the computed relationship between
the reference/topic node and all other nodes
- there are no edges between any nodes that do not directly involve the reference/topic node
The purpose is to give consuming widgets a way of knowing the relationships between a node and its neighbors without having to perform reasoning on the client side.
Given the above, let’s look at a transitivity graph for GO:004347. The one we’re going to look at is the “regulates” graph defined with the following relations:
- BFO:0000050
- BFO:0000066
- RO:0002211
- RO:0002212
- RO:0002213
- RO:0002215
- RO:0002216
So the question is, traversing over only these relationships (and is_a), what is the relationship of GO:0043474 to each reachable node. Thus, the regulates_transitivity_graph_json field would be:
{
"edges": [
{
"pred": "is_a",
"obj": "GO:0044699",
"sub": "GO:0043474"
},
{
"pred": "is_a",
"obj": "GO:0044710",
"sub": "GO:0043474"
},
{
"pred": "part_of",
"obj": "GO:0043473",
"sub": "GO:0043474"
},
{
"pred": "is_a",
"obj": "GO:0043473",
"sub": "GO:0043474"
},
{
"pred": "is_a",
"obj": "GO:0008150",
"sub": "GO:0043474"
},
{
"pred": "is_a",
"obj": "GO:0042440",
"sub": "GO:0043474"
},
{
"pred": "part_of",
"obj": "GO:0044699",
"sub": "GO:0043474"
},
{
"pred": "part_of",
"obj": "GO:0008150",
"sub": "GO:0043474"
},
{
"pred": "is_a",
"obj": "GO:0008152",
"sub": "GO:0043474"
}
],
"nodes": [
{
"lbl": "pigment metabolic process",
"id": "GO:0042440"
},
{
"lbl": "single-organism metabolic process",
"id": "GO:0044710"
},
{
"lbl": "single-organism process",
"id": "GO:0044699"
},
{
"lbl": "pigment metabolic process involved in pigmentation",
"id": "GO:0043474"
},
{
"lbl": "pigmentation",
"id": "GO:0043473"
},
{
"lbl": "metabolic process",
"id": "GO:0008152"
},
{
"lbl": "biological_process",
"id": "GO:0008150"
}
]
}