Cypher循环结果

时间:2013-05-13 23:35:55

标签: java neo4j

我有公司登录并与其他公司建立了债务关系。 我想询问谁创建了关系(获取关系中的第一个节点)

我这样做

ExecutionEngine engine = new ExecutionEngine(graphDB);
ExecutionResult result = engine.execute( "start n=node(*) match n-[r]->()  return distinct n.name");

当我这样做时

out.println("Companies that have entered data "+result.toString()); 

我得到了我想要的东西,但现在我需要以正确的方式为我的servlet显示它。我目前这样做

Iterator<Node> list_companies = result.columnAs("n.name");
while(list_companies.hasNext()){
    Node compan = list_companies.next();
    out.println(compan.getId()+" "+compan.getProperty("name"));
}

我没有结果。我的节点有属性名称,税号和电子邮件。 我认为正确的方法是解析

result.toString()

删除“| + --- ||”......

1 个答案:

答案 0 :(得分:3)

如果您要返回n.name,那么您将返回一个属性而不是Node:

Iterator<Node> list_companies = result.columnAs("n.name"); 

最有可能是:

Iterator<String> list_companies = result.columnAs("n.name");
while(list_companies.hasNext()){
    String compan = list_companies.next();
    out.println(compan);
}

如果你想要id和name属性,那么你可以返回不同的n然后它就像你的例子中的Node迭代器一样。