计算机专业刚入坑知识图谱,我大概是这种状态:
不过没办法- -从概念开始慢慢来吧。。。
1. 什么是知识图谱:
知识图谱(Knowledge Graph),在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。
个人理解就是展示复杂知识资源相互联系的一图形结构
2. RDF:资源描述框架(Resource Description Framework) (知识表示的一种方式)
知识图谱是展示资源相互联系的结构,所以首先要能描述资源,以及资源的联系。然后通过各种处理来发现其中的直接关系(我们用RDF已经存储的)和可能的隐藏关系(推导出来的)。
最简单的应用:你淘宝搜个卫生巾,然后淘宝知识图谱里:卫生巾是大姨妈的 “需要” 属性之一,大姨妈的其他 “需要” 属性还包含了:绿豆汤,卫生棉,热水壶。。。然后你第二天就发现你的淘宝主页上各种暖水壶,卫生棉,绿豆汤。。。
或者:特朗普是美国总统,特朗普是房地产商 -》 美国总统是一个房地产商 然后进一步推导出别的隐藏关系。
资源(Resource):所有以RDF表示法来描述的东西都叫做资源,它可能是一个网站,可能是一个网页,可能只是网页中的某个部分,甚至是不存在于网络的东西,如纸本文献、器物、人等。在RDF中,资源是以统一资源标识(URI,Uniform Resource Indentifiers)来命名,统一资源定位器(URL,Uniform Resource Locators)、统一资源名称(URN,Uniform Resource Names)都是URI的子集。
属性(Properties):属性是用来描述资源的特定特征或关系,每一个属性都有特定的意义,用来定义它的属性值(Value)和它所描述的资源形态,以及和其它属性的关系。RDF的(Property,Property value)在概念上和传统的(Attribute,Attribute value)是相同的。
陈述(Statements):特定的资源以一个被命名的属性与相应的属性值来描述,称为一个RDF陈述,其中资源是主词(Subject),属性是述词(Predicate),属性值则是受词(Object),陈述的受词除了可能是一个字符串,也可能是其它的资料形态或是一个资源。
先举一个例子:
用xml语法来描述一个东西:
e.g:
<
Description
about
=
http
://www.dlib.org/dlib/may98/miller> <- http
://www.dlib.org/dlib/may98/miller 这个唯一标识了这个资源(统一资源标识)
<
DC:title
> <- 属性标签
An introduction to the Resource Description Framework <--属性的描述 (陈述)
</
DC:title
>
<
DC:creator
>
Eric Miller
</
DC:creator
>
<
DC:date
>
1998-0501
</
DC:date
>
</
Description
>
这种描述一个东西的方式就是RDF(不等同于XML语法,只能说所有RDF可以用xml来描述, xml有固定格式,而rdf只是一种框架,感觉有点像jvm和hotspot,一个是一种规范,一个是这种规范的一种主要实现方式)
不过xml相对来说太过正规,所以现在不用这种方式,而是直接用三元组(“主 谓 宾” 的直接排列) (也可以理解为 资源 的xx属性是 描述)
类似于这种:
<
http
://www.dlib.org/dlib/may98/miller>
<
DC:title
> "An introduction to the Resource Description Framework".
<
http
://www.dlib.org/dlib/may98/miller>
<
DC:creator
>
"Eric Miller".
<
http
://www.dlib.org/dlib/may98/miller>
<
DC:date
>
"1998-0501".
或者用turtle方式来描述:
@prefix Description
: <"http
://www.dlib.org/dlib/may98/miller
/">. //这里要注意。。。下面那些语句的主语是这个url,不是Description,相当于java里面声明了一个变量Description指向它。。。
Description :
title
"An introduction to the Resource Description Framework".
Description :creator
"Eric Miller". //或者表示成主谓宾:
Description :的creator是
"Eric Miller".
Description :date
"1998-0501".
这样可以用更少的空间,更简洁的方式来存储一个资源了。
RDF的描述方式有很多。。。总之只要是用 资源,属性,描述的方式来描述的方法就是RDF(不是这方面专业的知道这个就差不多了- -)
三元组的个人理解:这玩意类似于关系数据库中的关联查询。。。A中包含的属性B,然后B有描述C。 ((A,B),C) --> 变成RDF就成了(A,B,C),只不过默认了ABC有着固定的关系。
3元组其实就是2元组基础上外面多套了一层关系,因此再套一层就会变成4元组。。。以此类推。
3.