我正在使用 neo4j-2.0.0 M3 并运行一个相当简单的查询。但是我得到的结果对我来说毫无意义。这是我的查询数据模型:
最高的项目是“供应商”,最低的项目是“工厂”。
查询
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 子句。怎么了?