[NLP] 语义网络与知识图谱入门(一)
语义网络与知识图谱入门(一)
RDF/XML
本体:一种形式化的对于共享概念体系明确而又详细的说明。就是指一种抽象的模型,可以用来描述对象类型、属性以及关系类型所构成的世界。
RDF/XML主要讲的就是如何用XML的方式来表示RDF的图。

椭圆表示节点,矩形表示文本,弧表示谓语。
节点描述
<rdf:Description rdf:about="A"></rdf:Description>
一个节点本身需要被rdf:Description来定义,通过rdf:about来说明资源uri。
前面rdf是空间名字,固有空间默认为rdf空间。
属性描述
如何描述A的属性d的值为D呢?
属性描述
<rdf:Description rdf:about="A">
<d>D</d>
</rdf:Description>
简写
<rdf:Description rdf:about="A" d="D"></rdf:Description>
路径描述
如何描述A到B的路径呢?
可以通过定义rdf:nodeId的方式指定唯一的nodeId,也可以通过rdf:parseType为Resouce来指定空节点。
属性描述,注意这里的B也是个节点,所以也需要Description
<rdf:Description rdf:about="A">
<a rdf:nodeId="abc"></a>
</rdf:Description>
<rdf:Description rdf:nodeId="abc">
<b>
<rdf:Description rdf:about="B" ></rdf:Description>
</b>
</rdf:Description>
不单独写空节点,即用resource
<rdf:Description rdf:about="A">
<a rdf:parseType="Resource">
<b>
<rdf:Description rdf:about="B" ></rdf:Description>
</b>
</a>
</rdf:Description>
文本表示
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ex="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://example.com">
<ex:prop rdf:parseType="Literal" xmlns:a="http://example.org/a#">
123
</ex:prop>
</rdf:Description>
</rdf:RDF>
xmlns即xml namespace,定义一个命令空间。
使用语法: xmlns:namespace-prefix="namespaceURI"。
这里定义一个名字为a的命令空间
可以看到解析后的结果为:
| Number | Subject | Predicate | Object |
|---|---|---|---|
| 1 | http://example.com](http://example.com/) | http://purl.org/dc/elements/1.1/prop) | "123"^^http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral |
解析网址:https://www.w3.org/RDF/Validator/rdfval
通过解析可以看出来将prop指向的内容解析成了文本类型,即通过指定rdf:parseType="Literal"来实现。谓词rdf:parseType="Literal",指明节点的内容是普通文本,解释器不需要对其进行解释。
数据类型
可以使用rdf:datatype指定文本的数据类型
<rdf:RDF>
<rdf:Description rdf:about="http://example.com">
<a rdf:datatype="http://www.w3.org/2001/XMLSchema#int">
123
</a>
</rdf:Description>
</rdf:RDF>
同样的,也有string,date,decimal等数据类型可以在上面的datatype中指定。
RDF Schema (RDFS)
RDFS的全称为RDF Schema,RDF Schema 中的类与面向对象编程语言中的类非常相似。这就使得资源能够作为类的实例和类的子类来被定义。
<rdf:RDF
xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base= "http://www.animals.fake/animals#">
<rdf:Description rdf:ID="animal">
<rdf:type
rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>
<rdf:Description rdf:ID="horse">
<rdf:type
rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>
</rdf:RDF>
rdf:type
用来表示主语是谓语的一个实例,主语是一个资源,谓语是一个类 ,上面例子中说明animal是class的实例,horse也是class的实例。
rdfs:subClassOf
用来表示主语是谓语的子类,主语和谓语都是一个类 。上面例子中表明horse是animal的子类。
rdfs:subPropertyOf
用来表示主语是谓语的子属性,主语和谓语都是属性
rdfs:domain
用来表示属性的定义域
rdfs:range
用来表示值域
另外,一切所有皆资源(resource):所有类(class)都是资源,所有属性(property)都是资源,所有literal都是资源。
容器
Open Lists
open lists为课题添加新元素的容器。
rdf:Seq表示一个规定为有序的值的列表(比如一个字母顺序的排序),可以包含重复值。
rdf:Bag表示一个规定为无序的值的列表,可以包含重复值。
rdf:Alt表示一个可替换的值的列表(用户仅可选择这些值的其中之一)。
<rdf:RDF>
<rdf:Description rdf:about="http://a.com">
<a>
<rdf:Alt>
<rdf:li>CD</rdf:li>
<rdf:li>Record</rdf:li>
<rdf:li>Tape</rdf:li>
</rdf:Alt>
</a>
</rdf:Description>
</rdf:RDF>
rdf:li,解释器在解释时,将自动生成编号。
Closed Lists
closed lists为不可以添加元素的容器,其成为collections。通过rdf:parseType="collections"可以将宾语视为closed lists。
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://recshop.fake/cd#">
<rdf:Description
rdf:about="http://recshop.fake/cd/Beatles">
<cd:artist rdf:parseType="Collection">
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/George"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/John"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Paul"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Ringo"/>
</cd:artist>
</rdf:Description>
</rdf:RDF>
Turtle语法
turtle用三元组表示,每个句子后面一个.表示句子结束。
前缀
@prefix book: <http://aa.com> .
@prefix ex: <http://axx.com> .
通过@prefix来指定前缀,这样就可以在后面用这个前缀了。
book:uri ex:a "aaa".
[NLP] 语义网络与知识图谱入门(一)的更多相关文章
- [NLP] 语义网络与知识图谱入门(二)
语义网络与知识图谱入门(二) OWL 本体声明 owl用owl:Ontology来声明一个本体.rdf:about属性为本体提供一个名称或引用.根据标准,当rdf:about属性的值为"&q ...
- Atitit 知识图谱解决方案:提供完整知识体系架构的搜索与知识结果overview
Atitit 知识图谱解决方案:提供完整知识体系架构的搜索与知识结果overview 知识图谱的表示和在搜索中的展1 提升Google搜索效果3 1.找到最想要的信息.3 2.提供最全面的摘要.4 ...
- 知识图谱辅助金融领域NLP任务
从人工智能学科诞生之初起,自然语言处理(NLP)就是人工智能核心的研究问题之一.NLP的重要性是毋庸置疑的,它能够实现以自然语言交流为特征的高级人机交互,使机器能“阅读”所有以文字形式记录的人类知识, ...
- 知识图谱与机器学习 | KG入门 -- Part1-b 图深度学习
介绍 我们正在定义一种新的机器学习方法,专注于一种新的范式 -- Data Fabric. 在上一篇文章中,我们对机器学习给出了新的定义: 机器学习是一种自动发现Data Fabric中隐藏的&quo ...
- 知识图谱与机器学习|KG入门 -- Part2 建立知识图谱
介绍 在本系列前面两篇文章中我一直在讨论Data Fabric,并给出了一些关于Data Fabric中的机器学习和深度学习的概念.并给出了我对Data Fabric的定义: Data Fabric是 ...
- 知识图谱与机器学习 | KG入门 -- Part1 Data Fabric
介绍 如果你在网上搜索机器学习,你会找到大约20500万个结果.确实是这样,但是要找到适合每个用例的描述或定义并不容易,然而会有一些非常棒的描述或定义.在这里,我将提出机器学习的另一种定义,重点介绍一 ...
- Task1:知识图谱介绍(1天)
一.知识图谱简介 "知识图谱本质上是语义网络(Semantic Network)的知识库".但这有点抽象,所以换个角度,从实际应用的角度出发其实可以简单地把知识图谱理解成多关系图( ...
- 哈工大知识图谱(Knowledge Graph)课程概述
一.什么是知识图谱 知识(Knowledge)可以理解为 精炼的数据,知识图谱(Knowledge Graph)即是对知识的图形化表示,本质上是一种大规模语义网络 (semantic network) ...
- 知识图谱实体对齐1:基于平移(translation)的方法
1 导引 在知识图谱领域,最重要的任务之一就是实体对齐 [1](entity alignment, EA).实体对齐旨在从不同的知识图谱中识别出表示同一个现实对象的实体.如下图所示,知识图谱\(\ma ...
随机推荐
- AngularJS 在实际应用中优缺点
AngularJS 在实际应用中优点:模板功能强大丰富,并且是声明式的,自带了丰富的Angular指令:是一个比较完善的前端MV*框架,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等所 ...
- python中字符串格式化的意义(化妆)
格式 描述%% 百分号标记 #就是输出一个%%c 字符及其ASCII码%s 字符串%d 有符号整数(十进制)%u 无符号整数(十进制)%o 无符号整数(八进制)%x 无符号整数(十六进制)%X 无符号 ...
- OpenSSL(1)密钥和证书管理
OpenSSL是一个开源项目,包括密码库和SSL/TLS工具集. 从项目的官方站点可以看到: OpenSSL项目是安全套接字层( secure sockets layer, SSL)和传输层安全( t ...
- JDK1.8中LinkedList的实现原理及源码分析
详见:https://blog.csdn.net/cb_lcl/article/details/81222394 一.概述 LinkedList底层是基于双向链表(双向链表的特点, ...
- 实体类与数据库字段不匹配问题,java.sql.SQLSyntaxErrorException: Unknown column 'xxx' in 'field list'
控制台报错 ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'user_nam ...
- CAS JDK 证书错误学习笔记
通过之前生产上发现的问题总结得出以下结论: 问题现象就是:由F5 进行分发到cas 两个服务端 导致 客户端访问时 (时好时坏的现象 ) 通过在服务端的查看apahce 的访问日志得出的结论 发 ...
- dedecms织梦网站本地迁移到服务器后,后台更新栏目文档提示模板文件不存在,无法解析文档!的解决办法
解决办法: 1.系统设置-系统基本参数-站点设置-网页主页链接,替换为空 2.系统设置-系统基本参数-核心设置-DedeCMS安装目录,替换为空
- Linux 指令总结
1. 显示本机信息 显示ip地址 hostname -i 显示当前使用用户 whoani 显示cpu信息 lscpu
- Django学习系列10:保存用户输入——编写表单,发送POST请求
要获取用户输入的待办事项,发送给服务器,这样才能使用某种方式保存待办事项,然后在显示给用户查看. 上次运行测试指出无法保存用户的输入.现在,要使用HTML post请求. 若想让浏览器发送POST请求 ...
- bash配置相关
登录方式 登录方式分为两种方式: