Neo4j 从具有标签的节点开始遍历(遍历框架)

Neo4j 从具有标签的节点开始遍历(遍历框架),neo4j,traversal,Neo4j,Traversal,在我当前的模型中,我使用遍历框架从特定节点开始执行查询 (Node{id:"XXX"}) -> ...Other nodes. 出于经济原因(为了减少使用的节点和关系的数量),我正在考虑将标签“XXX”添加到其他节点 知道其他节点可能是数百万个节点,我想知道: -这样建模是好是坏(与更经济无关)? -在本例中使用遍历框架,我应该如何指定起始节点 编辑: 一个具体的例子: 假设我有Person类型的用户节点(节点:Person)。每个人员节点都与一个国家/地区节点(节点:Country)关

在我当前的模型中,我使用遍历框架从特定节点开始执行查询

(Node{id:"XXX"}) -> ...Other nodes.
出于经济原因(为了减少使用的节点和关系的数量),我正在考虑将标签“XXX”添加到其他节点

知道其他节点可能是数百万个节点,我想知道: -这样建模是好是坏(与更经济无关)? -在本例中使用遍历框架,我应该如何指定起始节点

编辑

一个具体的例子:

假设我有Person类型的用户节点(节点:Person)。每个人员节点都与一个国家/地区节点(节点:Country)关联,关系为:LIVES\u IN 每个人都可以链接到0..*关系为:KNOWS的人

我正在使用遍历框架,在一个国家中,寻找彼此(直接或间接)相连的不同人群。我从country节点开始遍历,遍历生活和关系


正如你所想象的,生活在同一个国家的人可以达到数百万。

你应该试着从这种类型和方向的关系较少的那一边来看

所以,如果你在左右两边的关系较少,我会从较小的那一边来

您还可以查看双向遍历api,它从两侧同时进行,直到找到重叠

在您的具体示例中,我总是从人的角度看问题,只需检查他们是否在同一个国家/地区,即关系另一端的节点是同一个国家/地区节点

因此,我会先通过其他方式将人们联系起来(你必须处理较少的rel),然后再查看国家

另一种选择是将同居关系分为州/县和市


那么,从一个国家到另一个城市,你只有几千种关系,而根据你的模式,从一个城市到另一个人,你也只有几千种关系。因此,您可以先检查城市的两边,或者他们在同一个城市,或者您只需检查两个城市是否在同一个国家。

谢谢Michael的回答,但我不确定我是否得到了第一部分。我在原来的帖子中添加了一个具体的例子。