使用RestCypherEngine在独立的Neo4J服务器上执行查询时,检索节点集合的最佳做法是什么?
我正在运行此代码段....
public DbService() {
gd = new RestGraphDatabase("http://neo4jbox:7474/db/data/");
engine = new RestCypherQueryEngine(gd.getRestAPI());
}
public String testData() {
try (Transaction tx = gd.beginTx()) {
QueryResult<Map<String, Object>> result;
result = engine.query(
"match (n:Person{username:'jomski2009'}) return n ",
null);
Iterator<Map<String, Object>> itr = result.iterator();
while (itr.hasNext()) {
Map<String, Object> item = itr.next();
log.info(item.get("n"));
}
tx.success();
return result.toString();
}
}
当我运行代码时,我得到以下结果......
services.DbService : http://neo4jbox:7474/db/data/node/177
是指向节点而非节点本身的链接。现在我知道如果我在同一查询中只返回节点的一部分属性,那么效果很好。我想知道的是如何检索完整的节点对象而不必在查询中指定属性?
感谢您的帮助。
答案 0 :(得分:0)
它只是RestNode的to-string表示,它仍然具有属性。但不是那些获取的关系将被按需提取。
我建议尝试使用Cypher通过线路获取原始值,这样可以最大限度地减少传输的数据,并且只能获得所需的内容。