Neo4j-JDBC驱动程序只返回一行

时间:2014-05-31 16:54:08

标签: neo4j cypher

我正在使用Neo4j JDBC驱动程序2.0.1。

当我通过浏览器运行以下查询时,我得到了正确的数据。

MATCH (u:Person) RETURN  u.name, u.lastname

我正在使用NeoJDBC驱动程序执行此语句(我连接到数据库,否则我之前无法创建节点):

public static ResultSet executeCypher(String query)
{
        try (Statement stmt = TestUtils.connection.createStatement())
        {
            return stmt.executeQuery(query);
        } 
        catch (SQLException e) 
        {

            System.out.println(e.getMessage() + "\n\n" + e.getCause().toString() + "\n\n" + e.getErrorCode());

        }

}

当我在结果集上进行迭代时,按预期有2个列。但结果集中只有一行。我是根据the minimum viable snippet写的:

//create some users here
//...
//check the database content
ResultSet rs = TestUtils.executeCypher("MATCH (u:Person) RETURN  u.name, u.lastname");
    while(rs.next())
    {
                    System.out.println(rs.getString("u.name"));
        System.out.println("print anything for test purposes"); 

    }

输出:

  

执行查询:MATCH(u:Person)将u.name作为名称,u.lastname返回   as lastname with params {}启动Apache HTTP客户端

     

约翰   为测试目的打印任何东西

为什么我只返回一行,尽管它应该返回多行?我在调试时在ResultSet的“data”字段中找到了一些数据(另请参见Michael Hunger's answer here),其中“last”属性为false。所以我想有更多的数据。但我不知道如何提取它。

如何获取ResultSet中的所有数据(使用迭代器)?

0 个答案:

没有答案