当前位置: 首页 > news >正文

资源描述框架的用途及实际应用解析

什么是RDF?

RDF代表 资源描述框架
RDF是用于描述网络资源的框架
RDF旨在被计算机阅读和理解
RDF并非设计用于供人阅读
RDF以 XML 编写

示例

  • 描述购物商品的属性,如价格和可用性
  • 描述网络活动的时间表
  • 描述网页的信息(内容,作者,创建和修改日期)
  • 描述网络图片的内容和评级
  • 为搜索引擎描述内容
  • 描述电子图书馆

RDF旨在提供一种通用的描述信息的方式,以便计算机应用程序可以阅读和理解。RDF描述并不是设计用于在网络上显示。RDF文档以XML编写。 RDF使用的XML语言称为RDF/XML。通过使用XML,可以轻松地在使用不同类型的操作系统和应用程序语言的不同类型的计算机之间交换RDF信息。

RDF与“语义网络”

  • 网络信息具有确切的含义
  • 网络信息可以被计算机理解和处理
  • 计算机可以集成来自网络的信息

RDF使用Web标识符(URI)来标识资源。 RDF使用属性和属性值描述资源。RDF资源,属性和属性值RDF使用Web标识符(URI)标识事物,并使用属性和属性值描述资源。

RDF语句

资源,属性和属性值的组合形成语句(称为语句的主题,谓词和宾语)

RDF示例

以下是来自CD列表的两个记录:

标题艺术家国家公司价格年份
帝国脱衣舞Bob Dylan美国哥伦比亚10.901985
隐藏你的心Bonnie Tyler英国CBS Records9.901988

以下是RDF文档中的几行:

<?xml version="1.0"?>
<rdf:RDF
xmlns:cd="http://www.recshop.fake/cd#">
<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>

RDF文档的第一行是XML声明。 XML声明后面是RDF文档的根元素:rdf:RDF。xmlns:cd命名空间指定了带有cd前缀的元素来自命名空间“http://www.recshop.fake/cd#”。rdf:Description元素包含了由rdf:about属性标识的资源的描述。元素:cd:artist,cd:country,cd:company等是资源的属性RDF文档,检查您的语法,并生成您的RDF文档的表格和图形视图。

RDF元素
RDF的主要元素是根元素 <RDF><Description> 元素,它标识了一个资源。

<rdf:RDF> 元素
<rdf:RDF> 是RDF文档的根元素。 它定义XML文档为RDF文档。 它还包含对RDF命名空间的引用:

<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">...描述放在这里...
</rdf:RDF>

<rdf:Description> 元素
<rdf:Description> 元素使用 about 属性标识一个资源。

<?xml version="1.0"?>
<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="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:RDF>

元素 artistcountrycompanypriceyearhttp://www.recshop.fake/cd# 命名空间中定义。 此命名空间位于RDF之外(不是RDF的一部分)。 元素 artistcountrycompanypriceyear 必须由其他人(公司,组织,个人等)定义。

属性作为属性
属性元素也可以定义为属性(而不是元素):

<?xml version="1.0"?>
<rdf:RDF
xmlns:cd="http://www.recshop.fake/cd#"><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>

属性作为资源,属性元素也可以定义为资源:

<?xml version="1.0"?>
<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="http://www.recshop.fake/cd/Empire Burlesque"><cd:artist rdf:resource="http://www.recshop.fake/cd/dylan" />......
</rdf:Description></rdf:RDF>

在上面的示例中,属性 artist 没有值,但是有一个对包含有关艺术家信息的资源的引用。

RDF 容器

RDF容器用于描述一组事物。以下RDF元素用于描述组:<Bag><Seq><Alt>

<rdf:Bag> 元素

<rdf:Bag> 元素用于描述一个值列表,这些值不必按特定顺序排列。

<rdf:Bag> 元素可以包含重复值。

示例

<?xml version="1.0"?><rdf:RDF
xmlns:cd="http://www.recshop.fake/cd#"><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:RDF>

<rdf:Seq> 元素

<rdf:Seq> 元素用于描述一个有序的值列表(例如,按字母顺序)。

<rdf:Seq> 元素可以包含重复值

示例

<?xml version="1.0"?><rdf:RDF
xmlns:cd="http://www.recshop.fake/cd#"><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:RDF>

<rdf:Alt> 元素

<rdf:Alt>元素用于描述备选值列表(用户只能选择其中一个值)。

示例

