代码改变世界

如何理解 web 语义化?

2013-02-18 19:26  lefan  阅读(1617)  评论(0编辑  收藏  举报

语义化简单说来就是让机器可以读懂内容,语义网是让机器可以理解数据

     HTML 是联系大多数 Web 资源的纽带,也是内容的载体。在 Web 被刚刚设计出来的时候,可能不会想到它现在会达到的规模以及深入到我们生活的那么多方面。也许起初的想法很简单:用来发布 Web 内容和资源的索引,方便人们查看。

但是随着 Web 规模的不断扩大,信息量之大已经不在人肉处理的范围之内了。这个时候人们开始用机器来处理 Web 上发布的各种内容,搜索引擎就诞生了。再后来,人们又设计了各种智能程序来对索引好的内容作各种处理和挖掘。所以让机器能够更好地读懂 Web 上发布的各种内容就变得越来越重要。

语义网技术,它包括一套描述语言和推理逻辑。它包通过一些格式对本体(Ontology)进行描述。如W3C的 RDF就是这样一种描述规范,它描述这些数据所表达的含义还有这些词之间可能产生的关系(动词?),那么计算机就可以通过查询(推理规则)来产生我们需要的数据视图了。也就是说如果你对计算机提问,因为计算机理解数据,所以可以推理出你所想要的答案,即使这个答案不是预先准备好的。大部分的语义网的表示规范都基于XML,因为它是一种完备的通用描述语言。

HTML

     HTML 在刚开始设计出来的时候就是带有一定的「语义」的,包括段落、表格、图片、标题等等,但这些更多地只是方便浏览器等 UA 对它们作合适的处理。但逐渐地,机器也要借助 HTML 提供的语义以及自然语言处理的手段来「读懂」它们从网上获取的 HTML 文档,但它们无法读懂例如「红色的文字」或者是深度嵌套的表格布局中内容的含义,因为太多已有的内容都是专门为了可视化的浏览器设计的。面对这种情况,出现了两种观点:

1 我们可以让机器的理解能力越来越接近人类,人能看懂、听懂的东西,机器也能理解;

2 我们应该在发布内容的时候,就机器可读的、被广泛认可的语义信息来描述内容,来降低机器处理 Web 内容的难度(HTML 本身就已经是朝这个方向迈出的一小步了)。

     HTML 规范其实一直在往语义化的方向上努力,许多元素、属性在设计的时候,就已经考虑了如何让各种用户代理甚至网络爬虫更好地理解 HTML 文档。HTML5 更是在之前规范的基础上,将所有表现层(presentational)的语义描述都进行了修改或者删除,增加了不少可以表达更丰富语义的元素。为什么这样的语义元素是有意义的?因为它们被广泛认可。所谓语义本身就是对符号的一种共识,被认可的程度越高、范围越广,人们就越可以依赖它实现各种各样的功能。

语义化标签

1.语义化标签只是HTMLCSS不存在语义化,HTML是标签,CSS是属性。
2.语义化标签简历在文档化页面的基础上面,将网页当做是一个文档,DOM中的Ddocument)以及在书写js是用到的document就已经很清晰的告诉我们,计算机将页面当做是一个document,我们也可以将页面归为document的一种。
3.HTML标签本身是意义的。如p---paragraphli---listimg---image但是有些是无语义化的如div---division并不能呢个表示div标签里面内容的属性和表现样式。
4.HTML5在运来HTML的基础上根据大部分人的开发习惯和一般的网站页面展现形式,增加了语义化的标签如<header><footer><nav><article>.
5.语义化HTML可以让页面结构更清晰,写更少的CSSJS,以及更有利于SEO