菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

XML 教程

XML HOME XML 简介 XML 如何使用 XML 树 XML 语法 XML 元素 XML 属性 XML 命名空间 XML 显示 XML HttpRequest XML 解析器 XML DOM XML XPath XML XSLT XML XQuery XML XLink XML 验证器 XML DTD XML Schema XML Server XML 示例 XML 测验 XML 证书

XML AJAX

AJAX Introduction AJAX XMLHttp AJAX Request AJAX Response AJAX XML File AJAX PHP AJAX ASP AJAX Database AJAX Applications AJAX Examples

XML DOM

DOM Introduction DOM Nodes DOM Accessing DOM Node Info DOM Node List DOM Traversing DOM Navigating DOM Get Values DOM Change Nodes DOM Remove Nodes DOM Replace Nodes DOM Create Nodes DOM Add Nodes DOM Clone Nodes DOM Examples

XPath 教程

XPath Introduction XPath Nodes XPath Syntax XPath Axes XPath Operators XPath Examples

XSLT 教程

XSLT Introduction XSL Languages XSLT Transform XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT Apply XSLT on the Client XSLT on the Server XSLT Edit XML XSLT Examples

XQuery 教程

XQuery Introduction XQuery Example XQuery FLWOR XQuery HTML XQuery Terms XQuery Syntax XQuery Add XQuery Select XQuery Functions

XML DTD

DTD Introduction DTD Building Blocks DTD Elements DTD Attributes DTD Elements vs Attr DTD Entities DTD Examples

XSD Schema

XSD 简介 XSD 如何操作 XSD <schema> XSD 元素 XSD 属性 XSD 限制 XSD 复杂元素 XSD 空 XSD 仅元素 XSD 仅文本 XSD 混合 XSD 指示符 XSD <any> XSD <anyAttribute> XSD 替换 XSD 示例

XSD Data Types

XSD String XSD Date/Time XSD Numeric XSD Misc XSD Reference

Web Services

XML Services XML WSDL XML SOAP XML RDF XML RSS

参考手册

DOM 节点类型 DOM 节点 DOM NodeList DOM NamedNodeMap DOM Document DOM Element DOM Attribute DOM Text DOM CDATA DOM Comment DOM XMLHttpRequest DOM Parser XSLT 元素 XSLT/XPath 函数

XML RDF


RDF 文档示例

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="https://w3schools.org.cn/rdf/">

<rdf:Description rdf:about="https://w3schools.org.cn">
  <si:title>W3Schools</si:title>
  <si:author>Jan Egil Refsnes</si:author>
</rdf:Description>

</rdf:RDF>

什么是 RDF?

  • RDF 代表 Resource Description Framework(资源描述框架)
  • RDF 是一个用于描述 Web 上资源的框架
  • RDF 被设计成供计算机阅读和理解
  • RDF 不适合显示给人们看
  • RDF 是用 XML 编写的
  • RDF 是 W3C 语义网活动的一部分
  • RDF 是 W3C 于 2004 年 2 月 10 日发布的推荐标准

RDF - 使用示例

  • 描述购物商品的属性,例如价格和可用性
  • 描述 Web 事件的时间表
  • 描述 Web 页面的信息(内容、作者、创建和修改日期)
  • 描述 Web 图片的内容和评分
  • 为搜索引擎描述内容
  • 描述电子图书馆

RDF 被设计成供计算机阅读

RDF 被设计成提供一种通用的信息描述方式,以便计算机应用程序能够阅读和理解。

RDF 描述不适合在 Web 上显示。



RDF 是用 XML 编写的

RDF 文档是用 XML 编写的。RDF 使用的 XML 语言称为 RDF/XML。

通过使用 XML,RDF 信息可以在不同类型的计算机之间轻松交换,这些计算机使用不同类型的操作系统和应用程序语言。


RDF 和“语义网”

RDF 语言是 W3C 语义网活动的一部分。W3C 的“语义网愿景”是一个未来,其中

  • Web 信息具有精确的含义
  • Web 信息可以被计算机理解和处理
  • 计算机可以整合 Web 上的信息

RDF 使用 Web 标识符(URI)来标识资源。

RDF 使用属性和属性值来描述资源。


RDF 资源、属性和属性值

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

