如何在 cypher 中命名子表达式以提高可读性和重用性?
How to name a subexpression in cypher for readability and reuse?
例如,假设我的许多查询都使用表亲的想法。他们可能会用
描述“b 是 a 的表亲”
(a)-[:PARENT]->()-[:PARENT]->(grandparent)<-[:PARENT]-()<-[:PARENT]-(b)
有什么办法可以给那块逻辑起个名字,这样我就可以做一些更像的事情:
(a)-[:COUSIN]-(b)
然后在阅读其他查询时会更清楚它们使用相同的结构,当我发现 "cousin" 的定义有错误时,我只有一个地方可以修复它。
你所描述的是一种隐含的关系。表亲之间存在关系,只是没有在图中明确建模。因此,您可以做的一件事是在图中创建所有表亲之间的关系,然后直接使用 COUSIN
关系。
例如,假设我的许多查询都使用表亲的想法。他们可能会用
描述“b 是 a 的表亲”(a)-[:PARENT]->()-[:PARENT]->(grandparent)<-[:PARENT]-()<-[:PARENT]-(b)
有什么办法可以给那块逻辑起个名字,这样我就可以做一些更像的事情:
(a)-[:COUSIN]-(b)
然后在阅读其他查询时会更清楚它们使用相同的结构,当我发现 "cousin" 的定义有错误时,我只有一个地方可以修复它。
你所描述的是一种隐含的关系。表亲之间存在关系,只是没有在图中明确建模。因此,您可以做的一件事是在图中创建所有表亲之间的关系,然后直接使用 COUSIN
关系。