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的回答,但我不确定我是否得到了第一部分。我在原来的帖子中添加了一个具体的例子。