列の1つがUNIXタイムスタンプであるcsvファイルがあるとします。それはソートされていませんが、それらを順番にたどると便利な関係になる可能性があります。それが必要な場合は、ORDER BY を使用できますが、リレーションシップ ポインターを追加する方が高速であり、NOSQL を利用できますか? これを並べ替えて、取り込み時に関係を追加する必要がありますか? それとも、クエリの後に実行できますか?
最初のクエリを実行してサブセットを取得した後:
result = engine.execute(START...WHERE...ORDER BY time)
次に、この関係を次のように追加して結果を確認できますか。
prev.createRelationshipTo(next, PRECEDES);
foreach または iterator を使用して 2 つの異なる方法を試しましたが、両方とも文字列をノードにキャストする実行時エラーが発生しました。
for (Map<String, Object>row : result) {
String n = (String) row.values().iterator().next();
System.out.println(n);
}
Iterator<Node> nodes = result.columnAs("n.chosen");
if (nodes.hasNext()) {
Node prev = nodes.next();
while (nodes.hasNext()) {
Node n = nodes.next();
prev.createRelationshipTo(n, null);
prev = n;
}
}
また、同じタイムスタンプを持つ 2 つの行のエッジ ケースもあります。選択された順序は気にしませんが、関係チェーンを壊さないようにしたいです。