一、Protégé与Neo4j
Protégé软件是斯坦福大学医学院生物信息研究中心基于Java语言开发的本体编辑和知识获取软件,或者说是本体开发工具。
Neo4j是一个高性能的图形数据库,也可以被看作是一个高性能的图引擎。
二、导出owl文件
直接在Protégé软件中导出文件
这里有一个创建好的文件,可以直接用。
链接:https://pan.baidu.com/s/1XkG3GE4RwoMCWwo8qy1u1w
提取码:mgb2)
三、neo4j导入owl文件
1.下载扩展neosemantics jar包,将jar复制到neo4j/plugins目录下
注:neosemantics jar包必须与Neo4J版本必须匹配!
我的neo4j版本为3.5.35,下载的jar包版本为3.5.x
2.修改配置文件
在neo4j/neo4j.conf文件中添加以下内容:
dbms.unmanaged_extension_classes=semantics.extension=/rdf
注:4.0之后的neo4j配置略有不同
可以参考如下文章:Neo4j导入RDF文件之neosemantics安装_x²+(y-√³x²)²=1的博客-CSDN博客
3.重新启动
4.访问neo4j的web端,查看是否成功导入jar包,在查询语句输入栏输入语句:
call dbms.procedures()
4.0之前的版本会出现很多semantics.xxx的内容,4.0之后略有不同,参考上面链接文章。
导入owl文件 :
(此owl文件是protege导出的RDF/XML格式的owl文件)
1. 导入:neo4j输入命令:
CALL semantics.liteOntoImport('file:///Users/user/Desktop/creature.owl', 'RDF/XML')
输入语句可以正常运行,但是查询不到数据,这里我也不清楚原因。同时浏览别的博主也有数据不全的问题。
2.将owl文件通过jar包转换成rdf文件,再导入
jar包链接已经失效,有需要的同学可以评论留下邮箱。
将jar包和导出的文件放在同一个文件夹,cmd进入文件所在目录,输入并执行命令。
java -jar rdf2rdf-1.0.1-2.3.1.jar 文件名字.owl 文件名字.turtle
在neo4j依次输入如下命令:
CREATE INDEX ON: Resource(uri)
CREATE INDEX ON: URI(uri)
CREATE INDEX ON: BNode(uri)
CREATE INDEX ON: Class(uri)
然后在查询输入语句输入:
CALL semantics.importRDF('File:///Users/user/Desktop/Protege/creature.turtle', 'RDF/XML',{})
(我是mac电脑,所以路径会有一点不一样。windows可以自己更改。
导入成功。
有任何问题可以私信我。
参考文章: