内容即未来:数字产品规划与建模
上QQ阅读APP看书,第一时间看更新

3.3.3 举例:将未经结构化处理的内容放在网页上

图3-1是一张介绍美国金门大桥的网页,其中的内容是没有结构的。如果想把这些内容用在同一个网站的其他地方或是别的网站上面,那么可能还得多做一些处理才行。内容可以视为数据,并与某份元数据相关联,从而转变成API(Application Programming Interface,应用程序编程接口)、Web服务或是能够为网络爬虫程序所处理,这些爬虫程序会从中获取与该事物有关的权威信息,并加以运用。这么说来,它实际上就成了实体。

图3-1 一张介绍地标建筑物的标准网页,其没有内在结构

网站里有两百个介绍地标建筑物的网页,将这些网页全都看一遍就会发现,这些网页都是同一个模式,而且排版也差不多。为了保持风格一致,创建网页的人必须记住一套固定的步骤,并据此来一个一个地建立页面。这些页面都是孤立的,没有形成资源体系。

此外,罗列所有地标建筑物的那个索引页也需要手工修改。创建了新的网页来介绍某个地标建筑物之后,还必须专门打开索引页,找到该建筑物在列表中应该出现的位置,把光标移到这里,按回车键,输入建筑物的名字,最后添加指向新网页的链接。

如果这个网站打算提供美国建筑工程行业的权威信息,那就应该把杰出的建筑物以及工程师们在建筑工作中的业绩充分展示出来才对,为此,介绍某个地标建筑物时,还应该强调早前做过哪些与此有关的工程,因为世界上有很多人、机构与网站都想知道这些信息。若能像图3-2这样对其做结构化处理,则可给出权威而可信的内容,这些内容无须经过额外的加工,即可用在需要它的各种场合中。

图3-2 Engineering Project(工程项目)及Engineer(工程师)两个内容类型分别用来保存与地标建筑物及工程师有关的全部信息。设计者可以从中选取想要的属性来展示

这里并没有重新设计网页的显示方式,而是创建了一种名为Engineering Project的内容类型,用以表示一般的建筑工程项目。由于地标不一定都是桥或大楼,也不一定都是历史古迹,因此,才起了这么个通用的名字。金门大桥是Engineering Project的一个实例而已。把内容拆解成部件的时候,确实可以通过几个实例获得思路,但是不要把思路仅仅局限在这几个例子上,而是要将各种各样的实例都考虑进来。由于工程师所具备的属性与建筑工程完全不同,而且不一定要与它一起显示,因此,另立了Engineer类型来表示这种实体。

并不是说每一个实例都必须把这些属性全填上。比方说,如果某工程与一位著名的工程师有关,那么该工程的这一属性就可以指向这位工程师,反之,则可以留空。有些工程(例如美国国会大厦)有具体的街道地址,而那些位于地下的工程(例如纽约地铁一号线)则没有。

大家有没有看到,与那种直接把内容当成一整团摆在网页上面的做法相比,按照这种方式来拆解可以令内容更加自由地得到运用。这些属性可以像积木一样自由拼接,从而为每个实例都提供恰到好处的细节信息。如果你想修改容器中的数据,那么只需在一个地方修改就可以了,用到该容器的其他地方会自动更新。如果要添加新的字段,也只需在相关的容器类型中添加就好,这样的话,该类型的所有实例都会自动具备这个字段。如果添加了新的实例,那么凡是展示这种内容类型的地方就会自动把该实例展示出来,同理,如果删除了已有的实例,那么所有展示这种内容类型的地方都不会再出现该实例了。