我需要在我的Cypher查询的return语句中添加以下模式解析:
[ (rc:Criterion) WHERE rc.id IN childD.replaceableCriterionIds | {entity: rc} ] AS decisionReplaceableCriteria
但它失败了,但有以下例外:
Caused by: org.neo4j.driver.exceptions.ClientException: Invalid input 'WHERE': expected "-", "<", <ARROW_LEFT_HEAD> or <ARROW_LINE>
它只在我添加与另一个节点的冗余关系时有效
[ (rc:Criterion)-[:CREATED_BY]->(:User) WHERE rc.id IN childD.replaceableCriterionIds | {entity: rc} ] AS decisionReplaceableCriteria
以下部分对我的需求来说是绝对多余的:
-[:CREATED_BY]->(:User)
有没有可能重写我的模式理解来避免这种冗余的语法?
1条答案
按热度按时间6ojccjat1#
如果您使用的是Neo4j 5.6+,则可以使用COLLECT子查询。下面是一个示例代码片段:
在Neo4j的早期版本中,您可以尝试破解:
这使用指定长度为0的可变长度路径模式。如果您想查看这个可变长度路径模式是否会导致任何DB命中,请PROFILE查询并查看
VarLengthExpand
操作的“db命中”。