前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >图解图库Neo4j系列-Neo4j图数据库的本地源码编译教程(neo4j source code compile)

图解图库Neo4j系列-Neo4j图数据库的本地源码编译教程(neo4j source code compile)

作者头像
洋仔聊编程
发布2022-09-07 14:58:00
1.2K0
发布2022-09-07 14:58:00
举报

本文主要记录如何对neo4j源码编译并启动图库服务;将官方图数据导入,对导入的数据进行可视化数据处理;

图数据库文章总目录:

源码分析相关可查看githubhttps://github.com/YYDreamer/janusgraph

转载文章请保留以下声明: 原文地址:https://liyangyang.blog.csdn.net/ 公众号:“图数据库” or “Geek Tech”

下载源码

官方仓库地址:

  1. https://github.com/neo4j/neo4j.git
  2. git@github.com:neo4j/neo4j.git

通过idea等工具将源码下载下来,并等待下载依赖和index完成,时间会比较长,耐心等待

编译源码并测试

下载完成后,我们就可以进行编辑并启动服务了 下述会将我个人编译过程遇到的问题也体现出来

执行编译:

代码语言:javascript
复制
1、mvn clean install -DskipTests
在这里插入图片描述
在这里插入图片描述

出现了报错Specify -Doverwrite to maven to replace it, 依据提示添加参数-Doverwrite , 再次编译

代码语言:javascript
复制
2、mvn clean install -DskipTests -Doverwrite
在这里插入图片描述
在这里插入图片描述

再次出现了报错,点击去,修改对应的语句; 直接传一个空字符串,毕竟我们要先把项目编辑成功再说

在这里插入图片描述
在这里插入图片描述

再次使用上面的语句编译;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vXHX9u5W-1657250445019)(evernotecid://4287A0FE-952A-4E77-A196-CE39A735DA00/appyinxiangcom/20333010/ENResource/p4137)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vXHX9u5W-1657250445019)(evernotecid://4287A0FE-952A-4E77-A196-CE39A735DA00/appyinxiangcom/20333010/ENResource/p4137)]

错误提示: java.nio.file.FileSystems.newFileSystem方法使用不明确;debug进入“FileSystems”源码并没有发现提示的 newFileSystem(java.nio.file.Path,java.util.Map<java.lang.String,?>)这个方法;猜测可能是存在多个版本的包,历史版本的包存在这个方法; 因为也是单测方法,先将其注释掉:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vNoU2pnD-1657250445020)(evernotecid://4287A0FE-952A-4E77-A196-CE39A735DA00/appyinxiangcom/20333010/ENResource/p4138)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vNoU2pnD-1657250445020)(evernotecid://4287A0FE-952A-4E77-A196-CE39A735DA00/appyinxiangcom/20333010/ENResource/p4138)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DNjo5QBs-1657250445020)(evernotecid://4287A0FE-952A-4E77-A196-CE39A735DA00/appyinxiangcom/20333010/ENResource/p4139)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DNjo5QBs-1657250445020)(evernotecid://4287A0FE-952A-4E77-A196-CE39A735DA00/appyinxiangcom/20333010/ENResource/p4139)]

再次执行编译: 3、mvn clean install -DskipTests

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UMkrApJO-1657250445021)(evernotecid://4287A0FE-952A-4E77-A196-CE39A735DA00/appyinxiangcom/20333010/ENResource/p4140)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UMkrApJO-1657250445021)(evernotecid://4287A0FE-952A-4E77-A196-CE39A735DA00/appyinxiangcom/20333010/ENResource/p4140)]

编译成功!

启动数据库

本部分解压编辑好的项目包,并将neo4j数据库启动

启动服务

上述编辑完成后,在packaging/standalone/target目录下有编译好的项目压缩包;

  • tar的是面向unix系统
  • zip的是面向windows系统

下面解压执行:

代码语言:javascript
复制
 -- 进入目录
 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` 这样日志就会直接打印出来,调试的时候也方便)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lzTmUjJo-1657250445021)(evernotecid://4287A0FE-952A-4E77-A196-CE39A735DA00/appyinxiangcom/20333010/ENResource/p4141)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lzTmUjJo-1657250445021)(evernotecid://4287A0FE-952A-4E77-A196-CE39A735DA00/appyinxiangcom/20333010/ENResource/p4141)]

启动成功!

其中bin/neo4jstart是后台启动,日志在目录下的logs中,如果为了便于查看日志也可以用bin/neo4j console 这样日志就会直接打印出来,调试的时候也方便

查看链接到图库的进程信息:

代码语言:javascript
复制
sudo lsof -i:7474     -- 此处的7474是我们上述启动图库服务的进程ID

可以看到我们启动的neo4j图服务进程:

Neo4j Desktop尝试连接

账号密码初始都是:neo4j

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

再次查看链接到图库的进程信息,可以看到一些我们链接的进程,其中就包含Desktop的进程信息:

代码语言:javascript
复制
sudo lsof -i:7474     -- 此处的7474是我们上述启动图库服务的进程ID
在这里插入图片描述
在这里插入图片描述

Browser测试创建节点

1、打开并连接Browser

2、Cypher语句创建张三节点:

代码语言:javascript
复制
CREATE (n:Person{name:'张三',works:'',gender:'男',birth_dead_day:'1377年12月5'}) RETURN n;
在这里插入图片描述
在这里插入图片描述

3、查看Person所有节点,可以发现是存在张三节点的

代码语言:javascript
复制
MATCH (n:Person) RETURN n
在这里插入图片描述
在这里插入图片描述

说明服务启动成功,并可以正常提供neo4j图数据库服务!

导入官方Movies图

接近500行的cypher语句,不直接贴这了,找不到的可以vx搜索关注"Geek Tech"公众号,发送“neo4j”即可获取

导入后的效果图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qMKuDyLv-1657250445024)(evernotecid://4287A0FE-952A-4E77-A196-CE39A735DA00/appyinxiangcom/20333010/ENResource/p4149)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qMKuDyLv-1657250445024)(evernotecid://4287A0FE-952A-4E77-A196-CE39A735DA00/appyinxiangcom/20333010/ENResource/p4149)]

可以看到有2种节点和6种边关系,接下来的系列博文会基于这个官方图进行分析和处理;

结束语

neo4j作为妥妥的图数据库市场占有量老大,其必然包含优秀的架构设计等着我们去探索,源码才是最好的老师,吾将上下而求索;

编译通过的源码位置,后续源码分析也会push到该仓库:https://github.com/yoylee/neo4j

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下载源码
  • 编译源码并测试
  • 启动数据库
    • 启动服务
      • Neo4j Desktop尝试连接
        • Browser测试创建节点
        • 导入官方Movies图
        • 结束语
        相关产品与服务
        数据库
        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档