0

グラフには、ABCD と ABEF の 2 つのパスがあります。これらのパスに識別番号を割り当てたいと思います。つまり、ABCD は 1、ABEF は 2 になります。

出来ますか?はいの場合、どのように?

4

1 に答える 1

1

永続的なパス ID のようなものですか? これは直接の機能ではありませんが、Cypher のクエリで実行できます。

何か永続的なものが必要な場合は、いつでもインデックスを使用できるため、Path:1 のキー/値の下にパス 1 の s をRelationship格納するインデックスを作成します。Relationship

編集:詳細情報を取得した後、インデックスを使用したユースケースを次に示します。

インデックスでこれを定義するのはあなた次第です。これがあなたがすることです:

    Node a = db.createNode();
    Node b = db.createNode();
    Node c = db.createNode();
    Node d = db.createNode();
    Node e = db.createNode();
    Node f = db.createNode();

    Relationship aTob = a.createRelationshipTo(b, DynamicRelationshipType.withName("RELATIONSHIP"));
    Relationship bToc = b.createRelationshipTo(c, DynamicRelationshipType.withName("RELATIONSHIP"));
    Relationship cTod = c.createRelationshipTo(d, DynamicRelationshipType.withName("RELATIONSHIP"));

    Relationship bToe = b.createRelationshipTo(e, DynamicRelationshipType.withName("RELATIONSHIP"));
    Relationship eTof = e.createRelationshipTo(f, DynamicRelationshipType.withName("RELATIONSHIP"));

    Index<Relationship> relationshipIndex = db.index().forRelationships("PathIndex");
    String pathRId = UUID.randomUUID().toString();
    String pathMId = UUID.randomUUID().toString();

    relationshipIndex.add(aTob, "PathId", pathRId);
    relationshipIndex.add(bToc, "PathId", pathRId);
    relationshipIndex.add(cTod, "PathId", pathRId);

    relationshipIndex.add(aTob, "PathId", pathMId);
    relationshipIndex.add(bToe, "PathId", pathMId);
    relationshipIndex.add(eTof, "PathId", pathMId);

次に、パスを見つけたい場合は、ID で検索します。ここでは UUID を使用しますが、より代表的な情報を使用することもできます。関係は、インデックスから返されたときに繰り返し可能な順序ではありません。

于 2013-05-04T17:01:17.227 に答える