本文主要记录如何对neo4j源码编译并启动图库服务;将官方图数据导入,对导入的数据进行可视化数据处理;
源码分析相关可查看github: https://github.com/YYDreamer/janusgraph
转载文章请保留以下声明: 原文地址:https://liyangyang.blog.csdn.net/ 公众号:“图数据库” or “Geek Tech”
官方仓库地址:
通过idea等工具将源码下载下来,并等待下载依赖和index完成,时间会比较长,耐心等待
下载完成后,我们就可以进行编辑并启动服务了 下述会将我个人编译过程遇到的问题也体现出来
执行编译:
1、mvn clean install -DskipTests
出现了报错Specify -Doverwrite to maven to replace it
, 依据提示添加参数-Doverwrite
, 再次编译
2、mvn clean install -DskipTests -Doverwrite
再次出现了报错,点击去,修改对应的语句; 直接传一个空字符串,毕竟我们要先把项目编辑成功再说
再次使用上面的语句编译;
错误提示: java.nio.file.FileSystems.newFileSystem方法使用不明确;debug进入“FileSystems”源码并没有发现提示的 newFileSystem(java.nio.file.Path,java.util.Map<java.lang.String,?>)
这个方法;猜测可能是存在多个版本的包,历史版本的包存在这个方法;
因为也是单测方法,先将其注释掉:
再次执行编译:
3、mvn clean install -DskipTests
编译成功!
本部分解压编辑好的项目包,并将neo4j数据库启动
上述编辑完成后,在packaging/standalone/target
目录下有编译好的项目压缩包;
下面解压执行:
-- 进入目录
cd packaging/standalone/target
-- 解压文件
tar -zxvf neo4j-community-4.4.8-SNAPSHOT-unix.tar.gz
-- 进入目录
cd neo4j-community-4.4.8-SNAPSHOT
-- 执行
bin/neo4j start (start是也可以用`bin/neo4j console` 这样日志就会直接打印出来,调试的时候也方便)
启动成功!
其中
bin/neo4jstart
是后台启动,日志在目录下的logs
中,如果为了便于查看日志也可以用bin/neo4j console
这样日志就会直接打印出来,调试的时候也方便
查看链接到图库的进程信息:
sudo lsof -i:7474 -- 此处的7474是我们上述启动图库服务的进程ID
可以看到我们启动的neo4j图服务进程:
账号密码初始都是:neo4j
再次查看链接到图库的进程信息,可以看到一些我们链接的进程,其中就包含Desktop的进程信息:
sudo lsof -i:7474 -- 此处的7474是我们上述启动图库服务的进程ID
1、打开并连接Browser
2、Cypher语句创建张三
节点:
CREATE (n:Person{name:'张三',works:'',gender:'男',birth_dead_day:'1377年12月5'}) RETURN n;
3、查看Person
所有节点,可以发现是存在张三
节点的
MATCH (n:Person) RETURN n
说明服务启动成功,并可以正常提供neo4j图数据库服务!
接近500行的cypher语句,不直接贴这了,找不到的可以vx搜索关注"Geek Tech"公众号,发送“neo4j”即可获取
导入后的效果图:
可以看到有2种节点和6种边关系,接下来的系列博文会基于这个官方图进行分析和处理;
neo4j作为妥妥的图数据库市场占有量老大,其必然包含优秀的架构设计等着我们去探索,源码才是最好的老师,吾将上下而求索
;
编译通过的源码位置,后续源码分析也会push到该仓库:https://github.com/yoylee/neo4j