Neo4j 中的数据建模
data modeling in neo4j
我是 neo4j 的新手,试图对数据库建模,该数据库包含 4 个 table 它是 csv 格式
table 1(员工详细信息)
员工(emp_no,birth_date,first_name,last_name,性别,hire_date)
table 2(详细说明谁是哪个部门的经理)
dept_maneger(emp_no ,dept_no ,from_date, to_date)
table 3(有关部门的详细信息)
部门(dept_no,dept_name)
table 4(详细说明哪个员工属于哪个部门)
dept_emp(emp_no ,dept_no ,from_date ,to_date)
我创建了节点,但我想使用 from date 和 to date 在部门节点员工节点之间建立关系。我该怎么做。
您没有提供有关您的 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
关系中。如果某人与非经理在同一部门工作,然后成为经理,s/he 将添加一个新的 WORKS_IN
关系,并添加 isManager=true
属性(以及促销日期作为 from
值)。
我是 neo4j 的新手,试图对数据库建模,该数据库包含 4 个 table 它是 csv 格式 table 1(员工详细信息) 员工(emp_no,birth_date,first_name,last_name,性别,hire_date)
table 2(详细说明谁是哪个部门的经理) dept_maneger(emp_no ,dept_no ,from_date, to_date)
table 3(有关部门的详细信息) 部门(dept_no,dept_name)
table 4(详细说明哪个员工属于哪个部门) dept_emp(emp_no ,dept_no ,from_date ,to_date)
我创建了节点,但我想使用 from date 和 to date 在部门节点员工节点之间建立关系。我该怎么做。
您没有提供有关您的 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
关系中。如果某人与非经理在同一部门工作,然后成为经理,s/he 将添加一个新的 WORKS_IN
关系,并添加 isManager=true
属性(以及促销日期作为 from
值)。