neo4j中基于节点属性的预定义关系

neo4j中基于节点属性的预定义关系,neo4j,relationships,Neo4j,Relationships,我需要定义两个节点之间的关系。有一个公司和人员节点,公司节点有一个名为id的属性,人员节点有一个名为company\u id的属性 因此,每当有新的人员和公司加入时,我是否每次都需要建立关系 neo4j中是否有一个选项,可以预先定义要匹配的公司id和人员的公司id?如果找到匹配项,则为每个新条目自动创建关系。否,没有内置的功能 事实上,在图形数据库中,关系正在取代“company_id”属性 在应用程序级别,只要在数据库中添加人员节点,就可以调整查询以创建关系 MERGE (p:People)-

我需要定义两个节点之间的关系。有一个公司和人员节点,公司节点有一个名为id的属性,人员节点有一个名为company\u id的属性

因此,每当有新的人员和公司加入时,我是否每次都需要建立关系


neo4j中是否有一个选项,可以预先定义要匹配的公司id和人员的公司id?如果找到匹配项,则为每个新条目自动创建关系。

否,没有内置的功能

事实上,在图形数据库中,关系正在取代“company_id”属性

在应用程序级别,只要在数据库中添加人员节点,就可以调整查询以创建关系

MERGE (p:People)-[:WORKS_AT]->(c:Company)

克里斯

不,没有内置的功能

事实上,在图形数据库中,关系正在取代“company_id”属性

在应用程序级别,只要在数据库中添加人员节点,就可以调整查询以创建关系

MERGE (p:People)-[:WORKS_AT]->(c:Company)

Chris

您可以像这样定期运行查询:

MATCH (p:Person)
WHERE has(p.company_id)
MATCH (c:Company {id:p.company_id})
MERGE (p)-[:WORKS_AT]->(c)
REMOVE p.company_id;
在服务器/内核扩展或嵌入式代码中,您还可以注册一个tx commit侦听器,该侦听器正好可以执行此操作


您还可以使用诸如上的外部侦听器之类的工具来触发运行该查询。

您可以像这样定期运行查询:

MATCH (p:Person)
WHERE has(p.company_id)
MATCH (c:Company {id:p.company_id})
MERGE (p)-[:WORKS_AT]->(c)
REMOVE p.company_id;
在服务器/内核扩展或嵌入式代码中,您还可以注册一个tx commit侦听器,该侦听器正好可以执行此操作

您还可以使用上的外部侦听器之类的工具来触发运行该查询。

有关如何快速定义GraphAware运行时模块以在公司和个人之间创建关系的详细信息,请将两者添加到图形中,以获取有关如何快速定义GraphAware运行时模块以创建关系的详细信息将其中一个添加到图表时,公司和个人之间