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); } }
//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)); }
public virtual Path PathToReference(Node me) { PathFinder <Path> finder = GraphAlgoFactory.shortestPath(PathExpanders.allTypesAndDirections(), 6); return(finder.FindSinglePath(me.GraphDatabase.createNode(), me)); }