数据库|Neo4j图库初识

2023-11-28 19:57:46 浏览数 (2)

简介

图数据库有Neo4j和OrientDB,本文入门Neo4j,当前使用版本社区版本(neo4j-community-4.1.1)。

Neo4j是一个高性能的,NoSQL图形数据库。它将结构化数据库存储在网络上。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎。Neo4j是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。

图数据库有哪些属性:

  • 节点(Node Labels)
  • 关系(RelationShip)
  • 属性(Property Type)
  • 路径(Path)
  • 遍历(Traversal)

可以使用Neo4j做哪些事情:

  • 可视化、
  • 社交推荐、商品推荐、社交关系
  • 金融行业反欺诈多维关联分析场景、反洗钱机构模拟
  • 企业工商信息,知识图谱

1 安装

本文采取社区版:neo4j-community-4.1.1,企业版暂时还未安装使用,如有需要,请联系官方。

1.1 获取并安装Neo4j

下载地址和说明文档

Neo4j官方地址:https://neo4j.com/

Neo4j中文非官方地址:http://neo4j.com.cn/

安装方式

1、按照官方说明文档,获取安装 neo4j 最简单的方法是从 Neo4j Desktop 安装。

下载链接地址:https://neo4j.com/download-center/#desktop

2、下载服务器端数据库

下载地址:https://neo4j.com/download-center/#community

当前我是下载MacOX版本,直接解压到磁盘某一个目录即可(为了方便,这里命名为Neo4j-home)

3、启动服务器服务

进入到目录下面 ../Neo4j-home/bin/ 执行下面命令来启动服务,看到下面执行命令后的日志信息,可以知道已经启动成功。

代码语言:javascript复制
./neo4j start

Directories in use:
  home:         /../Neo4j-home/neo4j-community-4.1.1
  config:       /../Neo4j-home/neo4j-community-4.1.1/conf
  logs:         /../Neo4j-home/neo4j-community-4.1.1/logs
  plugins:      /../Neo4j-home/neo4j-community-4.1.1/plugins
  import:       /../Neo4j-home/neo4j-community-4.1.1/import
  data:         /../Neo4j-home/neo4j-community-4.1.1/data
  certificates: /../Neo4j-home/neo4j-community-4.1.1/certificates
  run:          /../Neo4j-home/neo4j-community-4.1.1/run
Starting Neo4j.
Started neo4j (pid 18714). It is available at http://localhost:7474/
There may be a short delay until the server is ready.
See /../Neo4j-home/neo4j-community-4.1.1/logs/neo4j.log for current status.

注意⚠️:为了后面执行顺利,可以在启动前修改配置文件,配置文件目录 ../Neo4j-home/conf/neo4j.conf 其他部分根据需要开启、关闭或者修改(具体参考插件部分)

  • dbms.security.auth_enabled=false 连接数据库不需要密码
  • dbms.connectors.default_listen_address=0.0.0.0 可以远程通过ip访问neo4j数据库
  • dbms.security.allow_csv_import_from_file_urls=true 允许csv文件导入

4、测试安装情况

在浏览器中输入默认的neo4j地址即可

代码语言:javascript复制
http://localhost:7474/

输入账号信息

账号

密码

neo4j

xxxx

1.2 版本差异

  • v4.0.0 以上版本

DBMS

Version:

4.1.1

Edition:

Community

Name:

study

Databases:

:dbs

Information:

:sysinfo

Query List:

:queries

  • v4.0.0 以下版本DBMS

Connected as

Username:

neo4j

Roles:

admin

Admin:

:server user list

:server user add

Database

Version:

3.5.14

Edition:

Community

Name:

graph.db

Size:

3.28 MiB

Information:

:sysinfo

Query List:

:queries

2 安装插件

2.1 Neo4j 安装插件前修改配置

修改配置文件 ../install_home/conf/neo4j.conf

2.1.1 Neo4j configuration

基础信息配置

开启授权认证

代码语言:javascript复制
#dbms.security.auth_enabled=false
dbms.security.auth_enabled=true

内存初始化大小,最大内存

代码语言:javascript复制
#dbms.memory.heap.initial_size=512m
dbms.memory.heap.initial_size=1024m
#dbms.memory.heap.max_size=512m
dbms.memory.heap.max_size=1024m

缓存大小

代码语言:javascript复制
#dbms.memory.pagecache.size=10g
dbms.memory.pagecache.size=10g

2.1.2 Network connector configuration

网络连接配置

监听端口

代码语言:javascript复制
#dbms.connectors.default_listen_address=0.0.0.0
dbms.connectors.default_listen_address=0.0.0.0

bolt

代码语言:javascript复制
dbms.connector.bolt.enabled=true
#dbms.connector.bolt.tls_level=OPTIONAL
dbms.connector.bolt.tls_level=OPTIONAL
#dbms.connector.bolt.listen_address=:7687
dbms.connector.bolt.listen_address=0.0.0.0:7687

http

代码语言:javascript复制
dbms.connector.http.enabled=true
#dbms.connector.http.listen_address=:7474
dbms.connector.http.listen_address=0.0.0.0:7474

Https

代码语言:javascript复制
dbms.connector.https.enabled=true
#dbms.connector.https.listen_address=:7473
dbms.connector.https.listen_address=0.0.0.0:7473

三个端口记得映射到外网,否则外网连接不上。

2.1.3 Miscellaneous configuration

各种混杂配置

用户定义函数

代码语言:javascript复制
#dbms.security.procedures.unrestricted=my.extensions.example,my.procedures.*
dbms.security.procedures.unrestricted=apoc.*,xxx.*

2.1.4 Other Neo4j system properties

其他Neo4j配置

这些配置建议使用默认的配置。

2.1.5 用户自定义配置

代码语言:javascript复制
apoc.import.file.enabled=true

2.2 Neo4j插件:APOC插件

APOC提供的函数、存储过程, 也可以自行实现添加,它是一个函数库。

I. 下载相关插件,一定要对应版本,否则不能正常启动项目。

插件下载地址:https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases

II. 将下载的插件放到 ../install_home/plugins/下面

III. 重新启动,然后执行命令查看 RETURN apoc.version() ,如果安装成功,则返回如下信息;否则安装不成功,需要查看日志。

代码语言:javascript复制
╒════════════════╕
│"apoc.version()"│
╞════════════════╡
│"3.5.0.15"      │
└────────────────┘

2.3 Neo4j插件:graph-algorithms插件

graph-algorithms是图算法库。

I. 下载相关插件,一定要对应版本,否则不能正常启动项目。插件下载地址:

https://github.com/neo4j-contrib/neo4j-graph-algorithms/releases

II. 将下载的插件放到 ../install_home/plugins/下面。

III. 重新启动即可。

总结

Neo4j图数据库安装比较省时省事,但是有一点不好,那就是需要外网来加持,否则,也只是竹篮子打水一场空,望而却步只能选择其他的图数据。但是在中文网站获取的安装包和插件也可以使用,建议大家多动手实践。


我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

0 人点赞