1

我正在尝试检索未删除的关系,以及它们的源节点和目标节点。

我认为这很容易:

START relationship=relationship:relationship_auto_index(deleted="false") 
MATCH (source)-[relationship]->(target) 
RETURN relationship, source, target;

但这会返回 9600 行。

而这:

START relationship = relationship:relationship_auto_index(deleted="false") 
RETURN  relationship;

返回 30 行

我期待一对一,但显然我做错了什么。谁能告诉我什么?

4

2 回答 2

0

两者返回的内容有什么区别?

如果我没记错的话,你不能在密码中做这样的查询,而且至少在 1.8.2 和 1.9 上对我来说似乎也失败了。

我认为您实际上查询的是对所有节点的完整扫描,并且只返回所有对。我建立了一个小样本数据库。如果您单击查看结果并查看解释计划,您会发现它正在做一些奇怪的事情。您可能想提出 Neo4j 的错误问题。

尝试这样的事情:

START r=relationship(0) 
MATCH p=a-[r]->b 
RETURN Distinct(p)
于 2013-06-06T00:48:49.073 回答
0

奇怪的是,这得到了我想要的:

START source=node(*) 
MATCH source-[relationship]->target 
WHERE relationship.deleted = "false" 
RETURN source, relationship, target;

似乎效率较低。任何人都可以提供的任何见解将不胜感激。

于 2013-06-05T21:26:12.487 回答