首页 > 数据库 > > neo4j 笔记(安装及基本操作)
我首先尝试了直接装 jdk13,也按要求修改了环境变量,但 java -verison 显示我的版本还是jdk8。所以我把java全部卸载了,没有保留其他版本的java,再重新装,就ok了。
2. 配置neo4j
很简单,从官网下载需要的版本:https://neo4j.com/download/
我下载的是4.0.0 community版本。
出现下面的提示就连接上neo4j服务器了:

Neo4j服务器具有一个集成的浏览器,在启动neo4j服务之后,可以使用neo4j集成的浏览器管理图数据库[1]。

默认的用户是neo4j,默认的密码是:neo4j,第一次成功connect到Neo4j服务器之后,需要重置密码。


2. 写代码
在这个输入框里写即可,注意一次只能写一个查询

使用[1]中的例子:
CREATE (n:Person { name: 'Andres', title: 'Developer' }) return n;

在节点创建之后,在Graph模式下,能够看到创建的图形,依次继续执行Cypher脚本,依次创建其他节点及关系
CREATE (n:Person { name: 'Vic', title: 'Developer' }) return n;
match(n:Person{name:"Vic"}),(m:Person{name:"Andres"}) create (n)-[r:Friend]->(m) return r;
match(n:Person{name:"Vic"}),(m:Person{name:"Andres"}) create (n)<-[r:Friend]-(m) return r;

显然这里有一个问题,出现了两个 vic 实体。这是为啥呢?因为我把CREATE (n:Person { name: 'Vic', title: 'Developer' }) return n; 执行了两遍,故需要删除一个vic
3. 删除节点[2]:
【1】先删关系,再删节点
【2】当记不得关系名时,type(r)可以查到关系名
【3】彻底删除节点标签名,需要删除前期对该标签名建立的索引
直接删节点会报错:

通过语句:MATCH(n:Person)-[r]-() return n,r 查询所有节点和关系

通过语句:MATCH(n:Person)-[r]-() DELETE n,r 删除所有节点和关系

经过一系列操作,最终得到了我想要的效果:

他们保存在neo4j - default database里
4. 断开连接:
只需在cmd里输入: Ctrl-C

5. 再次登录
依然是cmd在数据库路径下运行bin\neo4j console

然后浏览器输入:http://localhost:7474/,就可以看到原来保存的数据了。
前面学习的是单个创建节点,不适合大批量导入。

2. cmd到bin文件的目录下,因为到用到的命令 neo4j-admin 在bin文件中,注意,导入的时候需要把neo4j停掉。而且删掉原来的数据库。
通过neo4j-admin import命令只可以将数据从 CSV 文件批量导入到未使用的数据库。(load data into a previously unused database).
输入命令:
neo4j-admin import --database=graph.db --ignore-extra-columns --ignore-empty-strings --id-type=STRING --skip-duplicate-nodes --bad-tolerance=10000 --nodes=E:\neo4j\import\xxx.csv --relationships=E:\neo4j\import\xxx.csv
虽然成功导入了,但全局id有许多报错,类似如下:

Duplicate input ids that would otherwise clash can be put into separate id space. Caused by:Id '3c2906a0a55a491a1dea2c1e4a28e701' is defined more than once in group 'global id space'
经过检查,发现原因在于:hash不是唯一映射[3]。 自增长ID可以解决唯一性问题,但也有其他解决全局id的办法,下面说。
前面提到了这个问题,全局id冲突。因为默认情况下,import 假定节点标识符在全局节点文件中是唯一的。但在许多情况下,ID在只是在每个实体文件中是唯一的。为了处理这种情况,需要定义了 ID space :ID(<ID space identifier>).
在 relation.csv 中,使用:START_ID(<ID space identifier>) ; END_ID(<ID space identifier>) 写在header上
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69918097/viewspace-3127474/ ,如需转载,请注明出处,否则将追究法律责任。