【发布时间】:2014-04-14 12:10:32
【问题描述】:
我编写了一个测试,从here 复制官方密码查询示例并添加所需的演员表。然后它失败了:
java.lang.ClassCastException: scala.collection.Iterator$$anon$11 cannot be cast to java.util.Iterator ...。这是代码:
@Test
public void testCreateWithCypher() {
ExecutionEngine engine = new ExecutionEngine(db, StringLogger.SYSTEM);
try (Transaction transaction = db.beginTx()) {
String cypher = "CREATE (x:Person {name: 'John'})" +
"RETURN x";
ExecutionResult result = engine.execute(cypher);
Iterator<Node> n_column = (Iterator<Node>) result.columnAs("x");
for (Node node : IteratorUtil.asIterable(n_column)) {
String nodeResult = node + ": " + node.getProperty("name");
}
transaction.success();
}
}
没有强制转换,它不会编译,因为columnAs 返回Iterator<Object>。顺便问一下,这个scala.collection.Iterator$$anon$11 在做什么?我以为是extendedjava.lang.Iterator?
我只想要一个Iterator<Node>,这样我就可以从ExecutionResult 获得东西。没有演员怎么能做到这一点?我的项目将这些依赖项用于${neo4.version} = 2.0.1:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>${neo4j.version}</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-cypher</artifactId>
<version>${neo4j.version}</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-kernel</artifactId>
<version>${neo4j.version}</version>
<type>test-jar</type>
</dependency>
【问题讨论】:
标签: java neo4j cypher resultset