2

列の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 つの行のエッジ ケースもあります。選択された順序は気にしませんが、関係チェーンを壊さないようにしたいです。

4

0 に答える 0