예제 #1
0
        protected internal override Traverser InstantiateTraverser(Node start, Node end)
        {
            GraphDatabaseService db   = start.GraphDatabase;
            TraversalDescription side = Db.traversalDescription().breadthFirst().uniqueness(_uniqueness).order((startSource, _expander) => new LiteDepthFirstSelector(startSource, _startThreshold, _expander));

            return(Db.bidirectionalTraversalDescription().startSide(side.Expand(_expander).evaluator(toDepth(_onDepth / 2))).endSide(side.Expand(_expander.reverse()).evaluator(toDepth(_onDepth - _onDepth / 2))).collisionEvaluator(atDepth(_onDepth)).traverse(start, end));
        }
예제 #2
0
파일: AllPaths.cs 프로젝트: Neo4Net/Neo4Net
        protected internal override Traverser InstantiateTraverser(Node start, Node end)
        {
            // Bidirectional traversal
            GraphDatabaseService db    = start.GraphDatabase;
            TraversalDescription @base = Db.traversalDescription().depthFirst().uniqueness(Uniqueness());

            return(Db.bidirectionalTraversalDescription().startSide(@base.Expand(_expander).evaluator(toDepth(_maxDepth / 2))).endSide(@base.Expand(_expander.reverse()).evaluator(toDepth(_maxDepth - _maxDepth / 2))).traverse(start, end));
        }
예제 #3
0
파일: Dijkstra.cs 프로젝트: Neo4Net/Neo4Net
 public override PathExpander <double> Reverse()
 {
     return(new DijkstraPathExpander(Source.reverse(), ShortestSoFar, Epsilon, StopAfterLowestCost));
 }
예제 #4
0
 public override PathExpander <double> Reverse()
 {
     return(new DijkstraBidirectionalPathExpander(Source.reverse(), ShortestSoFar, StopAfterLowestCost, OtherSideShortest, ThisSideShortest, Epsilon));
 }
예제 #5
0
 public override PathExpander Reverse()
 {
     return(new CountingPathExpander(_outerInstance, Delegate.reverse(), NodesVisited));
 }
예제 #6
0
 public override PathExpander <object> Reverse()
 {
     return(new LengthCheckingExpanderWrapper(Expander.reverse()));
 }