我正在使用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"
现在很奇怪,如果我运行相同的查询,但不要将关系绑定到一个varibale,我得到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子句。 怎么回事?
答案 0 :(得分:0)
听起来您可能缺少索引中的某些条目。你可以尝试只做起始/返回子句而没有任何匹配吗?