Hi all, Hopefully most of you are familiar with the traversal framework that was introduced in 1.1. It's powerful and provides for reusable traversal descriptions. It has some flaws though, and I would like to discuss one of them here.
The traversal framework has this concept of pruning, which basically is an evaluation for each position, deciding whether or not to continue the traversal down this branch. The caveat here is that when you evaluate a position, you can't opt to prune before it. If you want to exclude a node based on information from that node, filtering has to be done on top of the pruning, with the same algorithm - once to stop the traversal, and once to exclude the node. So there are actually two orthogonal concepts at work here: whether to stop or not, and whether to include or not. What I'm proposing is to merge these two into one evaluator. That evaluator would return one of four values: CONTINUE_AND_INCLUDE_NODE, STOP_AND_INCLUDE_NODE, STOP_AND_EXCLUDE_NODE, or CONTINUE_AND_EXCLUDE_NODE. This would replace both the filtering and the pruning. I'm just throwing this out there to see if anyone else has had the same idea. Like / dislike? -- David Montag Neo Technology, www.neotechnology.com Cell: 650.556.4411 david.mon...@neotechnology.com _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user