资源、属性和属性值的解释

  • Resource(资源)是任何可以具有 URI 的事物,例如“https://w3schools.org.cn/rdf”
  • Property(属性)是一个具有名称的资源,例如“author”或“homepage”
  • Property value(属性值)是属性的值,例如“Jan Egil Refsnes”或“https://w3schools.org.cn”(请注意,属性值可以是另一个资源)

下面的 RDF 文档可以描述资源“https://w3schools.org.cn/rdf”

<?xml version="1.0"?>

<RDF>
  <Description about="https://w3schools.org.cn/rdf">
    <author>Jan Egil Refsnes</author>
    <homepage>https://w3schools.org.cn</homepage>
  </Description>
</RDF>

上面的示例是简化的。省略了命名空间。


RDF 语句

资源、属性和属性值的组合形成一个Statement(语句),也称为subject(主语)、predicate(谓语)和object(宾语)。

让我们看一些示例语句以更好地理解

语句:“https://w3schools.org.cn/rdf 的作者是 Jan Egil Refsnes”。

  • 上面语句的主语是:https://w3schools.org.cn/rdf
  • 谓语是:author
  • 宾语是:Jan Egil Refsnes

语句:“https://w3schools.org.cn/rdf 的主页是 https://w3schools.org.cn”。

  • 上面语句的主语是:https://w3schools.org.cn/rdf
  • 谓语是:homepage
  • 宾语是:https://w3schools.org.cn

RDF 示例

这是 CD 列表中的两个记录

Title(标题) Artist(艺术家) Country Company(公司) Price Year(年份)
Empire Burlesque Bob Dylan USA Columbia 10.90 1985
Hide your heart Bonnie Tyler UK CBS Records 9.90 1988

下面是 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>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:rdf 命名空间指定了带有 rdf 前缀的元素来自命名空间“http://www.w3.org/1999/02/22-rdf-syntax-ns#”。

xmlns:cd 命名空间指定了带有 cd 前缀的元素来自命名空间“http://www.recshop.fake/cd#”。

<rdf:Description> 元素包含由 rdf:about 属性标识的资源的描述。

元素:<cd:artist>, <cd:country>, <cd:company>, 等等是资源的属性。


RDF 在线验证器

W3C 的 RDF 验证服务在学习 RDF 时非常有用。您可以在这里尝试 RDF 文件。

在线 RDF 验证器解析您的 RDF 文档,检查您的语法,并生成您的 RDF 文档的表格视图和图形视图。

将下面的示例复制并粘贴到 W3C 的 RDF 验证器中

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="https://w3schools.org.cn/rdf/">
<rdf:Description rdf:about="https://w3schools.org.cn">
  <si:title>W3Schools.com</si:title>
  <si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</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 属性标识资源。

<rdf:Description> 元素包含描述资源的元素

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

元素 artist、country、company、price 和 year 在 http://www.recshop.fake/cd# 命名空间中定义。这个命名空间在 RDF 之外(不是 RDF 的一部分)。RDF 只定义了框架。artist、country、company、price 和 year 这些元素必须由其他人(公司、组织、个人等)定义。


属性作为属性

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

<?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: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: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/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: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/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: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/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: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>

RDF Schema 和应用程序类

RDF Schema (RDFS) 是 RDF 的扩展。

RDF 使用类、属性和值来描述资源。

此外,RDF 还需要一种方法来定义应用程序特定的类和属性。应用程序特定的类和属性必须使用 RDF 的扩展来定义。

其中一个扩展是 RDF Schema。


RDF Schema (RDFS)

RDF Schema 不提供实际的应用程序特定类和属性。

相反,RDF Schema 提供了描述应用程序特定类和属性的框架。

RDF Schema 中的类非常类似于面向对象编程语言中的类。这允许将资源定义为类的实例,以及类的子类。


RDFS 示例

下面的示例演示了一些 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”的子类。


示例缩写

由于 RDFS 类是 RDF 资源,我们可以使用 rdfs:Class 代替 rdf:Description 来缩写上面的示例,并删除 rdf:type 信息

<?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#">

<rdfs:Class rdf:ID="animal" />

<rdfs:Class rdf:ID="horse">
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>

</rdf:RDF>

就是这样!


Dublin Core

Dublin Core 元数据倡议 (DCMI) 创建了一些预定义的属性来描述文档。

RDF 是元数据(关于数据的数据)。RDF 用于描述信息资源。

