-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Tasks
-
- add property-records to graph (or explain why not)
-
- migrate to factor graph (or explain why not)
A. Add property-record nodes that assign a property+value to other nodes and reference sources? It would:
- allow many collaborators on the graph.
- allow fine graned access control on uploaded properties.
- allows storage of conflicting values
- allows storage of multiple values for the same property from different sources
B. Should we use 'factor relationships'?
Our relationships don't handle multiple inputs/outputs, can't be the target of other relationships and can't be associated with property records. This approach won't work for anything but trivial relationships. For example the following statements cannot be well captured:
a. Gefitinib promotes the reaction "EGFR protein binds to EGFR protein"
b. [TGFA protein binds to and affects the activity of EGFR protein] which decreases susceptibility to nickel sulfate
c. X binds to EGFR with affinity Z
In a,b we want to say that something transforms the relationship between two other things.
In c, we want to add a quantitative value to a relationship, but there may be disagreements about what the affinity is.
Factor relationships solve this, for example:
factor-node:
label: binds-to
identifier: 100
ligand: TGFA
target: EGFR
variable-node:
label: protein
name: TGFA
variable-node:
label: protein
name: EGFR
relationship:
input: TGFA
output: factor_node_100
relationship:
input: factor_node_100
output: EGFR
...This approach creates a bipartite factor graph where:
- Every node is either a variable or a factor.
- Variables can relate to Factors but not other variables
- Factors can relate to variables but not other factors
Factor graphs should be able to capture very complex relationships, and support advanced modeling methods.
