如何在 spring 数据 neo4j 中对这种关系建模?

How to modeling this relation in spring data neo4j?

鉴于我有两个实体:PersonCompany,并且它们之间存在多种关系:

个人-公司:

  1. 可以是公司员工
  2. 此人可以是公司的股东
  3. 此人可以是公司法人

公司 - 公司:

  1. 公司可以是公司法人
  2. 公司可以是公司的股东

那么如何在 spring 数据 neo4j 中对此进行建模?

我尝试的是建立3种关系类型:EMPLOY、INVEST、LEGAL,每种关系类型都以Company为StartNode,person为EndNode,然后在company和person中,保持这些关系与"UNDIRECTED" 方向,和现在的图一样,但是在保存和搜索的时候总是出现Whosebug的错误。

是的,现在这里是github中的解决方案,所有类都在sample.spring.data.neo4j包中,对应的测试sample.spring.data.neo4j.repositories.CompanyRepositoryTest

一开始的大问题是在删除所有lombok 注释并使用普通 getter/setter,一切顺利。