2017-04-21 102 views
0

我是neo4j的新手,嘗試對數據庫建模數據庫包含4個表格,它採用csv格式 表1(員工詳細信息) 員工(emp_no,birth_date,first_name,last_name,gender,hire_date )neo4j中的數據建模

表2(詳細詢問誰是maneger該部門) 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)

我創建了節點,但我想在部門節點員工節點之間使用從日期到日期的關係。我怎樣才能做到這一點。

回答

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值)添加。

+0

我已上載從CSV數據和創建的節點和索引 –

+0

使用週期性COMMIT帶有頭部 LOAD CSV FROM 「文件:///dept_manager.csv」 AS行 MATCH(EMP_NO:員工{EMP_NO:row.emp_no} ) MATCH(dept_no:departments {dept_no:row.dept_no}) MERGE(Employee) - [:belongs_to {from_date:row.from_date,to_date:row.to_date}] - >(departments); –

+0

我試過這個關係,但它不起作用 –