我想遍历Neo4j数据库节点和java中的关系(不是嵌入式的。我想使用REST API)。 我有以下方法。
public void testTraverse(Node startNode) {
for (Path position : Traversal.description()
.depthFirst()
.uniqueness(Uniqueness.NODE_GLOBAL)
.evaluator(Evaluators.toDepth(10)).traverse(startNode))
{
System.out.println(position.lastRelationship().toString()+"\n--------------------------------\n");
}
for(Node node:Traversal.description().traverse(startNode).nodes()) {
System.out.println(node.getProperty("name"));
}
}
调用此方法时,如何创建Node类型的startNode,我想将其作为参数传递?
我是Neo4j的新手。 请帮我。 Neo4j-Java-ReST的替代方法也受到热烈欢迎......
答案 0 :(得分:4)
那么,起始节点必须是您先前以某种方式存储的节点。
通过GraphDatabaseService
实例,您可以通过其ID:
Node yourNode = graphDatabaseService.getNodeById(0L);
......或通过索引:
Node yourNode = graphDatabaseService.forNodes("anIndexName").get("id", 42).getSingle();