查询大型分层

时间:2016-04-11 16:45:44

标签: neo4j spark-graphx

组织处理人力资源数据(每天60 GB +)。

如何以有效的方式查询组织层次结构数据。假设想要查询 -

a)在一个组织树中,一个人在哪个级别? b)一个人有多少直接报告者和间接报告者,例如A有2个直接报告(B和C),B / C各有10个直接报告。然后在这种情况下,A = 20的总间接报告和A = 22

的总报告

哪个框架最适合这个?我们应该选择提供Cypher查询语言,Spark GraphX,Spark GraphDF等的Neo4j吗?

一些快速示例代码将有很多帮助。

1 个答案:

答案 0 :(得分:1)

两者都使用密码 -

a)找出员工在组织中相对于最高老板的位置:

MATCH (e:Employee {empid: "ID"})-[r:REPORTS_TO*]->(boss:Employee)
return e, r, boss

b)找到员工的直接和间接报告:

MATCH (e:Employee {empid: "ID"})<-[r:REPORTS_TO*1..2]-(sub:Employee)
return e, r, sub