计算连接到其他节点的员工数量抛出多个关系

时间:2018-02-18 18:11:27

标签: neo4j cypher graph-databases

我有一些员工在职位上存在冲突,这取决于他们作为Labors工作的合同,但在现场他们作为驱动程序工作,在我的数据库中我记录每个职位来源作为雇佣节点和角色节点之间的关系。我想弄清楚的是,我应该如何查询雇佣人数,两者之间没有冲突,如果有冲突,我想根据每个关系的角色明确计算员工,例如:
我有以下内容:

  • 3名员工有司机合同并担任司机,所以他们两人的关系都与司机节点有关。
  • 4名员工有劳动合同并作为司机工作,因此一个关系连接到劳动节点,另一个关系连接到驱动程序节点。
  • 10名员工有劳动合同并作为劳动力工作,因此他们的关系与劳动节点相关。

Look at the model here

MATCH (m2)<-[r2 {source:"operation"}]-(e:Employee)-[r1 {source:"contract"}]->(m1) RETURN distinct m1.name as contract_position, m2.name as operation_position, count(e)

我尝试了这个并且它几乎完成了我想要的但是如果我有两个以上的关系(超过两个来源),我认为它不会起作用。

请记住,我有比这两个角色更多的角色,我希望能够很好地理解纸上的内容和操作中的内容。
PS:我刚开始学习图形数据库和neo4j,所以给一些松懈:)

0 个答案:

没有答案