を使用してノードのパスにおけるステップ(深さ)を検索し、私は次のグラフのNeo4jおよび/またはPythonの
は、それらの関係は、それぞれのNeo4j CYPHERを正規化した後、「USES_COMPONENT
」
あるていますその結果、私は最終的に生CYPHERに非常によく似た、グラフ全体を(説明
{
'1': {
'label': 'Product',
'properties': {...},
'type': 'VERTEX'
},
'2': {
'label': 'Component',
'properties': {...},
'type': 'VERTEX'
},
'3': {
'label': 'USES_COMPONENT',
'properties': {...},
'type': 'EDGE',
'direction': 'OUT',
'from': '1',
'to': '2'
}
}
のような構造を持っています応答)
現在のサイファークエリは次のとおりです。(Froot Loopsのuuidはa1
です。私はこれを割り当てた。)
MATCH p = (pr:Product)-[:USES_COMPONENT*]->()
WHERE pr.meta_uuid = 'a1'
RETURN p
私がする必要がどのような各コンポーネントがある何歩ルート(Frootループ)から見つけることです。
従ってCorn Flour Blend
は、が2
ステップ離れている間に、1
になります。
サイファーの実装またはPythonの実装に満足しています。または、2つの組み合わせ。
いくつかの注意:
- 私は完全なグラフデータの制御、およびそれが(上記の)正規化された方法でいます。できるだけこれに近い状態にしておきたいですが、私はです。調整する
- パフォーマンスは重要ですが、これらのグラフはどれも大したものではありません。 (合計)いずれかの製品は、誰もが私は
USES_COMPONENT
関係についてだけ心配しています1 - を知っているならば、私は、サードパーティのライブラリが含まれて幸せ
- (任意の深さで)200の以上のコンポーネントを持っていた場合、私は、驚くだろうそれは決して円形ではありません。 がの場合、
USES_COMPONENT
のパスをたどっても、Froot Loopsには決して行きません。
皆様のご協力に感謝いたします。私は完全に何をgoogleにしていないので、もし私が何か明白なことを見逃してしまったら、リンクが評価されるだろう。ルートからの距離を持つノード以来
ルート全体かルートからの距離が十分なノードが必要ですか? –
距離のあるノードは問題ありません。私はちょうど "全粒黄色のトウモロコシの粉"は2つのステップであることを理解する必要があります。 – Apollo