查询大型分层

Querying large Hierarchical

处理 HR 数据的组织(每天 60 GB 以上)。

如何高效查询组织层级数据。假设要查询 -

a) 一个人在组织树中属于哪一层? b) 一个人有多少直接下属和间接下属A 有 2 名直接下属(B 和 C),B/C 各有 10 名直接下属。那么在这种情况下,A 的总间接报告人 = 20 和 A 的总报告人 = 22

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

一些简单的示例代码会有很大帮助。

两者都使用密码 -

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