定义:知识图谱是通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示相关知识领域的核心结构、发展历史、前沿领域以及整体知识架构达到多学科融合目的的现代理论。它把复杂的知识领域通过数据挖掘、信息处理、知识计量和图形绘制而显示出来,揭示知识领域的动态发展规律。
逻辑结构:知识图谱在逻辑结构上可分为模式层与数据层两个层次,数据层主要是由一系列的事实组成,而知识将以事实为单位进行存储。如果用(实体1,关系,实体2)、(实体、属性,属性值)这样的三元组来表达事实,可选择图数据库作为存储介质,例如开源的 Neo4j、Twitter 的FlockDB、JanusGraph 等。模式层构建在数据层之上,主要是通过本体库来规范数据层的一系列事实表达。本体是结构化知识库的概念模板,通过本体库而形成的知识库不仅层次结构较强,并且冗余程度较小。
知识图谱的体系架构是指其构建模式的结构,如下图所示:

大规模知识库的构建与应用需要多种智能信息处理技术的支持。通过知识抽取技术,可以从一些公开的半结构化、非结构化的数据中提取出实体、关系、属性等知识要素。通过知识融合,可消除实体、关系、属性等指称项与事实对象之间的歧义,形成高质量的知识库。知识推理则是在已有的知识库基础上进一步挖掘隐含的知识,从而丰富、扩展知识库。分布式的知识表示形成的综合向量对知识库的构建、推理、融合以及应用均具有重要的意义。
接下来进行超级简单的实现(Neo4j安装见知识图谱之图数据库Neo4j安装)
# coding:utf-8from py2neo import Node, Relationship, Graph, NodeMatcher, RelationshipMatcher##连接neo4j数据库,输入地址、用户名、密码graph = Graph('http://localhost:7474', auth = 'neo4j', password='******')##创建结点node_1 = Node(label='xiyouji', name='唐玄奘')node_2 = Node(label='xiyouji', name='孙悟空')node_3 = Node(label='xiyouji', name='猪八戒')graph.create(node_1)graph.create(node_2)graph.create(node_3)##创建关系# 分别建立了node_1指向node_2和node_2指向node_1两条关系,关系的类型为"徒弟、师傅",两条关系都有属性count,且值为1。node_1_2 = Relationship(node_1, '徒弟', node_2)node_1_2['count'] = 1node_2_1 = Relationship(node_2, '师傅', node_1)node_2_1['count'] = 1node_1_3 = Relationship(node_1, '徒弟', node_3)graph.create(node_1_2)graph.create(node_2_1)graph.create(node_1_3)#简单打印print(graph)print(node_1)print(node_2)print(node_1_2)print(node_2_1)

我们再去网页看一下:

以上就简单实现了用(实体1,关系,实体2)、(实体、属性,属性值)这样的三元组来表达事实。
文章转载自DATA江湖,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