<?xml version="1.0"?><rdf:RDF
xmlns:cd="http://www.recshop.fake/cd#"><rdf:Description
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:Description></rdf:RDF>

RDF 术语

在上述示例中,当描述容器元素时,我们提到了值列表。在RDF中,这些值列表被称为成员。因此,我们有以下内容:

  • 容器是包含事物的资源
  • 所包含的事物称为成员(而不是值列表)

RDF集合

RDF 集合描述只能包含指定成员的组。

rdf:parseType="Collection" 属性

容器说明包含的资源是成员,但并未规定其他成员不允许存在。

RDF 集合用于描述只能包含指定成员的组。

通过属性 rdf:parseType="Collection" 描述集合。

示例

<?xml version="1.0"?><rdf:RDF
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>

RDF 模式和应用类

RDF 模式(RDFS)是对 RDF 的扩展。RDF 用类、属性和值描述资源。此外,RDF 还需要一种方法来定义特定于应用程序的类和属性。必须使用 RDF 的扩展来定义特定于应用程序的类和属性。

RDF 模式(RDFS)

RDF 模式不提供实际的特定于应用程序的类和属性。相反,RDF 模式提供了描述特定于应用程序的类和属性的框架。RDF 模式中的类与面向对象编程语言中的类非常相似。这允许资源被定义为类的实例,并且类的子类。

RDFS 示例

以下示例演示了一些 RDFS 功能:

<?xml version="1.0"?><rdf:RDF
xml:base="http://www.animals.fake/animals#"><rdf:Description rdf:ID="animal">
</rdf:Description><rdf:Description rdf:ID="horse"><rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description></rdf:RDF>

在上面的示例中,“horse”资源是“animal”类的子类。

示例简写

由于 RDFS 类是 RDF 资源,我们可以简化上面的示例,使用 rdfs:Class 代替 rdf:Description,并且省略 rdf:type 信息:

<?xml version="1.0"?><rdf:RDF
xml:base="http://www.animals.fake/animals#"><rdfs:Class rdf:ID="animal" /><rdfs:Class rdf:ID="horse"><rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class></rdf:RDF>

达布林核心

达布林核心元数据倡议(DCMI)已经创建了一些预定义属性来描述文档。RDF 是元数据(关于数据的数据)。RDF 用于描述信息资源。达布林核心是一组用于描述文档的预定义属性。第一个达布林核心属性是在 1995 年在俄亥俄州达布林的元数据研讨会上定义的,目前由达布林核心元数据倡议维护。

属性定义
Contributor对资源内容做出贡献的实体
Coverage资源内容的范围或覆盖范围
Creator对资源内容负主要责任的实体
Format资源的物理或数字表示
Date资源生命周期中的事件日期
Description资源内容的说明
Identifier在给定上下文中对资源的明确引用
Language资源的知识内容语言
Publisher使资源可用的实体
Relation到相关资源的引用
Rights资源所拥有的和持有的权利信息
Source当前资源的来源参考
Subject资源内容的主题
Title资源的名称
Type资源内容的性质或类型

快速查看上面的表格表明,RDF 非常适合表示达布林核心信息。

RDF 示例

以下示例演示了 RDF 文档中一些达布林核心属性的使用:

<?xml version="1.0"?><rdf:RDF><rdf:Description rdf:about="http://example.org/resource"><dc:description>W3Schools - Free tutorials</dc:description><dc:publisher>Refsnes Data as</dc:publisher><dc:date>2008-09-01</dc:date><dc:type>Web Development</dc:type><dc:format>text/html</dc:format><dc:language>en</dc:language></rdf:Description>
</rdf:RDF>

RDFS / RDF 类

元素子类
rdfs:Class所有类
rdfs:Datatype数据类型
rdfs:Resource所有资源
rdfs:Container容器资源
rdfs:Literal文字和数字的文字值资源
rdf:List列表资源
rdf:Property属性资源
rdf:Statement声明资源
rdf:Alt备选项容器容器
rdf:Bag无序容器容器
rdf:Seq有序容器容器
rdfs:ContainerMembershipProperty容器成员属性属性
rdf:XMLLiteralXML 文字值文字

RDFS / RDF 属性

