大数据学习
bigdata learning
Toggle navigation
大数据学习
主页
openGauss数据库
Flume
MongoDB
Hadoop
数据库实验
Kafka
Zookeeper
Hbase
Manual
Spark
Neo4j
InfluxDB
RabbitMQ
Flink
About Me
归档
标签
01-Neo4j安装
无
2024-04-17 09:59:47
37
0
0
bigdata
[Neo4j](https://so.csdn.net/so/search?q=Neo4j&spm=1001.2101.3001.7020) 是基于 Java 的图形数据库,运行 Neo4j 需要启动 JVM 进程,因此必须安装 JAVA SE 的 JDK 可以从 Oracle 官方网站下载 [https://www.oracle.com/java/technologies/downloads/](https://www.oracle.com/java/technologies/downloads/) 注意一下 Neo4j 和 Java 版本的对应关系,如果服务器上已经有 JDK,通过`java -version`查看一下版本,如果是 1.8.xx 的版本,下载 Neo4j 3.xx 的版本。Neo4j 4.xx 的版本需要 jdk 的 version 是 11。 # 安装 ## 1、下载 community 版本,解压 [https://neo4j.com/download-center/#community](https://neo4j.com/download-center/#community) [百度网盘](https://pan.baidu.com/s/1I50_u7GOj3OjqwneNqYqUg) 提取码:4ydl ## 2、修改 neo4j.conf 下的配置文件 Neo4j 支持三种网络协议(Protocol),分别是 Bolt,HTTP 和 HTTPS,默认的连接器配置有三种,为了使用这三个端口,需要在 Windows 防火墙中创建 Inbound Rules,允许通过端口 7687,7474 和 7473 访问本机。 ```bash dbms.directories.import=import 可从任意路径读取文件 dbms.default_listen_address=0.0.0.0 可以远程通过ip访问neo4j数据库 dbms.connector.bolt.listen_address=:7687 开启bolt服务 dbms.connector.http.listen_address=:7474 开启http服务 dbms.connector.https.listen_address=:7473 开启https服务 dbms.security.allow_csv_import_from_file_urls=true 允许从远程url来load csv ``` 设置默认的网络监听的 IP 地址,该默认地址用于设置三个网络协议(Bolt,HTTP 和 HTTPs)的监听地址,即设置网络协议的属性:listen_address 地址。在默认情况下,Neo4j 只允许本地主机(localhost)访问,要想通过网络远程访问 Neo4j 数据库,需要修改监听地址为 0.0.0.0,这样设置之后,就能允许远程主机的访问。 ```bash # With default configuration Neo4j only accepts local connections. # To accept non-local connections, uncomment this line: dbms.connectors.default_listen_address=0.0.0.0 ``` ## 3、启动 Neo4j neo4j-community 的 bin 目录下进入终端输入: ```bash nbu@ecs:/usr/local/neo4j/bin$ ./neo4j console ``` ## 4、web 端进入 `http://127.0.0.1:7474/`  默认用户名 “neo4j” 和密码“neo4j” ,需要修改密码 bin 目录:用于存储 Neo4j 的可执行程序 conf 目录:用于控制 Neo4j 启动的配置文件 data 目录:用于存储核心数据库文件 plugins 目录:用于存储 Neo4j 的插件 核心数据文件存储的位置,默认是在 data/graph.db 目录中,要改变默认的存储目录,可以更新 conf 中 neo4j.conf 文件的配置选项: ```bash # The name of the database to mount #dbms.active_database=graph.db ``` 补充一些命令: 启动服务,停止服务,重启服务和查询服务的状态: ```bash nbu@ecs:/usr/local/neo4j$ bin/neo4j start nbu@ecs:/usr/local/neo4j$ bin/neo4j stop nbu@ecs:/usr/local/neo4j$ bin/neo4j restart nbu@ecs:/usr/local/neo4j$ bin/neo4j status ``` # 数据导入 neo4j-admin import 导入批量数据 1、neo4j 中的数据主要分为节点数据和关系数据,csv 文件也分为节点文件和关系文件。 当系统要导入 csv 文件的时候,读取文件的第一行必需是数据域信息,用来表示该文件中各列的具体意思 (1)csv 节点文件:必须要包含的是 ID 域(:ID),用来表示节点的 id 信息,ID 域中的信息必需是全局唯一的,:LABEL 是可选项,用来对节点来进行标记,当一个节点有多个标签的时候 ``` id:ID name :LABEL 0 1 <美国奥可斯(香港)国际控股集团> Entity 1 2 <文学作品> Entity 2 3 <文化> Entity 3 4 <寻美中国> Entity 4 5 <品牌> Entity 5 6 <青春是我和你一杯酒的深> Entity 6 7 <网络小说> Entity 7 8 <小说作品> Entity 8 9 <小说> Entity 9 10 <娱乐作品> Entity ``` (2)csv 关系文件:必须要包含的是 (:START_ID),(:END_ID),(:TYPE) 分别用来表示关系的 开始节点 id, 结束节点 id, 关系类型。 ``` :START_ID :END_ID :TYPE name 0 1 2 Relation <类型> 1 1 3 Relation <类型> 2 4 5 Relation <类型> 3 6 2 Relation <类型> 4 6 7 Relation <类型> 5 6 8 Relation <类型> 6 6 9 Relation <类型> 7 6 10 Relation <类型> 8 6 11 Relation <类型> 9 6 12 Relation <类型> ``` csv 文件推荐是 utf-8 编码,否则会造成中文乱码 csv 文件默认需要放在 import 目录下,如需从远程或者其他本地目录导入,则需要修改 conf/neo4j.conf 配置文件 ``` # load csv时文件路径。默认需要放在${NEO4J_HOME}/import目录下 # 注释后可从任意路径读取文件,也可以指定其他路径。 dbms.directories.import=import # 是否允许从远程url来load csv。默认不可以 #dbms.security.allow_csv_import_from_file_urls=true ``` 2、将数据导入到数据库中 导入数据的具体命令如下: ```bash neo4j-admin import [--mode=csv] [--database=<name>] [--additional-config=<config-file-path>] [--report-file=<filename>] [--nodes[:Label1:Label2]=<"file1,file2,...">] [--relationships[:RELATIONSHIP_TYPE]=<"file1,file2,...">] [--id-type=<STRING|INTEGER|ACTUAL>] [--input-encoding=<character-set>] [--ignore-extra-columns[=<true|false>]] [--ignore-duplicate-nodes[=<true|false>]] [--ignore-missing-nodes[=<true|false>]] [--multiline-fields[=<true|false>]] [--delimiter=<delimiter-character>] [--array-delimiter=<array-delimiter-character>] [--quote=<quotation-character>] [--max-memory=<max-memory-that-importer-can-use>] [--f=<File containing all arguments to this import>] [--high-io=<true/false>] ``` `--database=graph.db`表示建立的数据库的名字为 graph.db,这里需要注意,graph.db 必需为全新的,如果该库已经存在的情况下,会无法导入。 `--nodes`表示导入的节点文件,当有多个导入文件的时候,使用, 来进行隔开,当如果头文件是单独文件的时候,必需将其放在内容文件的前面,否则会无法导入。 `---relationships`表示导入的关系文件,当有多个关系文件导入的时候,使用, 来进行隔开,当如果头文件是单独文件的时候,必需将其放在内容文件的前面,否则会无法导入。 `--multiline-fields=true`表示如果某属性中的数据内容有多行时,可以成功导入。 在 neo4j 的文件夹下~/neo4j-community-4.4.10$ 进入终端输入 ```bash ./bin/neo4j-admin import --database=graph01.db --nodes=import/node.csv --relationships=import/relation.csv --multiline-fields=true ```
上一篇:
01-Neo4j-Java操作实例
下一篇:
01-Spark安装
文档导航