neo4j中的数据建模

时间:2017-04-21 18:21:11

标签: neo4j data-modeling

我是新手neo4j试图建模数据库,数据库包含4个表,它是csv格式 表1(员工详情) 员工(emp_no,birth_date,first_name,last_name,gender,hire_date)

表2(关于谁是哪个部门的详细信息) dept_maneger(emp_no,dept_no,from_date,to_date)

表3(关于部门的详细信息) 部门(dept_no,dept_name)

表4(关于哪个员工属于哪个部门的详细信息) dept_emp(emp_no,dept_no,from_date,to_date)

我创建了节点但我想在部门节点员工节点之间使用日期和日期建立关系。我怎么能这样做。

1 个答案:

答案 0 :(得分:0)

您未提供有关neo4j数据模型的信息。以下是您可以使用的简单数据模型的示例。

您可以使用标记为Employee的节点(适用于所有员工,包括经理)和Department。例如:

(e:Employee {id: 987, birthdate: 222, firstName: 'Fred', lastName: 'Smith', gender: 'male', hired: 12})
(manager:Employee {id: 221, birthdate: 111, firstName: 'George', lastName: 'Jones', gender: 'male', hired: 10})
(d:Department {id: 324, name: 'Accounting'})

以下是关系示例(类型WORKS_IN):

(e)-[:WORKS_IN {from: 123, to: 456}]->(d)
(manager)-[:WORKS_IN {from: 234, to: 567, isManager: true}]->(d)

所有职位的开始和结束日期都存储在WORKS_IN关系中。如果某人与非经理人在同一部门工作,然后成为经理,他/她将与WORKS_IN财产添加新的isManager=true关系(以及促销日期为from值。)