Dear , I am trying find the shortest path between two nodes .
I am getting two shortest paths .But my requirement is internally it should filter based on one of the nodes property value . it should return relevant path based on node property value. I added Node filter to the PathExpanderBuilder .but as it is traversing through the whole path at some node, it is giving false as the getP1() method is giving false and finally it is not returning any paths. can some body help? public Iterable<Path> shortestPath(Node sourceNode, Node destNode) { Integer depth=10; PathExpander<?> expander; List<Path> paths = new ArrayList<>(); if ( orderedRelTypes == null ) { expander = PathExpanders.allTypesAndDirections(); } else { PathExpanderBuilder expanderBuilder = PathExpanderBuilder.empty(); expanderBuilder = expanderBuilder .add(MyRelationshipTypes.IS_LOCATED_AT, Direction.BOTH) .add(MyRelationshipTypes.BELONGS_TO, Direction.BOTH) .add(MyRelationshipTypes.CARRIES, Direction.BOTH) .addNodeFilter(getP1()); expander = expanderBuilder.build(); } try (Transaction tx = Neo4JDBEngine.getGraphService().beginTx()) { PathFinder<Path> shortestPath = GraphAlgoFactory.shortestPath( expander, depth == null ? 4 : depth.intValue()); for (Path path : shortestPath.findAllPaths(sourceNode, destNode)) { paths.add(path); } tx.success(); } return paths; } public static Predicate<Node> getP1() { return p -> "RFS".equals(p.getProperty("Type")); } -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.