0

Neo4j 1.9.2 を使用しており、次のクエリを最適化する必要があります。

START n=node:edge_iter(id='5'), r=relationship(*) MATCH (m)-[:NEXT]->(n) WHERE ID(r) = m.id RETURN r

のために致命的に遅いですrelationship(*)

だから私はうまくいかないこのクエリを作成しました:

START n=node:edge_iter(id='5') MATCH (m)-[:NEXT]->(n) WITH m.id as id START r=relationship(id) RETURN r

エラーメッセージ:

予想される関係 ID、または *

"START r=関係(id)"

パラメータである必要があるr=relationship({id})ため、使用すると別のエラーが発生します。{id}

m.id私の質問は簡単です.2番目のクエリを作成せずに対応する行を取得するにはどうすればよいですか?

ちょっとしたコンテキスト: Neo4j でエッジ ストリームをモデル化しようとしています。これは、出現時間順に並べられた一連の連続したエッジです。

4

2 に答える 2

0

Neo4j クルーから:

まだ、2.0 では、次から直接ルックアップを行う必要があります: where id(r) = id

于 2013-08-23T13:13:54.010 に答える
0

私の理解では、タイプ「NEXT」のすべての関係を取得しようとしており、開始ノードと同じ識別子を使用しています。それが真の場合は、次のクエリを試してください。

START n=node:edge_iter(id='5') 
MATCH (m)-[r:NEXT]->(n)
Where ID(r) = ID(n)
Return r
于 2013-08-23T12:39:13.043 に答える