上一篇已经讲解了如何下载、安装和配置,这一篇着重讲解下在配置完成后,如何启动、连接到web图形话洁面和停止。想要更好的实践来操作图数据库Neo4j,我们需要了解下图数据库neo4j的社区版本和企业版本呢的区别,避免踩坑太久。
社区版本(Community Editoion)和企业版本(Enterprise Edition)有很大的不同
社区版本(CE) | 企业版本(EE) | |
---|---|---|
查询数据库 | √ | √ |
创建数据库 | X | √ |
停止数据库 | X | √ |
启动数据库 | X | √ |
删除数据库 | X | √ |
当我们需要在CE中创建数据库时,我们可以按照下面的步骤来。
../neo4j_HOME/bin/neo4j stop
打开../neo4j_HOME/conf/neo4j.conf
配置文件,找到
#The name of the default database
#dbms.default_database=neo4j
v 4.1.1版本大约在Line 8,然后在下面新增一行代码
dbms.active_database=your_DB_name
或者打开默认数据库,修改 dbms.default_database=your_DB_name
再次启动Neo4j,登录即可查看到我们自己想要创建的数据库
备注 :如果想要多个数据库,重复上面的步骤,社区版本每次只能打开一个活动的数据库。
Cypher查询语言(简称:CQL),就像MySQL,Oracle的查询语言是SQL,Protege的查询语言是GQL,而Neo4j的查询语言则是CQL。
官方提供了很详细的操作文档,可以根据官方提供的文档来操作。
Neo4j官方地址说明文档:https://neo4j.com/docs/
Neo4j中文非官方地址中文文档:http://neo4j.com.cn/public/docs/index.html
为了方便使用file:///+文件名称,这一步也可以省略,但是你要在LOAD命令导入时指定绝对的路径地址
../Neo4j_HOME/import/xxx.csv
备注:如果使用的是Excel存储的数据,例如,MySQL数据库导出的数据,请提前转为.csv文件;如果Excel有多个Sheet,请转为多个.csv文件
:auto USING PERIODIC COMMIT 300 LOAD CSV WITH HEADERS FROM “file:///users.csv” AS line
MERGE (u:Users{USER_MD5:line.USER_MD5,USER_NICKNAME:line.USER_NICKNAME})
:auto 自动导入,在V4.1.0版本使用LOAD命令导入时,不增加这个命令会提示报错
USING PERIODIC COMMIT 300 …… AS line 每300行更新一次,并且按照行来导入,为了在 MERGE 自定义导入的列
LOAD CSV 导入文件类型
WITH HEADERS FROM 使用表头匹配来导入,从文件中读取第一行作为参数名,只有在使用了该参数后,才可以使用line.name这样的表示方式,否则需使用line[0]的表示方式
MERGE 执行merge操作,比create好一些,merge会覆盖更新相同数据,create只会增加。
在使用LOAD命令导入.csv文件时,需要注意以下几点:
如果需要其他诉求,可以参考官方说明书:
https://neo4j.com/docs/operations-manual/4.1/tools/import/
总结: 上面命令执行的具体的含义就是:从.csv文件每300行自动导入提交一个事务。
使用浏览器导入MySQL数据库数据
【步骤】
1、首先将目标数据库的驱动导入到插件,参考 安装插件
2、其次使用命令加载驱动 `` CALL apoc.load.driver('com.mysql.jdbc.Driver') ``
3、执行导入操作
【案例】
主机:SrcAccessHostList
CALL apoc.load.jdbc(
'jdbc:mysql://192.168.3.178:3308/db_learn?user=root&password=password&useUnicode=true&characterEncoding=utf8',
'select * from it_load_test'
) YIELD row
CREATE (n:SrcAccessHostList {id: row.id, host_ip: row.host_ip, host_name: row.host_name, host_type: row.host_type, remark: row.remark, cpu_total: row.cpu_total, memory_total: row.memory_total, storage_total: row.storage_total, machine_location: row.machine_location})
Added 447 labels, created 447 nodes, set 4023 properties, completed after 449 ms.
在导入大量数据时,需要注意数据的安全性,尽量避免使用不安全的网络连接,如明文传输密码等。同时需要保证数据的完整性。在导入之前,应该先备份原有的数据,以便在导入过程中发生错误时进行恢复。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。