0

誰かがこれについて私を助けてくれませんか。

「hive」または「hadoop」のいずれかの関係を持つノードを取得するために暗号クエリを使用していますが、ノードを取得できます。

しかし、「hive」と「hadoop」の両方の関係を持つノードを取得しようとすると、ノードを取得できません。

これは私が使用しているクエリです

start n=node(*) match (n)-[r]-() where type(r)="Hadoop" and type(r)="hive" return n,count(n);

このクエリは 0 行を返します。

私のクエリは間違っていますか、それとも別の方法で行う必要がありますか?

前もって感謝します。

ガウス

4

4 に答える 4

3

これはそれを行う必要があります:

start n=node(*) match ()-[:Hadoop]-(n)-[:hive]-() return n,count(n)
于 2013-03-01T14:02:26.977 に答える
2

あなたのクエリは次のようになるべきだと思います:

start n=node(*) match (n)-[r1]-(),(n)-[r2]-() where type(r1)="Hadoop" and type(r2)="hive" return n,カウント(n);

于 2013-03-01T13:51:57.343 に答える
1

このように達成できます

match (n)-[r:Hadoop|hive]-()
return n,count(n);

それはあなたが期待しているものを提供します。where 句に含めるよりも、一致する条件の方が適しています。

于 2015-03-14T13:19:53.950 に答える