我有一个图形结构,带有" hyperedges" - 具有图中某个节点的唯一属性的边属性。我想编写一个查找此类边的Cypher查询,然后使用该属性的值和后续的START
子句来查找引用的节点。我尝试了一些事情,但我最接近的是:
MATCH (start)-[relationship]->(end)
WHERE HAS(relationship.source)
WITH start, end, relationship.source AS source
START src = node:node_auto_index(src = {source})
RETURN start, end, src
抱怨Expected a parameter named source
。
从{source}
删除括号也会产生错误:
START src = node:node_auto_index(src = source)
我可以将值传递给后续查询中的WHERE
子句,如下所示:
MATCH (start)-[relationship]->(end)
WHERE HAS(relationship.source)
WITH start, end, relationship.source AS source
MATCH (src)
WHERE src.src = source
RETURN start, end, src
但是这并没有利用遗留索引导致查询非常慢。
有没有办法通过START
将先前查询的结果传递给WITH
子句?