RDF与URI

理解URI的概念和写法

  在学习jena RDF时,对三元组的书写格式不太理解,为什么都要写成http://somewhere/JohnSmith这种uri形式,下面把我对uri的学习坐下记录:

URI :Uniform Resource Identifier,统一资源标识符

URL:Uniform Resource Locator,统一资源定位符

URN:Uniform Resource Name,统一资源名称。

其中,URL,URN是URI的子集

在电脑术语中,统一资源标识符(Uniform Resource Identifier,或URI)是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。URI由包括确定语法和相关协议的方案所定义。

Web上可用的每种资源 -HTML文档、图像、视频片段、程序等 - 由一个通用资源标识符(Uniform Resource Identifier, 简称"URI")进行定位。

URI一般由三部分组成:

一、主机名

存放资源的自身的名称,由路径表示。

参考下面的URI,它符合当前的RFC4395规范:协议名称://域名.根域名/目录/文件名.后缀

例如http://b.c/d/e.f (假设b.c是一个可用的域名,e.f是一个标准的文件)

这个URI是这样的:这是一个可通过HTTP协议访问的资源,位于主机b.c上,通过URI中的字符串“/d”访问主机上的“d”文件夹,通过“e.f”请求访问主机上“/d/e.f”这个文件。

这是URI的另一个例子,指向一个用户的邮箱:mailto:名称@域名

注:大多数读者可能熟悉"URL",而不是URI。URL是URI命名机制的一个子集。

二、标志符

有的URI指向一个资源的内部。 这种URI以"#"结束,并跟着一个anchor标志符(称为片段标志符)。例如,下面是一个指向section_2的URI:

协议://域名/目录/文件#片段标示符(例如:/a/b.php#a)

三、相对URI

相对URI不包含任何命名规范信息。它的路径通常指同一台机器上的资源。相对URI可能含有相对路径(如,“..”表示上一层路径),还可能包含片段标志符。

为了说明相对URI,假设我们有一个基本的URI:

协议://域名/目录a/目录b/文件c

下面的链接中使用了相对URI:

../文件D

它扩展成完全的URI就是 "协议://域名/目录a/文件D",

下面是一个图像的相对URI:

<IMG src="../icons/logo.gif" alt="logo">

它扩展成完全的URI就是 "协议://域名/目录a/icons/logo.gif"。

在HTML中,URI被用来:

链接到另一个文档或资源(参看A和LINK元素)。

链接到一个外部样式表或脚本(参看LINK和SCRIPT元素)。

在页内包含图像、对象或applet(参看IMAGEOBJECTAPPLETINPUT元素)。

建立图像映射(参看MAP和AREA元素)。

提交一个表单(参看FORM)。

建立一个框架文档(参看FRAMEIFRAME元素)。

引用一个外部参考(参看Q、BLOCKQUOTE,INSDEL元素)。

指向一个描述文档的metadata(参看HEAD元素)。

 

RDF-语义网体系的基础技术

RDF(Resource Description Framework)即资源描述框架,是W3C提倡的一个数据模型,用来描述万维网上的资源及其相互间的关系。
RDF数据模型的核心包括资源(resource)、属性(property)、RDF陈述(RDF statement)等,最核心的就是三元组,资源——关系——资源,接下来简单介绍。

资源

这里的资源可以是具体的事物也可以是抽象的概念,比如书(具体)、计算机(具体)、量子力学(抽象)等。
在RDF中,每个资源拥有一个统一资源标识符(URI)来标识,URI是一个用来标识资源的字符串,它是万维网体系结构的重要组成部分。我们常用的网址叫做统一资源定位符(URL)是URI的一种。
RDF中是允许引入不包含任何URI标识的资源,被称为空白节点或匿名资源,用于表示一种存在变量,空白节点不能用URI来全局处理,所以为了区分不同的空白节点RDF解析器一般会为每个空白节点分配一个系统生成的内部名。

属性

属性用来描述资源之间的联系,比如父子、包含等,RDF中的属性同样也使用URI来标识,这使得万维网环境下全局性的标识资源以及资源间的联系成为可能。

陈述

陈述描述了某个资源特定属性及其属性值,表达为(主语、谓语、宾语)的三元组结构,RDF图是一个由RDF三元组构成的集合,可以用一个URI来标识这个RDF图,RDF三元组可以看成是“节点——边——节点”的结构,它和万维网的图结构(文档——超链接——文档)相吻合,本质上,RDF图是节点和边均带有标签的有向图结构,

RDF图

RDF图是一个由RDF三元组构成的集合,可以用一个URI来标识这个RDF图,称为具名图。词汇表通常是指在某个命名空间中的一组URI。RDF词汇表是一组以“http://www.w3.org/1999/02/22-rdf-syntax-nx#”为XML命名空间的URI

RDF的表示方法

表示方法指的是怎么存储和传输RDF数据,目前,RDF序列化的方式主要有RDF/XML,N-Triples,Turtle,RDFa,JSON-LD等几种。

 

下面直接给出一个例子看看RDF怎么写:

N-Triples表示:

<http://www.kg.com/person/2> <http://www.kg.com/ontology/chineseName> "川普"^^string.
<http://www.kg.com/person/2> <http://www.kg.com/ontology/position> "美利坚第45任总统"^^string.
<http://www.kg.com/person/2> <http://www.kg.com/ontology/wife> "梅拉尼娅-特朗普"^^string.
<http://www.kg.com/person/2> <http://www.kg.com/ontology/nation> "USA"^^string.
<http://www.kg.com/person/2> <http://www.kg.com/ontology/age> "72"^^int.
<http://www.kg.com/person/2> <http://www.kg.com/ontology/belongparty> <http://www.kg.com/Party/2018>.
<http://www.kg.com/party/2018> <http://www.kg.com/ontology/name> "republic"^^string.
<http://www.kg.com/party/2018> <http://www.kg.com/ontology/fonder> "汉尼巴尔·哈姆林"^^string.
<http://www.kg.com/party/2018> <http://www.kg.com/ontology/born> "1854"^^data.

同一个实体拥有多个属性(数据属性)或关系(对象属性),我们可以只用一个subject来表示,使其更紧凑。我们可以将上面的Triples改为:

@prefix person: <http://www.kg.com/person/> .
@prefix party: <http://www.kg.com/party/> .
@prefix : <http://www.kg.com/ontology/> .

person:1   :chineseName "川普"^^string;
           :position "美利坚第45任总统"^^string;
           :wife "梅拉尼娅-特朗普"^^string;
           :nation "USA"^^string;
           :age "72"^^int;
party:2018 :name "汉尼巴尔·哈姆林"^^string;
           :born "1854"^^data.

转自:

https://my.oschina.net/sunyouling/blog/2251600;

https://www.jianshu.com/p/9e2bfa9a5a06;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值