从Excel中导入数据到Neo4j
我相信你们都是非常精通技术的,对Java或其他语言都特别了解,而我不是。我喜欢技术,但我没有受过良好的教育,所以我不是。但我仍然想导入数据到Neo4j,我该怎么做呢?
有需要技术教程教我们如何做(比如 batch-import , batch importer part , import ),但我需要一些简单的方法,所以我的朋友和同事 Michael Hunger 前来帮助我,提供了一些方法用于创建一个Excel将数据导入Neo4j.
你可以从 这里 找到一个演示用的Excel表格文件,你会发现他包括两个部分:
- 一个介绍Sheet.我以后介绍他.
- 一个数据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语句,下一步呢?
介绍页
在这个页面,你将找到一些介绍,基本上,你需要跟随下面的步骤操作:
- 下载并解压Neo4j Server;
- 拷贝/粘贴刚才的cypher语句到一个文本中;
- 用一个Neo4j事务 (begin, commit)包装刚才的语句,以便他们能在一个事务中完成;数据量不大到无所谓,对于大数据集的处理尤为重要;
- 如何打开自动索引功能的介绍,这是非常重要的,因为你插入数据到数据库中,他需要从配置中获取需要生成的索引以便以后使用;
- 介绍让你如何从文本文件中拷贝Cpyher语句到Neo4j Shell中执行的方法;
- 启动Neo4j Server并在浏览器中打开 Web-UI 控制台;
至此:数据集已经创建,而Neo4j已经准备好给我们使用了。我希望这个小小的范例能帮助你 – 对我来说他确实很有用。@_@