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

0

听起来您可能缺少索引中的一些条目。您可以尝试只执行 start/return 子句而不进行任何匹配吗?

于 2013-07-15T16:00:02.317 回答