图数据库和知识图谱的关系_图数据库与知识图谱
undefined
关系数据库尽管名称很差,但由于它强加了不利于连接的存储结构,因此不能很好地表达数据关系图数据库尽管名称很像图,但为表达数据点之间的关系提供了更大的灵活性这些关系可以是任何类型,并表示为数据点之间的边

在图形中存储关系很有趣,但对于提取知识和见解不是很有用因此,知识图谱由存储数据的图数据库和在数据中搜索和具体化模式的推理层组成本文介绍了知识图和RDF图上的推理的基本概念和直觉,并在RDFox上演示了一个实例,其中介绍了高性能知识图和语义推理引擎。
专栏基于深度学习的自然语言处理作者:AI火箭营99币26人已购查看知识图谱RDF数据模型要求数据点以三元组的形式表示:subject-predicate-objectRDF图的主要查询语言是RDF中的推理功能是从RDF图和一组规则计算逻辑上遵循的三元组的能力。
RDFox中实现了这种逻辑结果,成为图中的新三元组规则的使用可以大大简化RDF数据的管理,并为用户查询提供更为完整的答案例如,考虑一个包含以下三元组的图::oxford:located_in:oxfordshire。
:oxfordshire:located_in:england:england:located_in:uk这种关系:located_in 在直观上是传递性的:从牛津位于牛津郡和牛津郡位于英格兰的事实,我们可以推断出牛津位于英格兰。
但是,图中没有三元组:oxford :located_in :england ,并且要求所有英语城市的SPARQL查询都不会返回牛津作为答案
图的直观表示当然,我们可以手动将缺少的三元组添加到图表中,从而确保牛津大学被列入英语城市列表中但是,这样做有许多重要的缺点可能存在数百万个涉及该:located_in 关系的缺失三元组,并且每个三元组都需要手动添加,这既麻烦又容易出错。
更重要的是,通过手动添加缺失的三元组,我们无法捕获关系的传递性,该关系普遍适用于图中由该关系连接的所有对象特别是,如果将:england :located_in :uk 三元组添加到图中,则应得出以下三元组作为:located_in 关系的可传递性的逻辑结果:。
:oxford:located_in:uk:oxfordshire:located_in:uk我们可以使用规则来忠实地代表关系的传递性这样的规则说明这种传递性IF(任何)对象?x在图中由:located_in连接到一个对象。
?yAND?y又通过:located_in连接到一个对象?zThen?x也必须由被:located_in连接到?z在此,?x,?y和?z是可以绑定到图中任何对象的变量特别是,可以使用RDFox的规则语言编写如下规则:。
[?x,:located_in,?z]:- [?x,:located_in,?y],[?y,:located_in,?z]
在此插图中,绿线显示了从规则派生的链接该规则建立了不同数据三元组之间的因果关系;事实上,三元组:oxford, :located_in, :england 成立是因为三元:oxford, :located_in, :oxfordshire 和:oxfordshire, :located_in, :england 也成立。
绿线表示由规则得出的关系假设我们后来发现它:oxford 不在:oxfordshire,而是位于美国密西西比州,因此我们从图中删除了以下三元组::oxford:located_in:oxfordshire
然后,三元组:oxford, located_in, :england 并且:oxford, :located_in, :uk 也必须回退,因为它们不再合理仅通过添加和/或删除三元组就很难处理这种情况相反,可以使用RDFox中的规则以高效,优雅的方式自动处理它们。
专栏深度学习入门系列讲解作者:AI火箭营268币335人已购查看规则语言规则语言确定哪些语法表达式是有效规则,并且还为每个规则提供定义明确的含义特别是,在给定一组语法上有效的规则和任意RDF图的情况下,必须明确定义从将规则应用于图之后的新三元组。
Datalog自1980年代以来,在数据管理和人工智能领域一直使用规则语言基本规则语言称为Datalog这是一种非常容易理解的语言,它构成了许多后续规则形式主义的核心,这些形式主义具有广泛的扩展性数据记录规则可以看作一条IF ... THEN 语句。
特别是我们的示例规则[?x,:located_in,?z]:- [?x,:located_in,?y],[?y,:located_in,?z]是Datalog规则IF规则的一部分也称为主体或前身THEN规则的部分被称为头或后续
首先写出头部,并用符号将其与身体隔开:-主体和头部都由一系列条件组成,其中用逗号隔开,并且每个用语是可能发生变量的三元组在我们的示例中,主体为[?x, :located_in, ?y], [?y, :located_in, ?z] ,头部为[?x, :located_in, ?z] 。
每个Datalog规则传达的思想是,根据输入RDF图中三元组的某些组合,我们可以从逻辑上推断出某些其他三元组也必须是图的一部分特别是,规则中的变量会覆盖RDF图中所有可能的节点只要为这些变量分配了使规则主体成为图形子集的值,我们就会看到这些变量的值是什么,将这些值传播到规则的开头,并推断得出的三元组也必须是其中图的一部分。
在我们的例子中,一全特定规则应用绑定变量?x于:oxford ,变量?y:于oxfordshire和变量?z于:england,然后意味着在规则的头部,该三元组:oxford :located_in :england 通过:oxford替换?x和:england替换?z保持为逻辑结果。
一个不同的规则应用绑定?x到:oxfordshire,?y到:england和?z到:uk; 结果,三元组:oxfordshire :located_in :uk也可以作为逻辑结果导出理解单个Datalog规则应用程序对RDF图的含义的另一种方法是将其视为INSERTSPARQL中语句的执行,这会向该图添加一组三元组。
特别是声明插入{?x:located_in?z},其中{ ?x:located_in?y ?y:located_in?z}对应于我们的示例规则导致三元组的插入:oxford:located_in:england :oxfordshire:located_in:uk。
但是,存在一个根本的区别,那就是规则比INSERT SPARQL中的简单语句更强大,即规则是递归应用的事实上,我们已经得出后Oxford位于England,我们可以再次匹配应用规则?x 来:oxford ,?y 到:england 和?z 到:uk ,推导:oxford :located_in :uk ---即通过INSERT表达式得不到的三元组。
这样,通过迭代应用规则,可以在图形上捕获一组Datalog规则的逻辑结果,直到无法将新信息添加到图形中为止重要的是要注意,所获得的逻辑结果集完全独立于执行规则应用程序的顺序以及给出规则主体不同元素的顺序。
特别是,以下两个规则是完全等效的:[?x,:located_in,?z]:- [?x,:located_in,?y],[?y,:located_in,?z][?x,:located_in,?z]:- [?y,:located_in,?z],[?x,:located_in,?y]
专栏机器学习From Zero to All作者:AI火箭营99币182人已购查看实践中的知识图谱知识图提供了各种应用程序,这些应用程序并不总是被人们所了解使用RDFox构建的知识图在动态查找数据中基于规则的复杂模式或验证它们不会发生时特别有效。
基于规则的模式提供了一种直观的方式来编码领域专业知识模式可以例如建模如何将组件组装成功能正常的产品,或者用户需要满足的要求才能进行整个过程大多数响应式应用程序都需要即时评估这些规则,而这对于在预期响应时间内大规模地使用传统推理引擎来执行通常是不切实际的。
您可以阅读RDFox如何帮助Festo将配置复杂产品的时间从几小时减少到几秒钟知识图谱还可以通过提供更灵活,更一致的存储知识的方法,将聊天机器人转变为真正的智能推理代理规则还可以帮助改善对措辞不佳的问题的解释。
知识图的另一个关键用例是检测网络中代表不良行为(例如欺诈或内部交易)的循环关系RDFox可以通过有效地导航传递关系来无缝地在网络中建立连接RDFox可以自动标记或阻止不应该存在的连接,而与网络的复杂程度无关。
专栏机器学习难点问题秒懂课堂作者:AI火箭营99币143人已购查看使用RDFox操作知识图RDFox是一种高性能的知识图和语义推理引擎,可以大规模,动态地评估复杂的查询和规则。
RDFox是一个高度可扩展的内存RDF三元组存储,支持共享内存并行OWL 2 RL推理 它是用C ++编写的跨平台软件,带有一个Java包装器,允许与任何基于Java的解决方案(包括OWL API)轻松集成。
RDFox是针对速度和并行推理进行优化的内存中RDF三元组存储,克服了传统数据库和推理引擎的灵活性和性能限制在过去的十年中,牛津大学开发并完善了RDFox的新颖设计和概念,并在同行评审研究中进行了数学验证。
RDFox保证了规则实现和查询结果的正确性,这些要求可以在生产级服务器和受内存限制的设备上大规模,即时地交付。
专栏基于深度学习的目标检测作者:AI火箭营299币75人已购查看
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186