RDFa介绍——构建更友好的web页面

作者:rainaxin 时间:2009-09-19 17:01:00 

看着这个题目可能大家会有点陌生,不知道是什么,说的直白一点,RDFa就是让你的页面更好的被机器所理解,而不简简单单是展示你的页面,下面就关于此对什么是RDFa做个简单介绍。

背景

为什么会出现RDFa这个东西呢?

现在的互联网主要是为人类的使用而创造的,虽然机器可读的数据是互联网上最先出现的,但是这些机器可读的数据一般是以单独的文件和单独的格式被发布在互联网上的,机器可读的和人类可读的数据之间的关联是相当少的。结果就是现在的浏览器在解析和处理web数据上的能力很差,因为浏览器只负责展示这些信息。

但是浏览器能够识别这些数据又有什么用呢?

用处多了,如果浏览器可以很好的识别这些数据,它就会形成一个固有的数据结构,而如果将这些数据结构加里利用,那我们就不需要记录一些信息都是通过无数次的ctrl+c和ctrl+V来完成了,一键操作就很方便了,而对于搜索引擎来说,就是更好的搜索结果展示以及更强大的数据挖掘能力了。

所以基于这个目的,RDFa出现了,就是为了达成我们的这个目的,它的全称是“Resource Description Framework in attributes”,其实从它名字的全称就可以获取到很多信息了,呵呵。

RDFa介绍:

提到了为什么会出现RDFa这个东西,那什么是RDFa呢,主要体现在下面几点:

  • 连接机器与Web数据之间的一座桥梁

  • 通过为一些可视化的数据提供一系列的XHML属性而使得这些数据可以被机器所理解。

  • 基于XHTML+RDFaDTD

而与我们平时做的页面相比,使用RDFa技术的时候,它的头部doctype是这样定义的:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML+RDFa 1.0//EN”
 "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

上面的这种是基于XHTML的,主要是因为此标签的可扩展性,可以使得RDFa更好的嵌入,但是虽然html无法有这么好的扩展,但是仍然有针对它的标准,定义如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML4+RDFa 1.0//EN" 
http://www.w3.org/MarkUp/DTD/html4-rdfa-1.dtd>

而对于html来说,唯一需要解决的问题就是对名字空间缺乏的问题。

优势

  • 增强的搜索功能

  • Publisher Independence

  • 数据再利用性

  • 自我控制

  • 模块化架构

  • 可提升可访问性

实现原理

在实现主要是通过引入名字空间的方法在已有的标签中加入RDFa相应的属性来使得支持RDFa技术的浏览器或者搜索引擎可以解析到,从而达到优化的目的,就通过一段简单的代码做实例吧:

<div xmlns:dc="http://purl.org/dc/elements/1.1/" about="http://www.example.com/books/wikinomics">
    <span property="dc:title">Wikinomics</span>
    <span property="dc:creator">Mr right</span>
    <span property="dc:date">2006-09-02</span>
</div>

在上面的代码示例中主要用到了RDFa属性中的about属性和property属性,这段代码示例说明了一篇文章,然后描述了和这篇文章相关的信息,比如说标题,创建者和创建日期,而这些属性就可以使得支持RDFa的机器识别,从而形成跟我们人类所理解的那种结构的一个体系,达到我们的目的。

而我们要做的就是在我们了解这个网络的同时,我们也要让机器跟我们一样懂。

前景:

  • W3C刚出不久的一个标准(2008/10/14)

  • 目前firefox已经有了针对RDFa的插件,可以对使用RDFa的页面进行解析。

  • Google已经在今年的5月12日发布支持RDFa以及微格式的宣言。

  • 而在Google之前,yahoo已经支持了RDFa了,而且目前已经有相应的优化页面。

通过这些我们可以看出,RDFa的前景还是很不错,如果某一天真的浏览器也支持了,那我们的互联网上将会出现一种新的局面,期待中,大家有什么问题,也可以一起探讨。

原文:http://www.rainaxin.com/2009/08/technology-share-about-rdfa/

标签:RDFa,web,页面,属性
0
投稿

猜你喜欢

  • 分享我们的select控件设计过程

    2009-06-16 18:04:00
  • asp如何直接调用后台存储过程?

    2010-06-28 18:27:00
  • AJAX初体验之上手篇

    2007-08-23 08:50:00
  • javascript new fun的执行过程

    2010-08-05 21:23:00
  • 教你精确编写高质量高性能的MySQL语法

    2009-01-14 12:57:00
  • 记一次成功的sql注入入侵检测附带sql性能优化

    2011-09-30 11:29:39
  • PHP设计模式之迭代器模式浅析

    2023-05-25 11:26:26
  • 关于xmlhttp乱码的解决方法

    2008-09-24 17:20:00
  • MySQL安全问题的一点心得

    2009-01-07 16:13:00
  • Linux PHP连接MSSQL

    2011-06-02 12:01:00
  • MySQL 5.0 数据库新特性的存储过程

    2007-10-24 19:45:00
  • 兼容IE和FF的收藏本站、设为首页代码

    2009-01-07 14:14:00
  • 用SQL语句完成SQL Server数据库的修复

    2008-11-24 20:49:00
  • 布局篇(1)—If you love css …

    2008-04-16 14:14:00
  • asp学习入门基本语法知识

    2007-11-07 14:02:00
  • MySQL的一些安全注意点

    2008-12-24 16:29:00
  • 从算法入手讲解SQL Server的典型示例

    2008-12-18 14:51:00
  • 加密处理使密码更安全[CFS编码加密]

    2008-03-19 13:30:00
  • ASP 支持中文的len(),left(),right()的函数代码

    2011-03-03 10:59:00
  • 怎样在MySQL数据库中导出整个数据库

    2008-12-31 15:13:00
  • asp之家 网络编程 m.aspxhome.com