元素范围描述
rdfs:domain属性资源的域
rdfs:range属性资源的范围
rdfs:subPropertyOf属性属性属性的子属性
rdfs:subClassOf资源是类的子类
rdfs:comment资源文字资源的人类可读描述
rdfs:label资源文字资源的人类可读标签(名称)
rdfs:isDefinedBy资源资源资源的定义
rdfs:seeAlso资源资源关于资源的额外信息
rdfs:member资源资源资源的成员
rdf:first列表资源
rdf:rest列表列表
rdf:subject声明资源资源在 RDF 声明中的主题
rdf:predicate声明资源资源在 RDF 声明中的谓词
rdf:object声明资源资源在 RDF 声明中的对象
rdf:value资源资源用于值的属性
rdf:type资源资源是类的实例

RDF 属性

属性描述
rdf:about定义正在描述的资源
rdf:Description资源描述的容器
rdf:resource定义要

识别属性的资源

| rdf:datatype | 定义元素的数据类型 |
| rdf:ID | 定义元素的 ID |
| rdf:li | 定义一个列表 |
| rdf:_n | 定义一个节点 |
| rdf:nodeID | 定义元素节点的 ID |
| rdf:parseType | 定义应如何解析元素 |
| rdf:RDF | RDF 文档的根 |
| xml:base | 定义 XML 基础 |
| xml:lang | 定义元素内容的语言 |

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

相关文章:

资源描述框架的用途及实际应用解析

什么是RDF&#xff1f; RDF代表 资源描述框架 RDF是用于描述网络资源的框架 RDF旨在被计算机阅读和理解 RDF并非设计用于供人阅读 RDF以 XML 编写 示例 描述购物商品的属性&#xff0c;如价格和可用性描述网络活动的时间表描述网页的信息&#xff08;内容&#xff0c;作者&a…...

工业级物联网边缘网关解决方案-天拓四方

随着工业4.0时代的到来&#xff0c;越来越多的企业开始寻求智能化升级&#xff0c;以提高生产效率、降低运营成本并增强市场竞争力。然而&#xff0c;在实际的转型升级过程中&#xff0c;许多企业面临着数据孤岛、设备兼容性差、网络安全风险高等问题&#xff0c;这些问题严重制…...

认识微服务,认识Spring Cloud

1. 介绍 本博客探讨的内容如下所示 什么是微服务&#xff1f;什么是springcloud&#xff1f;微服务和springcloud有什么关系&#xff1f; 首先&#xff0c;没有在接触springcloud之前&#xff0c;我写的项目都是单体结构&#xff0c; 但随着网站的用户量越来越大&#xff0c;…...

电脑设置密码怎么设置?让你的电脑更安全!

在如今信息化的社会中&#xff0c;保护个人电脑的安全至关重要。设置密码是最基本的电脑安全措施之一&#xff0c;它可以有效防止未经授权的访问和保护个人隐私&#xff0c;可是电脑设置密码怎么设置&#xff1f;本文将介绍三种设置电脑密码的方法&#xff0c;帮助您加强电脑的…...

搜维尔科技:SenseGlove Nova2使用主动接触反馈来模拟手掌的感觉,结合力反馈和振动触觉反馈,使其成为市场上第一款具有手掌反馈的无线触觉手套

SenseGlove Nova2使用主动接触反馈来模拟手掌的感觉&#xff0c;结合力反馈和振动触觉反馈&#xff0c;使其成为市场上第一款具有手掌反馈的无线触觉手套。 搜维尔科技&#xff1a;SenseGlove Nova2使用主动接触反馈来模拟手掌的感觉&#xff0c;结合力反馈和振动触觉反馈&…...

基于Python的实验室管理系统的设计与实现(论文+源码)_kaic

摘 要 随着实验室设备越来越多&#xff0c;实验室及其设备管理工作变得越来越繁重&#xff0c;还存在些管理模式仍旧处于手工管理模式和一些抢占实验室的不文明现象&#xff0c;传统的手工模式已经满足不了日益增长的管理需求&#xff0c;而本系统摒弃传统模式&#xff0c;开启…...

Windows系统WDS+MDT网络启动自动化安装

Windows系统WDS+MDT网络启动自动化安装 适用于在Windows系统上WDS+MDT网络启动自动化安装 1. 安装准备 1.下载windows server 2019、windows 10 pro的ISO文件,并安装好windows server 2019 2.下载windows 10 2004版ADK及镜像包 1.1 安装平台 Windows 111.2. 软件信息 软件…...

Apple开发者证书创建完整过程

1.创建CSR文件: 打开钥匙串访问程序 选择从证书颁发机构请求 创建证书 保存CSR文件到桌面 成功如下: 开始创建证书: 选择...

for深入学习

