kgbuilder 开发文档
项目简介
这是一个知识图谱构建工具,协助数据分析人员快速构建知识图谱并实现可视化
技术选型
1、系统环境
- Java EE 8
- Servlet 3.0
- Apache Maven 3
2、主框架
- Spring Boot 2.7.x
- Spring Framework 5.2.x
3、持久层
- Apache MyBatis 3.5.x
- HikariDataSource
- mysql8.x
- neo4j4.x
4、视图层
- element-ui
- vue2.x
- d3.js
内置功能
-
新增节点,添加连线,快速添加节点和关系
-
节点的颜色和大小可修改
-
节点和关系的编辑,删除
-
导出成图片
-
csv三元组导入
-
导出csv
-
添加图片和富文本
-
节点之间多个关系
项目结构
com.warmer
├── base // 工具类
│ └── common // 基类
│ └── enums // 通用枚举
│ └── utils // 通用类处理
├── meta // 数据持久化服务
│ └── dao // 数据持久层
│ └── dto // 数据传输对象
│ └── entity // 实体
│ └── query // 查询对象
│ └── service // 业务逻辑处理
│ └── vo // 视图对象
├── pro // 视图层
│ └── web // 前端控制
└── config //配置类
└── controller //前端控制器
└── domain //领域对象
└── entity //实体对象
└── job //定时任务
└── service //前端业务处理
└── Application //启动类
├── ui // 视图层
└── public //公共静态资源
└── src //页面
└── api //前端接口定义
└── assets //静态资源
└── components //vue组件
└── config //前端控制类
└── router //前端路由管理
└── store //前端仓储类
└── utils //前端工具类
└── views //视图页
└── App.vue //视图模板
配置文件
server:
port: 8080 #端口
spring:
servlet:
multipart:
max-file-size: 100000000 #上传文件大小
maxRequestSize: 200000000 #最大上传
neo4j:
#url: bolt://192.168.20.153:7687 #3.x
url: neo4j://152.136.34.83:7687 #4.x
username: neo4j
password: c!0+O5is
datasource:
url: jdbc:mysql://152.136.34.83:3306/kg?useSSL=false&serverTimezone=UTC
driverClassName: com.mysql.cj.jdbc.Driver
username: root
password: c!0+O5is
type: com.zaxxer.hikari.HikariDataSource
mybatis:
typeAliasesPackage: com.warmer.kgmaker.entity
mapperLocations: classpath*:/mapping/*.xml
file:
serverurl: http://localhost:8091
#如果是Windows情况下,格式是 D:\\kgmanager\\csv\\ linx 格式"/home/kgmanager/csv/";
location : D:\\kgmanager\\csv\\
环境部署
准备工作
JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Maven >= 3.0
安装jdk
可参考:https://blog.csdn.net/qq_42003566/article/details/82629570
安装Neo4j
安装路径/home/ubuntu/neo4j/
./conf/neo4j.conf
可参考:https://www.cnblogs.com/ljhdo/p/5521577.html,注意开放外网访问 0.0.0.0
dbms.default_listen_address=0.0.0.0
导入csv,允许导入外部文件url
dbms.directories.import=import
dbms.security.allow_csv_import_from_file_urls=true
安装apoc,下载对应版本包放入plugin下,修改配置
dbms.security.procedures.unrestricted=apoc.*,gds.*
根据服务器性能(内存)自定义初始化大小
dbms.memory.heap.initial_size=128m
dbms.memory.heap.max_size=128m
默认数据库
dbms.default_database=neo4j
IDEA 导入项目
导入成功后对着项目根目录,右键->maven->reimport,等待其执行完成,倘若下载jar包太慢,自己配置外部maven仓库https://blog.csdn.net/liu_shi_jun/article/details/78733633 以上配置在linux下配置自行百度
找到目录 src/main/resources
修改application.yml,neo4配置url,password,改成自己的,同理修改mysql(mysql脚本在根目录下,ku_builder.sql)
打包发布
在idea 右侧 有 maven project 工具栏,点击展开lifecycle-clean,然后install,等待完成后在控制台可以看见打包的目录,
例如:[INFO] Installing F:\git\Neo4j\kgmaker\target\kgmaker-0.0.1-SNAPSHOT.jar 复制jar包, 去windows 或者linux下 切换到jar包目录执行jar包
java -jar xxx.jar //即可启动
后台运行脚本
启动
vi start-kg.sh
nohup java -jar -Dfile.encoding=utf-8 -Xms512m -Xmx512m /home/ubuntu/kgbuilder/backend/kgBuilder-pro-release.jar > kg.log 2>&1 &
停止
vi stop-kg.sh
pid=`ps -ef | grep -v grep | grep /home/ubuntu/kgbuilder/backend/kgBuilder-pro-release.jar | awk '{print $2}'`
while kill $pid 2>/dev/null
do
sleep 1
done
想部署到tomcat自行百度,springboot配置外部tomcat
安装nodejs
可参考https://blog.csdn.net/qq_46351233/article/details/120314928 启动前端
1.npm install // 安装依赖
2.npm run serve //启动
3.npm run build //发布
启动后访问http://localhost
访问路径
启动后访问http://localhost
启动视频教程
图谱三元组导入
支持,.xlsx,.xls,.csv,编码格式一定要是utf-8 无bom格式的,
格式:节点-节点-关系,
在本地测试时上传下载的文件要和neo4j在同一台电脑,当然如果能传到七牛或者hdfs上也是一样的,必须确认neo4j能访问到,否则load不成功