Java 如何检查Neo4j中的ExecutionResult是否为空
我正在使用java在neo4j中执行一个查询。我不知道如何检查执行结果是否为空。这是我的密码Java 如何检查Neo4j中的ExecutionResult是否为空,java,neo4j,Java,Neo4j,我正在使用java在neo4j中执行一个查询。我不知道如何检查执行结果是否为空。这是我的密码 String firstquery=" start n=node(*) match(b)-[relatedto]->(n) where b.value=\""+applicationName+"\" return n"; ExecutionResult execResult = execEngine.execute(firstquery); System.out.println
String firstquery=" start n=node(*) match(b)-[relatedto]->(n) where b.value=\""+applicationName+"\" return n";
ExecutionResult execResult = execEngine.execute(firstquery);
System.out.println("executing query");
String results = execResult.dumpToString();
System.out.println(results);
Iterator<Node> n_column1 = execResult.columnAs( "n" );
System.out.println("n column 1 :"+n_column1);
if (n_column1 ==null)
{
System.out.println("Has no rows");
}
else
{
System.out.println("results are there");
}
执行结果本质上是映射的迭代器,其类型定义如下:
Iterable<Map<String,Object>>
我认为这是一个严格意义上的ResourceIterator,所以如果你得到一个迭代器,你应该关闭它,如果你没有用尽它。查看ResourceIterator的neo4j文档。我做了一个execResult.iterator.hasNext()。但它仍然在显示结果@luanehasnext是一个布尔值。我建议您在print语句中使用if(execResult.iterator().hasNext())。
Iterable<Map<String,Object>>
result.iterator().hasNext();