Hi there,
in cypher one can query variable length path through (b)-[:Reltype*]->(b) pattern
FOAF is a good example for that.
Now assume i have the following graph
i could search the varables and related function with patterns like
(x:Variable)-[i:in]->(f:F)-[o:out]->(y:Variable)
i can distingish between inputs outputs Functions and Variables (important)
this would kind of represent the following mathematical term.
Y=F(X)
with
X being a vector with x1,...,xn
Y being a vector with y1,....yn
well now one could have
Xn=Fn(Fn-1(Fn-2(....F0(X)...)))
in other words the result of a function is the input of an other function
how can i query all functions and intermediate variables for a specific output value?
(a:Variable)-[:in*]->(f:Funciton) .... would not work
i need something like ((i:Variable)-[:in]-(f:Function)-[:out]->(o:Variable))[0...*]
in this example relation and node filters on path extension (apoc) would be sufficient. But there are other graphs where label and relation filters are not sufficient. The order of relations would be important.
regards
Thomas