我怎样才能与一场比赛的所有邻居建立关系?
How can I create relationships to all neighbors of a match?
正在尝试在我的数据库中构建稀疏时间树:
MATCH (m:Month)-[:HAS_YEAR]->(y:Year)
WITH m, y ORDER by y.year, m.month
RETURN collect(m)
我想在相互跟随的月节点之间添加 -[:FOLLOWS]->
关系。有没有一种简单的方法来遍历节点列表并创建这些关系?
备注:
- 稀疏,我的意思是如果那个月没有进行测试,一些月份的节点就会丢失。例如,我们有
(y:Year(number: 2019})<-[:HAS_YEAR]-(:Month{number: 4})<-[:FOLLOWS]-(:Month{number: 6})-[:HAS_YEAR]->(y)
.
- 对于上下文,我有一个包含日期字段的
(:Test)
节点列表,我对其进行解析以创建关系 (:Test)-[:DONE_ON]->(:Month)
。而且我正在尝试找到一种好方法来过滤上次记录的月份(无论是本月、上个月还是更早的月份)完成的测试列表。如果使用月节点,我可以简单地查询 MATCH (t:Test)-[:DONE_ON]->(m:Month) WHERE NOT EXISTS (m)<-[:FOLLOWS]-(:Month) RETURN t
是的。如果您安装了 APOC 过程,并且您对排序感到满意,那么 collect() 将使它们保持排序顺序。然后您可以使用 CALL apoc.nodes.link(list, 'FOLLOWS')
,它将在列表中的所有节点之间创建这些关系。
正在尝试在我的数据库中构建稀疏时间树:
MATCH (m:Month)-[:HAS_YEAR]->(y:Year)
WITH m, y ORDER by y.year, m.month
RETURN collect(m)
我想在相互跟随的月节点之间添加 -[:FOLLOWS]->
关系。有没有一种简单的方法来遍历节点列表并创建这些关系?
备注:
- 稀疏,我的意思是如果那个月没有进行测试,一些月份的节点就会丢失。例如,我们有
(y:Year(number: 2019})<-[:HAS_YEAR]-(:Month{number: 4})<-[:FOLLOWS]-(:Month{number: 6})-[:HAS_YEAR]->(y)
. - 对于上下文,我有一个包含日期字段的
(:Test)
节点列表,我对其进行解析以创建关系(:Test)-[:DONE_ON]->(:Month)
。而且我正在尝试找到一种好方法来过滤上次记录的月份(无论是本月、上个月还是更早的月份)完成的测试列表。如果使用月节点,我可以简单地查询MATCH (t:Test)-[:DONE_ON]->(m:Month) WHERE NOT EXISTS (m)<-[:FOLLOWS]-(:Month) RETURN t
是的。如果您安装了 APOC 过程,并且您对排序感到满意,那么 collect() 将使它们保持排序顺序。然后您可以使用 CALL apoc.nodes.link(list, 'FOLLOWS')
,它将在列表中的所有节点之间创建这些关系。