0

私は neo4j-2.0.0 M3 を使用しており、かなり単純なクエリを実行しています。しかし、私が得ている結果は私には意味がありません。これは、クエリのデータ モデルです。

http://imgur.com/XlpgWTQ

上が「仕入先」、下が「工場」です。

クエリ

START s=node:__types__(className='Supplier'),f=node:__types__(className='Factory')
MATCH (s)-[d:delivers]->(f) 
RETURN s.name,d.price, f.name;

5 行のみを返します (間違っています。9 つの項目があるはずです):

5 rows
s.name      d.price f.name
"Amazon"    30      "Köln"
"eBay"      33      "Köln"
"Amazon"    29      "Frankfurt"
"Amazon"    32      "Mannheim"
"Conrad"    27      "Stuttgart"

奇妙なことに、同じクエリを実行しても関係を変数にバインドしないと、7 行が得られます。

START s=node:__types__(className='Supplier'),f=node:__types__(className='Factory')
MATCH (s)-[delivers]->(f) 
RETURN s.name, f.name;

7 rows
s.name      f.name
"Amazon"    "Köln"
"eBay"      "Köln"
"eBay"      "Frankfurt"
"Amazon"    "Frankfurt"
"eBay"      "Mannheim"
"Amazon"    "Mannheim"
"Conrad"    "Stuttgart"

正しい行数を取得する唯一の方法は、start 句を使用しないことです。何がうまくいかないのですか?

4

1 に答える 1