用neo4j导入protege创建的本体owl文件(以及前缀消除)
- 前期工作
- 导入owl本体文件
前期工作
这是我用protege自己弄的一个简单的本体(展示一下)
1.下载扩展neosemantics.jar包,将jar复制到neo4j/plugins目录下。
注意:neosemantics jar包必须与Neo4J版本相匹配。
例如:neo4j-community-4.4.9与neosemantics-4.4.0.1.jar
下载jar包地址: neosemantics的jar包下载.
2.修改配置文件:
在neo4j/neo4j.conf文件中添加以下内容(建议放到最后):
dbms.unmanaged_extension_classes=n10s.endpoint=/rdf(4.0之后版本)
dbms.unmanaged_extension_classes=semantics.extension=/rdf(4.0之前版本)
3.启动 neo4j
neo4j.bat console
导入owl本体文件
1.将owl文件通过jar包转换成rdf文件,再导入
①owl文件还是上述ZheJiangFeiYi.owl文件(protege导出的)
②jar包:rdf2rdf-1.0.1-2.3.1.jar下载
> http://www.l3s.de/~minack/rdf2rdf/
③将jar包与owl文件放在同一目录下
④ 进入owl文件所在目录,进入cmd,输入并执行命令:
java -jar rdf2rdf-1.0.1-2.3.1.jar creature.owl creature.turtle
就会自动生成.turtle文件啦
2.导入文件
①打开网页版neo4j
访问web端neo4j并登录,查看列表中是否包含可扩展的rdf、owl
在查询语句输入栏输入语句:call dbms.procedures()
(neosemantics4.0以下版本)
(neosemantics4.0以上版本)
②导入文件
在neo4j里先输入:
CREATE INDEX ON:Resource(uri)
再输入:
neosemantics大于4.0版本
call n10s.rdf.import.fetch( "file:///C:/Users/user/Desktop/XXX.turtle", "RDF/XML",{handleVocabUris: "IGNORE"})
neosemantics小于4.0版本
CALL semantics.importRDF('file:///C:/Users/user/Desktop/XXX.turtle', 'RDF/XML',{})
这样知识图谱就出来(但注意此时带有很多前缀)
③消除前缀
直接在neo4j上用cypher语句修改
http://www.ontologies.com#为你的前缀名,substring(n.uri,26)是一个子字符串函数,数下你的前缀多长,修改长度(我的http://www.ontologies.com#是26)
match(n) where n.uri=~"http://www.ontologies.com#.*" set n.uri=substring(n.uri,26) return n
文章来源:https://uudwc.com/A/peWw
这样用neo4j导入protege创建的本体owl文件以及消除前缀的工作就做完啦!文章来源地址https://uudwc.com/A/peWw