Dublin Core 是一组预定义的属性,用于描述文档。

最初的 Dublin Core 属性是在 1995 年于俄亥俄州都柏林的元数据研讨会上定义的,目前由 Dublin Core 元数据倡议维护。

属性 Definition(定义)
Contributor(贡献者) 对资源内容做出贡献的实体
Coverage(覆盖范围) 资源的文本范围或范围
Creator(创建者) 主要负责资源内容制作的实体
格式 资源的物理或数字表现形式
Date 资源生命周期中的一个事件日期
描述 对资源内容的说明
Identifier(标识符) 在给定上下文中对资源的明确引用
Language(语言) 资源的智力内容的语言
Publisher(发布者) 负责使资源可用的实体
Relation(相关性) 对相关资源的引用
Rights(权利) 有关资源所拥有和持有的信息
Source(来源) 对当前资源派生出的资源进行引用
主题 资源的某主题
Title(标题) 给资源起的名称
类型 资源的性质或类型

快速浏览上表表明 RDF 非常适合表示 Dublin Core 信息。


RDF 示例

以下示例演示了在 RDF 文档中使用一些 Dublin Core 属性

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc= "http://purl.org/dc/elements/1.1/">

<rdf:Description rdf:about="https://w3schools.org.cn">
  <dc:description>W3Schools - 免费教程</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>

RDF 参考

RDF 命名空间 (xmlns:rdf) 是:http://www.w3.org/1999/02/22-rdf-syntax-ns#

RDFS 命名空间 (xmlns:rdfs ) 是:http://www.w3.org/2000/01/rdf-schema#

RDF 文件的推荐文件扩展名是 .rdf。但是,通常使用扩展名 .xml 来提供与旧 XML 解析器的兼容性。

MIME 类型应为 "application/rdf+xml"


RDFS / RDF 类

元素 Class of(类别) Subclass of(子类)
rdfs:Class 所有类  
rdfs:Datatype 数据类型
rdfs:Resource 所有资源
rdfs:Container 容器 资源 (Resource)
rdfs:Literal 字面值(文本和数字) 资源 (Resource)
rdf:List 列表 资源 (Resource)
rdf:Property 属性 资源 (Resource)
rdf:Statement Statements 资源 (Resource)
rdf:Alt 替代项的容器 Container(容器)
rdf:Bag 无序容器 Container(容器)
rdf:Seq 有序容器 Container(容器)
rdfs:ContainerMembershipProperty 容器成员属性 属性
rdf:XMLLiteral XML 字面值 Literal(字面值)

RDFS / RDF 属性

元素 Domain(定义域) 范围 描述
rdfs:domain 属性 资源的定义域
rdfs:range 属性 资源的范围
rdfs:subPropertyOf 属性 属性 该属性是一个属性的子属性
rdfs:subClassOf 该资源是一个类的子类
rdfs:comment 资源 (Resource) Literal(字面值) 资源的易读描述
rdfs:label 资源 (Resource) Literal(字面值) 资源的易读标签(名称)
rdfs:isDefinedBy 资源 (Resource) 资源 (Resource) 资源的定义
rdfs:seeAlso 资源 (Resource) 资源 (Resource) 资源的附加信息
rdfs:member 资源 (Resource) 资源 (Resource) 资源的成员
rdf:first List(列表) 资源 (Resource)  
rdf:rest List(列表) List(列表)  
rdf:subject 语句 资源 (Resource) RDF 语句中资源的 the subject(主语)
rdf:predicate 语句 资源 (Resource) RDF 语句中资源的 the predicate(谓语)
rdf:object 语句 资源 (Resource) RDF 语句中资源的 the object(宾语)
rdf:value 资源 (Resource) 资源 (Resource) 用于值的属性
rdf:type 资源 (Resource) 该资源是一个类的实例

RDF 属性

Attribute 描述
rdf:about 定义要描述的资源
rdf:Description 资源描述的容器
rdf:resource 定义一个资源来标识一个属性
rdf:datatype 定义元素的 V数据类型
rdf:ID 定义元素的 ID
rdf:li 定义一个列表
rdf:_n 定义一个节点
rdf:nodeID 定义元素节点的 ID
rdf:parseType 定义如何解析元素
rdf:RDF RDF 文档的根
xml:base 定义 XML 基
xml:lang 定义元素内容的语言

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持