Exemplo n.º 1
0
        public virtual Path PathToReference(Node me)
        {
            PathFinder <Path> finder = GraphAlgoFactory.shortestPath(PathExpanders.allTypesAndDirections(), 6);

            using (Transaction tx = me.GraphDatabase.beginTx())
            {
                Node other;
                if (me.hasRelationship(RelationshipType.withName("friend")))
                {
                    ResourceIterable <Relationship> relationships = (ResourceIterable <Relationship>)me.getRelationships(RelationshipType.withName("friend"));
                    using (ResourceIterator <Relationship> resourceIterator = relationships.GetEnumerator())
                    {
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
                        other = resourceIterator.next().getOtherNode(me);
                    }
                }
                else
                {
                    other = me.GraphDatabase.createNode();
                }
                Path path = finder.FindSinglePath(other, me);

                tx.Success();
                return(path);
            }
        }
Exemplo n.º 2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void filtersTouchesAllIntermediateNodes()
        public virtual void FiltersTouchesAllIntermediateNodes()
        {
            // Layout:
            //
            // (a)-->(b)-->(c)-->(d)
            //
            Graph.makeEdgeChain("a,b,c,d");
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.graphdb.Node a = graph.getNode("a");
            Node a = Graph.getNode("a");
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.graphdb.Node d = graph.getNode("d");
            Node d = Graph.getNode("d");
            ICollection <Node> touchedByFilter = new HashSet <Node>();

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final System.Predicate<org.neo4j.graphdb.Node> filter = item ->
            System.Predicate <Node> filter = item =>
            {
                touchedByFilter.Add(item);
                return(true);
            };
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.graphdb.PathExpander expander = org.neo4j.graphdb.PathExpanderBuilder.empty().add(R1, OUTGOING).addNodeFilter(filter).build();
            PathExpander expander = PathExpanderBuilder.empty().add(R1, OUTGOING).addNodeFilter(filter).build();
            //final PathExpander expander = ((StandardExpander) PathExpanders.forTypeAndDirection(R1, OUTGOING)).addNodeFilter( filter );
            Path path = Iterables.single(GraphAlgoFactory.shortestPath(expander, 10).findAllPaths(a, d));

            assertEquals(3, path.Length());

            IList <Node> nodes             = Iterables.asList(path.Nodes());
            IList <Node> intermediateNodes = nodes.subList(1, nodes.Count - 1);

//JAVA TO C# CONVERTER TODO TASK: There is no .NET equivalent to the java.util.Collection 'containsAll' method:
            assertTrue("touchedByFilter: " + touchedByFilter, touchedByFilter.containsAll(intermediateNodes));
            assertTrue("startNode was not filtered", !touchedByFilter.Contains(a));
            assertTrue("endNode was not filtered", !touchedByFilter.Contains(d));
        }
Exemplo n.º 3
0
        public virtual Path PathToReference(Node me)
        {
            PathFinder <Path> finder = GraphAlgoFactory.shortestPath(PathExpanders.allTypesAndDirections(), 6);

            return(finder.FindSinglePath(me.GraphDatabase.createNode(), me));
        }