[发明专利]基于RDF的知识图谱交互式可视化查询方法有效
申请号: | 201810739577.2 | 申请日: | 2018-07-06 |
公开(公告)号: | CN109033260B | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 王鑫;杨朝洲 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F16/33 | 分类号: | G06F16/33;G06F16/332;G06F16/338;G06F16/36;G06F16/901;G06F16/903 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 刘玥 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于RDF的知识图谱交互式可视化查询方法,将用户的查询分为三类:基于实体查询、基于模式匹配查询、基于正则路径查询,然后将查询结果进行可视化。本发明根据RDF和SPARQL标准的特点以及现代交互设计理念设计了知识图谱交互可视化方法,能够帮助用户从RDF图数据库中查询实体和关系,利用模式匹配查询和正则路径查询的特性完成较复杂的查询,并且基于前端技术和React框架实现了该设计。 | ||
搜索关键词: | 基于 rdf 知识 图谱 交互式 可视化 查询 方法 | ||
【主权项】:
1.一种基于RDF的知识图谱交互式可视化查询方法,其特征在于,包括以下步骤:步骤1:使用React构建项目框架,生成工程目录,包括配置文件、组件和公共静态资源,其中,所述组件包括父组件和子组件,所述父组件为App.js,所述子组件包括查询组件、可视化组件、信息栏组件、简介栏组件;所述的App.js作为根组件,将所有子组件整合封装并定义了页面布局和Bootstrap样式选择器;步骤2:App.js作为根组件的作用是利用React的状态和属性完成跨组件参数传递;在查询组件和可视化组件中使用节点集合和边集合存储数据,在查询组件和可视化组件之间使用状态保持数据的一致性,在查询过程中查询组件更新App.js中的查询结果状态,App.js中更新的查询结果状态作为可视化组件的属性也会同时更新,显示可视化结果,而且当前实体的状态更新会使信息栏组件中的简介和相关图片发生更新;其中,子组件更新父组件是通过调用父组件传递到子组件的回调函数实现;步骤3:基于将用户的查询分为基于实体查询、基于模式匹配查询和基于正则路径查询,所述查询组件由实体查询组件、模式匹配查询组件和正则路径查询组件组成;基于实体查询属于基本查询模式,基于模式匹配查询和基于正则路径查询属于高级查询模式,用户根据需求采用第一按钮对基本查询模式和高级查询模式进行切换;(1)基于实体查询实体查询组件使用基于AJAX技术的提示补全,当输入内容发生更新时调用Axios向SPARQL endpoint异步发送GET请求查询以输入内容开头的实体,当获取到查询结果后进行处理得到节点集合和边集合,然后调用父组件传递的回调函数更新可视化组件和简介栏组件的内容使得查询结果同步更新;(2)基于模式匹配查询模式匹配查询组件和正则路径查询组件是查询组件的子组件,其中包括切换主语/宾语按钮和添加条件按钮;输入三元组:使用(1)基于实体查询中的方法实现实体的输入,并根据切换主语/宾语按钮设置该实体在三元组条件中的位置,根据实体在三元组条件中的位置,调用Axios向SPARQL endpoint异步发送GET请求查询该实体拥有的属性和关系,并将查询结果在下拉列表中显示给用户,用户可以输入部分关键词从中快速选取;三元组条件使用状态进行存储,实现用户界面和数据的双向绑定,用户点击添加条件按钮即可添加该三元组条件,点击该三元组条件右侧减号可以移除该该三元组条件,同时状态也会发生更新,当点击查询按钮时,查询函数会将查询条件进行字符串拼接生成SPARQL查询语句使用Axios向SPARQL endpoint异步发送GET请求查询;遍历查询结果将三元组条件和查询结果进行组合生成边集合和节点集合,使用父组件传递的回调函数更新状态,使得可视化组件即时更新可视化结果。(3)基于正则路径查询基于正则路径查询和基于模式匹配查询使用第二按钮进行切换,当处在基于正则路径查询模式下,主语或宾语的输入方式不变,而谓语使用表达式树进行构建;使用(2)基于模式匹配查询中输入三元组的方法,在下拉列表中设置正则运算符,选择一个运算符后点击添加按钮即可在右侧表达式树添加一个节点,若该运算符是一元运算符则添加一个节点,若是二元运算符则添加两个节点,用户点击节点使用(1)基于实体查询中的的实体查询组件的提示补全功能选择一个节点;点击添加条件按钮,则对表达式树进行中序遍历,生成三元组谓语,然后将三元组进行字符串拼接得到SPARQL查询语句向SPARQL endpoint异步发送GET请求查询;遍历查询结果将三元组条件和查询结果进行组合生成边集合和节点集合,使用父组件传递的回调函数更新状态,使得可视化组件即时更新可视化结果;步骤4:在信息拦组件中调用Axios向SPARQL endpoint异步发送GET请求查询当前状态的实体在维基百科中的简介和相关图片,并用查询结果更新信息框的状态,实时更新显示内容,以确保状态数据和渲染内容的一致性;步骤5:在可视化组件中绑定鼠标点击事件,当鼠标单击节点时,更新父组件当前状态为该实体,因为该状态作为信息拦组件的属性,所以状态的更新会触发信息拦组件的更新,以显示该实体在维基百科中简介和相关图片;当鼠标双击节点时,调用Axios向SPARQL endpoint异步发送GET请求查询该节点的属性和关系,并将查询结果加入到可视化结果中,以实现拓展节点的功能。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810739577.2/,转载请声明来源钻瓜专利网。