相比起titan那少的可怜的资料,neo4j是做知识图谱的一个更好的选择。它(neo4j)是一个NoSQL的图形数据库(Graph Database)。
它使用图(graph)相关的概念来描述数据模型,把数据保存为图中的节点以及节点之间的关系。
Neo4j的Graph平台是围绕Neo4j原生图形数据库构建的:
很多应用中数据之间的关系,可以很直接地使用图中节点和关系的概念来建模。对于这样的应用,使用 Neo4j 来存储数据会非常的自然,要优于使用关系数据库。
Neo4j分社区版(Community Edition)和企业版(Enterprise Edition),社区版本为免费版本。目前的最新版本为Neo4j 3.4。官方网址为https://neo4j.com/
下载地址:Liunx版
https://neo4j.com/artifact.php?name=neo4j-community-3.3.4-unix.tar.gz
Neo4j的安装对硬件、系统等有一些要求,例如CPU、Memory、Disk、Filesystem、Software等
CPU
关于CPU,最低要求是Itel Core i3 推荐使用Intel Core i7 或 IBM POWER 8
Memory
关于Memory,最低要求是2GB, 推荐是16-32GB 或更多。 越大的内存允许处理越大的图,但必须正确配置,以免破垃圾收集坏性操作。
Disk
除了Disk的容量,Disk的性能对Neoj4的影响非常大,Neo4j的工作负载倾向于随机读。选择平均寻址时间低的存储,例如SSD
最低要求 10GB SATA
推荐配置 SSD w/SATA
FileSystem
最低要求 ext4(或类似的)
推荐配置 ext4、ZFS
Software
Java
必须安装OpenJDK 8 或 Oracle Java 8
Operation Sytem
Linux(Ubuntu, Debian)
我的测试环境为Linux Centos 7
Architectures
X86 或 OpenPower(POWER8)
Neo4j安装:1.安装jdk_8
[root@i-oh1bazu0 data]# tar -zxvf jdk-8u51-linux-x64.tar.gz
修改/etcprofile 在最后一行添加信息
[root@i-oh1bazu0 data]# vi /etc/profileexport
JAVA_HOME=/data/jdk1.8.0_51
export CLASSPATH=/data/jdk1.8.0_51/lib
export PATH=$JAVA_HOME/bin:$PATH:
source /etc/profile命令使之生效
2.解压neo4j的tar包
[root@i-oh1bazu0 data]# tar -zxvf neo4j-community-3.3.4-unix.tar.gz
1.)配置/etc/profile文件,并使之生效
export NEO_HOME=/data/neo4j-community-3.3.4/
export PATH=$JAVA_HOME/bin:$PATH:$NEO_HOME/bin:
2.)修改配置文件/etc/security/limits.conf 在最后添加
设置服务的healthy值,默认为1024,因为当服务器安装的连接过多或使用了过多的索引这些情况的时候,
1024通常是不够的,所以这里将值修改为40000
neo4j soft nofile 40000
neo4j hard nofile 40000
3.)修改neo4j配置文件 vi $NEO_HOME/conf/neo4j.conf 注:$NEO_HOME是我自己配置的neo4j的路径
解放约束条件,修改为
neo4j默认只能通过本地访问7474端口,来对neo4j的web控制台进行操作
修改目的是为了能通过外部网关来访问neo4j的web控制台
4.)Linux防火墙配置,开放7474端口
a.关闭防火墙,并将开机自启动关闭(不推荐)
systemctl stop firewalld.service # 停止firewall
systemctl disable firewalld.service # 禁止firewall开机启动
查看防火墙规则命令: iptables -L -n
b.添加端口(方法一)
编辑iptables文件
vi /etc/sysconfig/iptables
在上面打开的文件里面加入一下语句:-A INPUT -m state –state NEW -m tcp -p tcp –dport 7474 -j ACCEPT(允许7474端口通过防火墙)。
查看防火墙规则命令: iptables -L -n
添加好之后防火墙规则如下所示:
###########################################################################
重启防火墙使配置生效
/etc/init.d/iptables restart
b.添加端口(方法二)
iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 7474 -j ACCEPT
查看防火墙规则 iptables -L -n
[root@i-oh1bazu0 ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:7474
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
启动: neo4j start
[root@i-oh1bazu0 ~]# neo4j start
Active database: graph.db
Directories in use:
home: /data/neo4j-community-3.3.4
config: /data/neo4j-community-3.3.4/conf
logs: /data/neo4j-community-3.3.4/logs
plugins: /data/neo4j-community-3.3.4/plugins
import: /data/neo4j-community-3.3.4/import
data: /data/neo4j-community-3.3.4/data
certificates: /data/neo4j-community-3.3.4/certificates
run: /data/neo4j-community-3.3.4/run
Starting Neo4j.
WARNING: Max 1024 open files allowed, minimum of 40000 recommended. See the Neo4j manual.
Started neo4j (pid 21324). It is available at http://localhost:7474/
There may be a short delay until the server is ready.
See /data/neo4j-community-3.3.4/logs/neo4j.log for current status.
关闭: neo4j stop
[root@i-oh1bazu0 ~]# neo4j stop
Stopping Neo4j.. stopped
查看neo4j的运行状况: neo4j status
[root@i-oh1bazu0 ~]# neo4j status
Neo4j is not running
远程访问Neo4j的web控制台
打开网页输入网址:http://xxx.xxx.xxx.xxx:7474
第一次登陆会提示你输入初始化密码并提醒你修改密码。默认的密码为neo4j
修改密码后登陆成功