I've also thought about it, because if you think about it... pruning is just
really there for performance issues and it may be possible to combine
filtering/pruning somehow, yes.

2010/11/7 Yaniv Ben Yosef <yani...@gmail.com>

> It's a personal taste, but I'm not sure I like all those permutations in
> combined values.
> Perhaps you'll consider that the evaluator would return an object with two
> enums:
>
> 1. STOP / CONTINUE
> 2. INCLUDE / EXCLUDE
>
> This will also make it easier to extend the evaluator, so if additional
> state is needed to be returned, you just add another enum and don't have to
> change all the existing values..
>
> Hope this makes sense.
> --- Yaniv
>
> On Fri, Nov 5, 2010 at 8:56 PM, David Montag <
> david.mon...@neotechnology.com
> > wrote:
>
> > 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
> >
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>



-- 
Mattias Persson, [matt...@neotechnology.com]
Hacker, Neo Technology
www.neotechnology.com
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to