基本的に、私はエンティティの有向グラフを CouchDB に保存しており、グラフのインとアウトに向かうエッジを見つけることができる必要があります。
設定:
現在データが保存されている方法は次のとおりです。各ドキュメントは、2 つのエンティティ間の RELATION を表します。
doc: {
entity1: { name: '' ... },
entity2: { name: '' ... }
...
}
一連の発行を行うビューがあり、そのうちの 2 つはエンティティ 1 コンポーネントとエンティティ 2 コンポーネントをキーとするドキュメントを発行するので、次のようになります。
function() {
emit(['entity1', doc.entity1.name]);
emit(['entity2', doc.entity2.name]);
}
エッジは有向であり、エンティティ 1 とエンティティ 2 から移動します。したがって、エンティティの外に出ているエッジを見つけたい場合は、最初のエミットをクエリするだけです。エッジをエンティティに入れたい場合は、2 番目のエミットにクエリを実行します。
問題:
ここでの問題は、エンティティの INTOとOUT OF の両方に向かうエッジをキャプチャする必要があるという事実にあります。これら 2 つの放出を [x] UNIQUE ペアの単一の双方向セットにグループ化または削減する方法はありますか?
この行動を促進するために私の意見を整理するより良い方法はありますか?