本文主要是对四川大学段阳博士的论文《金属切削加工知识图谱构建及应用》的复现。只复现了结构化数据构建知识图谱的整个流程。
结构化数据集成的整个架构如图。在复现时我使用的时MySql数据库,其余的均与论文相同。所有到的技术和工具如下:
MySQL8.0、Protege5.5.0with onto plugin、neo4j desktop
具体安装和配置可以在网上自行搜索。
1. 建立MySQL数据库
这里为了实现论文功能,我只建立了一个最简单的数据库,使用了Navicat。数据库的模式图如下:
2. 建立了数据库之后,在数据库插入了少量几个数据。
3. 使用protege建立本体模型
——先建立类
—— 再建立属性
——最后建立关系
4.建立映射公理
保存后生成三个文件
5.先打开reasoner,选择ontop推理机,使用Ontop materialize来按照自己定义的公理生成三元组。
6.把生成的三元组文件导入neo4J(这里需要给neo4J安装插件,使用桌面版更好操作,具体导入方法可以在网上找到,大体步骤是建立资源索引->导入ttl文件),然后就可以查看生成的知识图谱。
存在的问题:
- 生成的三元组文件总是会有重复实体,比如一个实体即属于学生类还属于课程类还属于教师类,相当于做了一个笛卡尔积,一直不解,需要解决。
问题已经解决,在建立属性的时候不能让不同实体公用同一个属性,否则就会出现上述问题。上面的步骤截图都是更改后正确的版本。