Cypher の javadoc は、おそらく何もないため、これについてあまり明確ではありません。
そのため、一致するノードのプロパティを反復処理する方法を示す「トライアル」でコードを再作成しました。ドメインは果物の種類で、各種類は「果物」ノードにリンクされています。クエリを実行した後の関連するスニペットは次のとおりです。
Iterator<Node> kindsOfFruit = result.columnAs("x");
while (kindsOfFruit.hasNext()) {
Node kindOfFruit = kindsOfFruit.next();
System.out.println("Kind #" + kindOfFruit.getId());
for (String propertyKey : kindOfFruit.getPropertyKeys()) {
System.out.println("\t" + propertyKey + " : " +
kindOfFruit.getProperty(propertyKey));
}
}
それresult.columnAs("x")
が鍵です。巧妙に命名されString n
たパラメーターは、結果句の「列名」を参照します。この例では、「x」列が必要で、そこにオブジェクトが含まれていると予想されるNode
ため、直接 an に割り当ててからIterator<Node>
使用できます。
列が見つからない場合は、org.neo4j.graphdb.NotFoundException
.
間違ったクラスへの割り当てを要求すると、通常のjava.lang.ClassCastException
.
完全な動作例は、
https ://github.com/akollegger/neo4j-trials/blob/master/src/test/java/org/akollegger/neo4j/trials/richardw/ExecutionResultIteratorTrial.java で入手できます。
それが役立つことを願っています。
乾杯、アンドレアス