我正在尝试检索未删除的关系,以及它们的源节点和目标节点。
我认为这很简单:
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行
我期待一对一,但显然我做错了什么。谁能告诉我什么?
答案 0 :(得分:0)
奇怪的是,这得到了我想要的东西:
START source=node(*)
MATCH source-[relationship]->target
WHERE relationship.deleted = "false"
RETURN source, relationship, target;
似乎效率低下。任何人都可以提供的任何见解将不胜感激。
答案 1 :(得分:0)
两者的回报有什么不同?
如果我没记错的话,你不能在cypher中做这样的查询,而且至少在1.8.2和1.9上它似乎都失败了。
我认为你查询实际上做的是对所有节点进行全面扫描,然后返回所有对。我设置了small sample database。如果您单击查看结果并查看解释计划,您将看到它正在做一些奇怪的事情。您可能想要提出Neo4j的错误问题。
尝试这样的事情:
START r=relationship(0)
MATCH p=a-[r]->b
RETURN Distinct(p)