Hi,

> Now that looks interesting! But why limit it to a pipe and not merge  
> it with the Graph Matching component, so we can find non-linear  
> subgraphs with the same API? Or did I misunderstand the concept?


Graph matching can be seen as a subset of graph traversal. Meaning,  
any graph match can be represented as a graph traversal, but not all  
graph traversals can be represented as a graph match.

You  might be interested in Pipes and Gremlin as a concise way to  
express graph traversals and as such, express arbitrary graph matching:
        
        http://pipes.tinkerpop.com
        http://gremlin.tinkerpop.com

With Gremlin you can do graph matching that includes operations such  
as union, intersect, deduplicate, math ops, equals, etc. In short, you  
can conveniently apply any computable criteria to your definition of a  
"graph pattern."

For those that care:
        1. Unlike languages like SPARQL (1.0), you can express recursion and  
thus, regular paths.
        2. Unlike regular path languages, you are provided memory in your  
traversal and thus, can express context-free paths (there is a notion  
of history).
        3. Unlike context-free path languages, you can brach, have arbitrary  
memory and thus, can compute Turing complete paths.

Take care,
Marko.

http://markorodriguez.com


_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to