neo4j导入protege的owl文件

一、使用protege创建一个本体模型,将本体以RDF/XML的形式导出保存
neo4j导入protege的owl文件_第1张图片
下面是从protege中导出的本体文件。
neo4j导入protege的owl文件_第2张图片

二、下载相关jar包,用于neo4j使用刚导出的文件
1.下载并安装neo4j,可参照这篇博客neo4j安装进行安装。
2.下载扩展neosemantics jar包,将jar复制到上述步骤中安装的neo4
j中的neo4j/plugins目录下。Guthub链接
**注意:**neosemantics 版本必须与neo4j相匹配!!!
3.修改配置文件:
在neo4j/neo4j.conf文件中添加以下内容:(可添加在文件的末尾)
dbms.unmanaged_extension_classes=semantics.extension=/rdf
4.启动neo4j。

三、在neo4j中导入owl文件
1.使用jar包将owl文件转换成rdf文件。
(1)owl文件是上述步骤中导出的“本体1”文件;
(2)jar包下载rdf2rdf-1.0.1-2.3.1.jar下载;
(3)将下载后的jar包与本体文件放在同一目录下;
neo4j导入protege的owl文件_第3张图片
(4)进入owl文件所在目录,进入cmd,输入并执行命令:`

java -jar rdf2rdf-1.0.1-2.3.1.jar 本体1.owl 本体.turtle

其中,“本体1.owl”是从protege中导出的文件,“本体.turtle”是执行该命令后会产生的文件(可根据自己喜好定义名称);
2.导入neo4j。
(1)在neo4j中先输入CREATE INDEX ON:Resource(uri)
(2)再输入CALL semantics.importRDF('file:///E:/RDF插件/本体.turtle', 'RDF/XML',{})
完成上述步骤后,导入成功。

四、关于导入后可能出现的问题。
1.不能直接显示节点名称,节点前面存在一串URI前缀。
解决办法:在neo4j中执行语句match(n) where n.uri=~"http://www.kgtest.com#.*" set n.uri=substring(n.uri,22) return n
http://www.kgtest.com#为你的前缀名,substring(n.uri,22)是一个子字符串函数,数下你的前缀多长,修改长度,(我的http://www.kgtest.com#是22

你可能感兴趣的:(知识图谱,neo4j)