有应用价值的对话系统,需要引入外部知识辅助决策分析
知识图谱就是结构化的语义知识库,是一种基于图的数据结构,用于描述物理世界中的概念及其相互关系。
既然是图就有边和节点,边指的是事物之间的关系,而节点这里简单地分成两种:实体 + 属性,属性可以分为对象属性和数据属性。
三元组:< header entity, relation, tail entity >
比如:"小明是一个大学生"可以表示为< 小明, 当前学历, 大学生 >
Neo4j 开发文档
node是Neo4j的基本概念,以下是Neo4j的一个单一节点:
Neo4j的node和之前讲到的知识图谱中的节点不同,它不仅仅是一个单一的实体或者属性,它包括了label和property。其中label是Neo4j引入的一个新概念,它的作用是根据label把node划分成一个个集合,比如说"学生"可以是一个label,“国家"也可以是一个label,label具体是什么由我们来设计,我们可以通过指定label对这一批数据进行特定的操作。
一个node可以拥有多个label,为node设计什么label,主要还是要根据实际情况判断,看如何设计能方便数据的查询和修改等操作:
relationship就是连接两个node的边,而且这是有向边,relationship中包含relationship type,比如"acted_in”,就是表示Tom Hanks是Forrest Gump中的一个演员:
property是一个键值对,在之前node的介绍中也提到,node由label和property构成,需要注意的是,node和relationship都可以有property,比如上方的ACTED_IN中就通过property说明了Tom Hanks在Forrest Gump中扮演的角色是Forrest。
property中比较特别的是name,一个node没有name的话,在可视化界面是不会显示这个node的名称的,但从Neo4j的逻辑来看,一个node不一定需要name这个property,所以我们应该把Neo4j中的node看成是一个更抽象的node,而不是知识图谱中的实体。
Neo4j Desktop安装教程
neo4j安装使用(windows10)
可以通过Cypher或者python对Neo4j进行操作,Cypher就相当于mysql那种数据库操作语言,这里有Cypher详细教程,使用上Cypher和python可以结合使用。
初识知识图谱
最新推荐文章于 2024-07-09 10:21:45 发布