RDF-资源描述框架

1. 什么是RDF

REF是用于描述web资源的w3c标准,使用xml编写

2. RDF规则

RDF使用web标识符来标识事物,并通过属性和属性值来描述资源

  • 资源:可拥有URI的任何事物(可在web中被标识的数据)
  • 属性:拥有名称的资源
  • 属性值:某个属性的取值

eg:

<?xml version="1.0"?>

<RDF>
  <Description about="https://www.runoob.com//rdf">
    <author>Jan Egil Refsnes</author>
    <homepage>https://www.runoob.com/</homepage>
  </Description>
</RDF>

该示例描述了一个资源https://www.runoob.com//rdf
该资源所被描述的内容即为其属性authorhomepage,其值被包含在标签中

假如某个URIhttp://www.recshop.fake/cd#之下有两个资源如下所示

标题艺术家国家公司价格年份
Empire BurlesqueBob DylanUSAColumbia10.901985
Hide your heartBonnie TylerUKCBS Records9.901988

以上两个资源所对应的RDF描述则如下所示

<?xml version="1.0"?>
<!-- 第一行为xml声明 -->

<!-- 然后紧跟着 rdf:RDF RDF文档的根元素 -->
<!-- xmlns:rdf 指明了带有rdf前缀的元素所来自的命名空间 -->
<!-- xmlns:cd 指明了带有cd前缀的元素所来自的命名空间 -->
<rdf:RDF   
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<!-- rdf:Description 元素包含了对于 rdf:about所标识的资源的描述 -->
<!-- 其内部的元素均为属性名包含属性值的形式 -->
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Hide your heart">
  <cd:artist>Bonnie Tyler</cd:artist>
  <cd:country>UK</cd:country>
  <cd:company>CBS Records</cd:company>
  <cd:price>9.90</cd:price>
  <cd:year>1988</cd:year>
</rdf:Description>
.
.
.
</rdf:RDF>
3. RDF元素
  • <rdf:RDF>: RDF文档的根元素,将xml文档定义为RDF文档,该元素包含了对于RDF命名空间的引用
  • <rdf:Description>: 该元素通过其about属性标识要描述的资源,其内部包含要描述的资源的元素
  • 属性:属性元素即为rdf所要描述的内容,该部分可以作为<rdf:Description>自闭和标签的内部属性,也可以由一对闭合的<rdf:Description>标签包含作为子标签,同时也可以使用其他rdf资源作为其值

eg:

<!-- 上个示例为子标签包含 -->
<!-- 本实例为作为属性值 -->
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque"
cd:artist="Bob Dylan" cd:country="USA"
cd:company="Columbia" cd:price="10.90"
cd:year="1985" />
<!-- 使用其他rdf资源作为值 -->
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist rdf:resource="http://www.recshop.fake/cd/dylan" />
  ...
  ...
</rdf:Description>
4. RDF容器

RDF容器用于描述一组事物,例如所描述的资源的某个属性有着多个值

  • <rdf:Bag>:该元素用于描述一个规定为无序的值的列表,可包含重复的元素
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:artist>
    <rdf:Bag>
      <rdf:li>John</rdf:li>
      <rdf:li>Paul</rdf:li>
      <rdf:li>George</rdf:li>
      <rdf:li>Ringo</rdf:li>
    </rdf:Bag>
  </cd:artist>
</rdf:Description>
  • <rdf:Seq>:该元素用于描述一个规定为有序的值的列表,可包含重复的值
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:artist>
    <rdf:Seq>
      <rdf:li>George</rdf:li>
      <rdf:li>John</rdf:li>
      <rdf:li>Paul</rdf:li>
      <rdf:li>Ringo</rdf:li>
    </rdf:Seq>
  </cd:artist>
</rdf:Description>
  • <rdf:Alt>:该元素用于描述一个可替换的值的列表(用户只能选择列出的值中的一个)
<rdf:Descriptio
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:format>
    <rdf:Alt>
      <rdf:li>CD</rdf:li>
      <rdf:li>Record</rdf:li>
      <rdf:li>Tape</rdf:li>
    </rdf:Alt>
  </cd:format>
</rdf:Descriptio>
5. RDF集合

RDF容器规定了所包含的资源为成员,但没有规定其他成员是不被允许的
而RDF集合则用于描述仅包含指定成员的组,其他成员是不被允许的

集合通过rdf:parseType="Collection来描述

<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>
6. RDF Schema (RDFS)

RDFS是对RDF的一种扩展

RDF通过类,属性和值来描述资源,此外还需要一种定义应用程序的专业的类和属性的方法,RDFS就是这样一种扩展

<?xml version="1.0"?>

<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>

horse是animal的子类

都柏林核心元数据倡议

一套供描述文档的预定义属性

属性定义
Contributor一个负责为资源内容作出贡献的实体(如作者)。
Coverage资源内容的氛围或作用域
Creator一个主要负责创建资源内容的实体。
Format物理或数字的资源表现形式。
Date在资源生命周期中某事件的日期。
Description对资源内容的说明。
Identifier一个对在给定上下文中的资源的明确引用
Language资源智力内容所用的语言。
Publisher一个负责使得资源内容可用的实体
Relation一个对某个相关资源的引用
Rights有关保留在资源之内和之上的权利的信息
Source一个对作为目前资源的来源的资源引用。
Subject一个资源内容的主题
Title一个给资源起的名称
Type资源内容的种类或类型。
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值