如何在 cypher 中命名子表达式以提高可读性和重用性?

How to name a subexpression in cypher for readability and reuse?

例如,假设我的许多查询都使用表亲的想法。他们可能会用

描述“ba 的表亲”
(a)-[:PARENT]->()-[:PARENT]->(grandparent)<-[:PARENT]-()<-[:PARENT]-(b)

有什么办法可以给那块逻辑起个名字,这样我就可以做一些更像的事情:

(a)-[:COUSIN]-(b)

然后在阅读其他查询时会更清楚它们使用相同的结构,当我发现 "cousin" 的定义有错误时,我只有一个地方可以修复它。

你所描述的是一种隐含的关系。表亲之间存在关系,只是没有在图中明确建模。因此,您可以做的一件事是在图中创建所有表亲之间的关系,然后直接使用 COUSIN 关系。