List<Object> nodesInPath(Object pathValue) { Path path = (Path) pathValue; List<Object> nodes = new ArrayList<>(path.length()); for (Node node : path.nodes()) { nodes.add(node); } return nodes; }
public List<Object> nodesInPath(Object pathValue) { Path path = (Path) pathValue; List<Object> nodes = new ArrayList<>(path.length()); for (Node node : path.nodes()) { nodes.add(node); } return nodes; }
public List<Object> relsInPath(Object pathValue) { Path path = (Path) pathValue; List<Object> rels = new ArrayList<>(path.length()); for (Relationship rel : path.relationships()) { rels.add(rel); } return rels; }
@Override public int size() { return asObject().length(); }
List<Object> relsInPath(Object pathValue) { Path path = (Path) pathValue; List<Object> rels = new ArrayList<>(path.length()); for (Relationship rel : path.relationships()) { rels.add(rel); } return rels; } }
@Nonnull default String pathAsString(@Nonnull Path path) { List<String> list = new ArrayList<>(path.length()); Node lastTraversed = path.start(); if (lastTraversed != null) { list.add(nodeAsString(lastTraversed)); for (Path.Segment segment : path) { Relationship relationship = segment.relationship(); if (relationship.startNodeId() == lastTraversed.id()) { list.add("-" + relationshipAsString(relationship) + "->"); } else { list.add("<-" + relationshipAsString(relationship) + "-"); } list.add(nodeAsString(segment.end())); lastTraversed = segment.end(); } } return list.stream().collect(Collectors.joining()); }
Neo4jBoltPath boltPath = new Neo4jBoltPath(); if (path.length() == 0) { return boltPath; List<Relationship> relationships = Iterables.asList(path.relationships()); for (int i = 0; i < path.length(); i++) { boltPath.add(convert(pathNodes.get(i))); boltPath.add(convert(relationships.get(i))); if (i == path.length() - 1) { boltPath.add(convert(pathNodes.get(i + 1)));
@Test public void shouldCreateAnRNodeConnectedToTheEntity() throws Throwable { try (Driver driver = GraphDatabase.driver(neo4j.boltURI(), Config.build().withEncryption().toConfig()); Session session = driver.session()) { StatementResult result = session.run("CALL graph.versioner.init('Entity')"); StatementResult rPath = session.run("MATCH rPath = (:R)-[:FOR]->(:Entity) RETURN rPath"); Assertions.assertThat(result.single().get("node").asNode().id()).isEqualTo(0L); Assertions.assertThat(rPath) .hasSize(1) .allMatch(path -> path.get("rPath").asPath().length() == 1); } } }