neo4j 知识图谱_知识图谱概述(下)

本系列参考了市面上已知的,几乎全部“知识图谱”相关文章,并总结提炼出一套适合初学者入门的“知识图谱”的知识体系,希望大家能有所收获。

六,知识图谱的构建流程:以结构化数据为例,数据存储在MySQL中。

09a7470c8487d9772574249318d25f18.png

1,定义本节讨论的内容:

不讨论,自然语言处理:如何完成非结构化或半结构化文本的抽取;

不讨论,机器学习:如何使用机器学习或深度学习的方法完成图谱隐含的语义推理。

讨论,知识工程:如何根据业务需求,完成概念实体,对象关系属性和数据值属性的定义;

讨论,数据库:如何根据业务流量,完成结构化数据到知识图谱的存储和应用。

2,知识工程简介:

2.1,本体构建:知识工程,最重要的工作就是”本体构建“。

希望达到的效果是,对于不同来源、不同内容的数据,在接入知识图谱时都会按照预定义的schema对数据进行转换和清洗,无缝使用已有元数据和资源。

即,根据具体的业务需求,抽象出对应的概念(实体:公司,人物),对象属性(关系: 融资,任职),数据属性(值: 融资金额,担任职位)等要素。

59d217d9d2006f4e40c3995b3c86b78c.png

本体构建,常用的工具是斯坦福大学的开源工具Protege。它实现了全套OWL本体文件的定义,但是它只能以序列化(N-Triples,Turtles)后的文件存储,并不支持多人协同编辑。

在工程实践中,可以按照Protege的基本功能,实现Web端管理平台编辑。

2.2,业务场景:

在不同的业务场景下,对同一份结构化数据,构建的本体会有很大差异,所以,在初始化知识图谱项目中,可使用“二八原则”,找准一个落地应用场景,快速开始。比如,企业基本信息图谱,企业舆情事件图谱等。

7da6c9a67836d92d1b93d6e441f55b74.png

3,数据转换:使用开源工具包(D2RQ),将存储在MySQL中的结构化数据,转换为RDF的三元组数据。

3.1,D2RQ转换流程:

4c1adad5c9e283540f8d48d0331f309d.png

D2RQ,自定义了一套关系型数据库至OWL文件的“映射语言”,可以通过人工定义并编辑,将不同MySQL连接实例的不同字段,依照"映射语言"中的语法规则,与OWL文件中定义的本体字段互相关联,从而实现转换。工程上,可以将该功能做在管理平台上,让业务人员配置。

The D2RQ Mapping Language​d2rq.org
1222cad33ee68f221931b45b44ebc8d3.png

当然,如果图谱的构建是一次性的工作,可以将MySQL中的数据拆表。即,(1),所有Class概念和Data Property拆成独立表,以实体ID为主键,允许存在外键;(2),不同Class概念间的关联Object Property拆成独立表,表内包含2个ID字段,同时它们是对应Class表的主键。

552ea0be4ea731a04810b2617275a723.png

4,数据操作:使用Apache Jena Frame,实现RDF数据的操作和处理。

Jena是一整套开源的语义网技术栈操作API,包含本体推理,规则推理和自带数据库。工程上,可以使用它,完成W3C定义的全部语义网功能。

Apache Jena​jena.apache.org

5,数据存储:使用属性图数据库,比如,Neo4j,实现三元组数据的存储。

就像在知识图谱(上)中介绍的那样,RDF只是一套描述世界全部知识的表述规范,即三元组规范。它并未定义任何三元组数据的存储方式。

因此,理论上,在工程实现中,可以工程代码实现的方式,使用属性图数据库存储RDF文件,即,编码实现RDF模型,至属性图模型的转换。有2种方式:

5.1,平移变换:将三元组数据平移变换至图数据库。

semr/neo4jena​github.com
c67ea2b78c23f11fde97b27277e7eee2.png

5.2,合并变换:比如,将Class作为节点,Object Property作为关系,Data Property作为节点中的属性,转储自属性图数据库。个人比较推荐这种方式,因为它有一个,由Neo4J的电信解决方案总裁,“准官方”支持的解决方案。嘻嘻嘻~

jbarrasa/neosemantics​github.com
5ad92f782a1c5575b8eebd6d22fa031b.png

6,上层应用:略,记得加Cache。

自此,已完成“知识图谱”的概念和实现的全部介绍,个人认为已经非常详尽,欢迎各位小伙伴私信提问。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值