從Excel中導入數據到Neo4j

從Excel中導入數據到Neo4j

我相信你們都是非常精通技術的,對Java或其他語言都特別瞭解,而我不是。我喜歡技術,但我沒有受過良好的教育,所以我不是。但我仍然想導入數據到Neo4j,我該怎麼做呢?

有需要技術教程教我們如何做(比如 batch-import , batch importer part , import ),但我需要一些簡單的方法,所以我的朋友和同事 Michael Hunger 前來幫助我,提供了一些方法用於創建一個Excel將數據導入Neo4j.

你可以從 這裏 找到一個演示用的Excel表格文件,你會發現他包括兩個部分:

  1. 一個介紹Sheet.我以後介紹他.
  2. 一個數據Sheet. 首先讓我們來看這個.

數據導入Sheet

這個表單頁包括兩個部分:

  • 列 A , B 和 C : 這些包含我們的圖的節點的數據,用」id」, 「name」和」type」表示;
  • 列 F , G 和 H : 這些包含圖數據庫的關係數據,有一個起始節點「from-id」的id,一個結束節點「end-id」的id以及關係類型「relationship type」。 列 F 和 G 表示節點的索引,他們的id表示的節點在列 A 中。

下面是關鍵點:如何從這些節點和關係中創建Cypher語句。爲此你需要掌握一些簡單的 語法知識 ,看列 D 和 I :

  • 採用cypher來生成節點:

=」create n={id:’」&A2&」‘, name:’」&B2&」‘, type:’」&C2&」‘};」

output for row 2:

create n={id:’1′, name:’Amada Emory’, type:’Female’};

就像你看到的一樣,他從列 A , B 和 C 獲取id,name和type值,放入一個」create」的cypher中。

採用cypher來生成關係:

=」start n1=node:node_auto_index(id=’」&F2&」‘), n2=node:node_auto_index(id=’」&G2&」‘) create n1-[:"&H2&"]->n2;」

output for row 2:

start n1=node:node_auto_index(id=’1′), n2=node:node_auto_index(id=’11′) create n1-[:MOTHER_OF]->n2;

這個有一點複雜,他將使用Neo4j的自動索引功能:爲了能創建關係,我們首先必須通過自動生成的 ID 找到起始節點和結束節點。然後創建關係的 Cypher 才能創建在列 H 中的關係。

到此,我們得到了兩條Cypher語句,下一步呢?

介紹頁

在這個頁面,你將找到一些介紹,基本上,你需要跟隨下面的步驟操作:

  1. 下載並解壓Neo4j Server;
  2. 拷貝/粘貼剛纔的cypher語句到一個文本中;
  3. 用一個Neo4j事務 (begin, commit)包裝剛纔的語句,以便他們能在一個事務中完成;數據量不大到無所謂,對於大數據集的處理尤爲重要;
  4. 如何打開自動索引功能的介紹,這是非常重要的,因爲你插入數據到數據庫中,他需要從配置中獲取需要生成的索引以便以後使用;
  5. 介紹讓你如何從文本文件中拷貝Cpyher語句到Neo4j Shell中執行的方法;
  6. 啓動Neo4j Server並在瀏覽器中打開 Web-UI 控制檯;

至此:數據集已經創建,而Neo4j已經準備好給我們使用了。我希望這個小小的範例能幫助你 – 對我來說他確實很有用。@[email protected]