组织处理人力资源数据(每天60 GB +)。
如何以有效的方式查询组织层次结构数据。假设想要查询 -
a)在一个组织树中,一个人在哪个级别? b)一个人有多少直接报告者和间接报告者,例如A有2个直接报告(B和C),B / C各有10个直接报告。然后在这种情况下,A = 20的总间接报告和A = 22
的总报告哪个框架最适合这个?我们应该选择提供Cypher查询语言,Spark GraphX,Spark GraphDF等的Neo4j吗?
一些快速示例代码将有很多帮助。
答案 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