奇怪的密码行为;错误?

时间:2013-07-15 15:46:18

标签: neo4j cypher

我正在使用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"

现在很奇怪,如果我运行相同的查询,但不要将关系绑定到一个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子句。 怎么回事?

1 个答案:

答案 0 :(得分:0)

听起来您可能缺少索引中的某些条目。你可以尝试只做起始/返回子句而没有任何匹配吗?