3

私はneo4jを初めて使用するので、私の質問はばかげているように聞こえるかもしれませんが、とにかく。

OSM データ セットを neo4j グラフ データベースにインポートしました。そのため、現在、次のように、db からさまざまなものをクエリしようとしています。

MATCH (a) WHERE has(a.addr:street) RETURN a.addr:street

sysntax エラーで失敗します。

Type mismatch: expected Node but was Boolean, Number, String or Collection<Any> (line 1, column 23)
"MATCH (a) WHERE has(a.addr:street) RETURN a.addr:street"
                       ^

ノードにはコロン(:)を含む多くのプロパティがあるため、これは奇妙です。

そのようなプロパティを照会する方法を知っている人はいますか?

4

2 に答える 2

2

Neo4j へようこそ! や空白などの:文字は、クエリ言語で重要な場合があるため、クエリにあいまいさをもたらす可能性があり、パーサーに問題が発生します。式を「バッククォート」で囲むことにより、これらの文字を引き続き使用できます。

MATCH (a) WHERE has(a.`addr:street`) RETURN a.`addr:street`

ここで他の例を見ることができます。

于 2013-11-18T14:16:30.240 に答える
0

暗号クエリには 3 つの部分があります。

スタート、マッチ、リターン。したがって、ここでのクエリは :: になります

START a=node(1)
MATCH (a)-[:HAS]->(addr)-[:HAS]->(street)
RETURN street
于 2013-11-18T13:45:00.857 に答える