一、知识图谱和图数据库简介
- 知识图谱
一种基于图的数据结构,由节点(Point)和边(Edge)组成。其中节点即实体,由一个全局唯一的ID标示,关系(也称属性))用于连接两个节点。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。
- neo4j
neo4j 是目前比较主流的图数据库,存储,查询图谱数据非常高效,由顶点-边组成,常用于微博好友关系分析、城市规划、社交、推荐等应用。具体的应用场景介绍,推荐:通过图数据库,查询某节点的消费情况、好友信息可为其推荐关联度高的好友或可能消费的商品。
因为neo4j的存储原理使得它的查询速度是在O(l)级别的复杂度,查询高效。
二、linux下社区版安装与配置
2.1 安装neo4j 社区版本
Neo4j的安装对硬件、系统都有一些要求的。关于Memory,最低要求是2GB。其中java版本必须是8以上。一般服务器上都满足硬件和内存的要求,可以稍微检查一下是否安装JDK及其版本,1.8及其以上都行。
(base) [root@i-gjt0cuup ~]# java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
如果java版本不满足要求,需要重新安装1.8以上java jdk,具体操作参见以下博客内容
- linux下更新java版本
- neo4j官方网站
在上述网站上下载对应版本的neo4j社区版,然后利用ftp工具上传到服务器对应的安装目录下,对于外部安装软件,建议安装在/opt 目录下。
如果服务器可以连接外部网络可以直接利用以下linux名论来获取对应版本的neo4j社区版。
curl -O http://dist.neo4j.org/neo4j-community-3.4.5-unix.tar.gz
- 解压安装
linux环境下安装十分简单,只需要对压缩包解压安装,然后修改配置文件就可以了;
tar -axvf neo4j-community-3.4.5-unix.tar.gz
- 修改配置文件
#*****************************************************************
2 # Neo4j configuration
3 #
4 # For more details and a complete list of settings, please see
5 # https://neo4j.com/docs/operations-manual/current/reference/configuration-settings/
6 #*****************************************************************
7
8 # The name of the database to mount
9 dbms.active_database=test.db
10
11 # Paths of directories in the installation.
12 #dbms.directories.data=data
13 #dbms.directories.plugins=plugins
14 #dbms.directories.certificates=certificates
15 #dbms.directories.logs=logs
16 #dbms.directories.lib=lib
17 #dbms.directories.run=run
18
19 # This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or comment it out to
20 # allow files to be loaded from anywhere in the filesystem; this introduces possible security problems. See the
21 # `LOAD CSV` section of the manual for details.
22 dbms.directories.import=import
23
24 # Whether requests to Neo4j are authenticated.
25 # To disable authentication, uncomment this line
26 #dbms.security.auth_enabled=false
27
28 # Enable this to be able to upgrade a store from an older version.
。。。
上面只是配置文件的部分内容。具体需要修改的配置内容包括以下几条:
# 修改第9行需要挂载的数据库名称,加#默认挂载graph.db
dbms.active_database=test.db
# 修改第22行load csv时l路径,在前面加个#,可从任意路径读取文件
dbms.directories.import=import
# 修改35行和36行,设置JVM初始堆内存和JVM最大堆内存,生产环境给的JVM最大堆内存越大越好,但是要小于机器的物理内存
dbms.memory.heap.initial_size=1g
dbms.memory.heap.max_size=20g
# 修改46行,可以认为这个是缓存内存,如果机器配置高,这个越大越好
dbms.memory.pagecache.size=10g
# 修改61行,去掉改行的#,可以远程通过ip访问neo4j数据库
dbms.connectors.default_listen_address=0.0.0.0
# 默认 bolt端口是7687,http端口是7474,https关口是7473,不修改下面3项也可以
# 修改71行,去掉#,设置http端口为7687,端口可以自定义,只要不和其他端口冲突就行
#dbms.connector.bolt.listen_address=:7687
# 修改82行,去掉#,设置http端口为7474,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.http.listen_address=:747
# 修改86行,去掉#,设置http端口为7473,端口可以自定义,只要不和其他端口冲突就行
dbms.connector.https.listen_address=:7473
# 修改234行,去掉#,允许从远程url来load csv
dbms.security.allow_csv_import_from_file_urls=true
# Retention policy for transaction logs needed to perform recovery and backups.
250 dbms.tx_log.rotation.retention_policy=1 days
# 修改253行,允许使用neo4j-shell,类似于mysql 命令行之类的
dbms.shell.enabled=true
254 # The network interface IP the shell will listen on (use 0.0.0.0 for all interfaces).
255 dbms.shell.host=127.0.0.1
256 # The port the shell will listen on, default is 1337.
257 dbms.shell.port=1337
## 261行设置neo4j可读可写
261 dbms.read_only=false
- 启动neo4j(进入bin目录执行./neo4j start)
(base) [root@i-gjt0cuup bin]# ./neo4j start
Active database: test.db
Directories in use:
home: /opt/neo4j-community-3.4.5
config: /opt/neo4j-community-3.4.5/conf
logs: /opt/neo4j-community-3.4.5/logs
plugins: /opt/neo4j-community-3.4.5/plugins
import: /opt/neo4j-community-3.4.5/import
data: /opt/neo4j-community-3.4.5/data
certificates: /opt/neo4j-community-3.4.5/certificates
run: /opt/neo4j-community-3.4.5/run
Neo4j is already running (pid 13808).
启动之后可以利用以下网址登陆neo4j客户端界面
http://ip:7474/browser/文章来源:https://www.toymoban.com/news/detail-725432.html
在浏览器访问图数据库所在的机器上的7474端口(第一次访问账号neo4j,密码neo4j,会提示修改初始密码)文章来源地址https://www.toymoban.com/news/detail-725432.html
- 停止neo4j(进入bin目录执行./neo4j stop)
- 查看neo4j的状态(进入bin目录执行./neo4j status)
三.参考博客与资料
- linux环境下的Neo4j安装
- 在Linux系统中更新java版本
到了这里,关于图数据库neo4j入门:linux下社区版安装与配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!