目录 练习&#xff1a; 例1&#xff1a; 求解0-100中整除3的数有哪些 例2&#xff1a; 求0-100中含数字9个个数 作业&#xff1a; 练习&#xff1a; 例1&#xff1a; 求解0-100中整除3的数有哪些 代码&#xff1a; #include<stdio.h> int main() {printf("整…...

引用(C++)和内联函数

前言&#xff1a;本文主要讲解C语法中引用如何使用和使用时的一些技巧 基本语法 引用就是取别名 #include <iostream> using namespace std; int main() {int a 10;int& b a;//给a取别名为bcout << a << endl;cout << b << endl;return 0…...

【stm32/CubeMX、HAL库】swjtu嵌入式实验七 ADC 实验

相关电路与IO引脚 注意&#xff1a;串口打印重定向后使用printf打印需要在keil里勾选 Use MicroLIB &#xff0c;否则会卡住。 参看&#xff1a;https://zhuanlan.zhihu.com/p/565613666 串口重定向&#xff1a; /* USER CODE BEGIN Includes */#include <stdio.h>//…...

springboot 解耦、隔离、异步的原则以及实战

在Spring Boot中实现解耦、隔离和异步的原则,能够提升应用程序的可维护性、可扩展性和性能。下面我会先介绍这三个原则的基本概念和意义,然后通过实战示例展示如何在Spring Boot应用中应用这些原则。 解耦 解耦是减少或消除应用程序组件之间依赖关系的过程,以提高模块的独…...

设计模式详解(八):外观模式——Facade

目录导航 什么是外观模式现实生活类比实战示例门面模式的好处门面模式源码举例 什么是外观模式 外观模式的英文名是Facade&#xff0c;意思是the front of a building&#xff0c;即建筑物的正面&#xff08;门面&#xff09;&#xff0c;我个人更喜欢翻译成门面模式。门面模式…...

R语言绘图 | 双Y轴截断图

教程原文&#xff1a;双Y轴截断图绘制教程 本期教程 本期教程&#xff0c;我们提供的原文的译文&#xff0c;若有需求请回复关键词&#xff1a;20240529 小杜的生信笔记&#xff0c;自2021年11月开始做的知识分享&#xff0c;主要内容是R语言绘图教程、转录组上游分析、转录组…...

使用PNP管控制MCU是否需要复位

这两台用到一款芯片带电池&#xff0c;希望电池还有电芯片在工作的时候插入电源不要给芯片复位&#xff0c;当电池没电&#xff0c;芯片不在工作的时候&#xff0c;插入电源给芯片复位所以使用一个PNP三极管&#xff0c;通过芯片IO控制是否打开复位&#xff0c;当芯片正常工作的…...

二重,三重积分和曲面,曲线积分的关系和区别

这是我在学习完曲面曲线积分概念后容易和二重三重积分混淆而大概总结和区分了一下&#xff0c;如果有错误请大佬指出&#xff0c;多谢&#xff01;&#xff01;&#xff01;...

处理STM32 DMA方式下的HAL_UART_ERROR_ORE错误

1. 检查并调整DMA和UART配置 确保初始化顺序&#xff1a;需要确保USART的CR寄存器UE位开关留到最后打开&#xff0c;即完成USART和DMA的所有配置初始化后再使能USART。这样可以避免初始化顺序不当导致的通信问题。配置合适的DMA缓冲区&#xff1a;确保DMA缓冲区足够大&#xf…...

初学者如何对大模型进行微调?

粗略地说&#xff0c;大模型训练有四个主要阶段&#xff1a;预训练、有监督微调、奖励建模、强化学习。 预训练消耗的时间占据了整个训练pipeline的99%&#xff0c;其他三个阶段是微调阶段&#xff0c;更多地遵循少量 GPU 和数小时或数天的路线。预训练对于算力和数据的要求非…...

【Qt知识】disconnect

在Qt框架中&#xff0c;disconnect函数用于断开信号与槽之间的连接。当不再需要某个信号触发特定槽函数时&#xff0c;或者为了防止内存泄漏和重复执行问题&#xff0c;你可以使用disconnect来取消这种关联。disconnect函数的基本用法可以根据不同的需求采用多种形式&#xff0…...

String,StringBuffer,StringBuilder的区别?

String是不可变的&#xff0c;StringBuffer和StringBuilder是可变的。StringBuffer是线程安全的&#xff0c;StringBuilder是非线程安全的。 String的 是如何实现的 使用拼接字符串&#xff0c;其实只是Java提供的一个语法糖。 其实String的 底层是new 了一个StringBuilde…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...