【发布时间】:2013-02-23 19:44:32
【问题描述】:
我想遍历 Java 中的 Neo4j 数据库节点和关系(不是嵌入式的。我想使用 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 的替代方法也受到热烈欢迎...
【问题讨论】:
-
不要在节点上使用遍历,而是创建一个
RestTraversalDescription来描述您的遍历,然后将节点传递给traverse,以便它在服务器上执行。 -
嗨@Micheal Hunger,这是你的意思吗,..> new RestAPIFacade("localhost:7474/db/… .traverse(nodesList.toArray(new Node[0])) ..这会返回一个组织.neo4j.graphdb.traversal.Traverser,对吗?如果不是,您可以在上面的注释中添加一行“创建一个 RestTraversalDescription 来描述您的遍历,然后传入要遍历的节点”。谢谢。