Java 如何检查Neo4j中的ExecutionResult是否为空

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

我正在使用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("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();