neo4j导入protege的owl文件

8 篇文章 0 订阅

本文主要讨论,neo4j导入 rdf/xml文件 和 rdf文件 的区别

注:1. owl文件用的是protege导出的
       2.参考某乎::如何将owl/RDF文件导入neo4j
       3.本文主要对比两种导入方式的不同之处

一.前言

    Protégé软件是斯坦福大学医学院生物信息研究中心基于Java语言开发的本体编辑和知识获取软件,或者说是本体开发工具
    Neo4j是一个高性能的图形数据库,也可以被看作是一个高性能的图引擎
    protege里的本体也能以图的形式表现,希望将protege的本体在neo4j里展示

二. protege导出owl文件

    参考的某乎相关教程,neo4j的导入命令中的owl文件格式为 ‘RDF/XML’,此处姑且直接导出该类型文件(其他类型文件未测试)
protege导出文件格式:RDF/XML
——————⭐⭐⭐⭐⭐——————
踏踏的creature.owl文件:
(如果需要,可以直接用我这个~
链接:https://pan.baidu.com/s/1XkG3GE4RwoMCWwo8qy1u1w
提取码:mgb2)
——————⭐⭐⭐⭐⭐——————
creature的owl文件

三. neo4j导入owl文件

3.1 下载相关jar包,用于neo4j使用owl文件

1.下载扩展neosemantics jar包,将jar复制到neo4j/plugins目录下
    注:neosemantics jar包必须与Neo4J版本相匹配!
    github链接-选择版本
2.修改配置文件:
    在neo4j/neo4j.conf文件中添加以下内容:
    dbms.unmanaged_extension_classes=semantics.extension=/rdf
3.重新启动 neo4j
4.访问web端neo4j并登录,查看列表中是否包含可扩展的rdf、owl
    在查询语句输入栏输入语句:call dbms.procedures()
(下图仅供参考—踏踏也不确定哪个是最主要的,反正塔塔 stop后start,就出来了一堆semantics开头的东东。。。) 有semantics等

3.2 两种导入方法对比
3.2.1 方法一:直接导入owl文件(不可取!)

(此owl文件是protege导出的RDF/XML格式的owl文件)

①导入:neo4j输入命令:

CALL semantics.liteOntoImport('file:///C:/Users/user/Desktop/creature.owl', 'RDF/XML')  

(中文的owl本体文件也可以哦~)

  结果:只成功加载了19个元素
neo4j导入成功示意图
②查询所有节点:

match(n) return n

(双击可查看折叠的关系链~)neo4j导入owl文件后图示
由图可知,直接导入protege的RDF/XML格式的文件不可取—>无实例

3.2.1 方法二:将owl文件通过jar包转换成rdf文件,再导入

①转换:
  1>owl文件还是上述creature.owl文件(protege导出的)
  2>jar包:rdf2rdf-1.0.1-2.3.1.jar下载

若链接失效,可以从网盘下载,提取码:njhc

  3>将jar包与owl文件放在同一目录下
  4> 进入owl文件所在目录,进入cmd,输入并执行命令:

java -jar rdf2rdf-1.0.1-2.3.1.jar creature.owl creature.turtle

②导入neo4j:
(此处,踏踏先将neo4j stop了,把自己的第二个图数据库(E:\neo4j-community-3.5.26\data\databases 下可以自己添加图数据库哦,具体请百度 )删了,重新启动的neo4j)

在neo4j里先输入:

CREATE INDEX ON:Resource(uri)

再输入:

CALL semantics.importRDF('file:///C:/Users/user/Desktop/creature.turtle', 'RDF/XML',{})

导入成功:neo4j导入成功图示
③neo4j中具体内容:
查询所有节点:

match(n) return n

第二种方法导入结果示意
由图可知,导入结果依然不理想,虽然能将实例导入,但是原owl文件的实例与所属类的关系不存在了,实例的属性信息不存在,会多出几个不被需要的节点

3.3 对比小结

    综上,还是第二种方法更可靠一些,但也并不完美,还需人工操作neo4j以达到预期图库
    掌握了规律会使工作更流畅哦~
    如有更好更完美的导入方式,欢迎评论哦~ 踏踏不胜感激~

四. 本次使用的cypher语句(菜鸟使用neo4j)

①清空所有数据

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

②查询整个图形数据库

 match(n) return n

③导入owl文件
方法一:

CALL semantics.liteOntoImport('file:///C:/Users/user/Desktop/creature.owl', 'RDF/XML')  

方法二:

CREATE INDEX ON:Resource(uri)

CALL semantics.importRDF('file:///C:/Users/user/Desktop/creature.turtle', 'RDF/XML',{})
  • 51
    点赞
  • 162
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 56
    评论
要将Protege中的本体导入Neo4j,可以按照以下步骤进行操作: 1. 首先,下载并安装Neo4j数据库,并根据需要配置和启动Neo4j服务。 2. 下载并安装NeoSemantics插件,将其jar文件复制到Neo4j的插件目录中。确保所选的NeoSemantics版本与Neo4j版本匹配。 3. 修改Neo4j的配置文件neo4j.conf,在其中添加以下内容:dbms.unmanaged_extension_classes=semantics.extension=/rdf。保存并关闭配置文件。 4. 运行Neo4j,启动数据库。 5. 在Neo4j中创建一个索引,用于加快导入过程。可以使用以下命令:CREATE INDEX ON :Resource(uri)。 6. 使用以下命令将本体文件导入Neo4j数据库:CALL semantics.importRDF('file:///path/to/本体文件', 'RDF格式', {})。其中,'file:///path/to/本体文件'是本体文件的路径,'RDF格式'是文件的格式,可以是RDF/XML、Turtle等。 通过按照以上步骤操作,您可以成功将Protege中的本体导入Neo4j数据库中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [neo4j导入protegeowl文件](https://blog.csdn.net/fengbaobaola/article/details/122127739)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [webprotege的构建下载与导入neo4j](https://blog.csdn.net/for_yayun/article/details/123996846)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 56
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卅拓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值