网页的一种信息模型那么,所有这些对今天的 Web 开发人员意味着什么?一方面,它意味着您必须问:“我的内容到底是关于什么的?”
假设您在维护一个读书俱乐部的网站。您的页面是关于什么的?它们可能是关于图书、会议和会员的,而且您通过一套常规的描述来描述这些事物。例如:
图书用标题、作者、ISBN、封面图片等词汇来描述。
会议用时间/日期、地点和与会者来描述。
会员通过他们的姓名、联系人信息和照片来描述。
一个人可能是俱乐部的会员,也可能是一本书的作者。在这种情况下,会员身份描述中的一些元素可能与作者身份的元素相同。考虑到这一点,您就可以对描述您的俱乐部的数据执行可视化,类似于面向对象编程中的数据组织方式。
图 2 显示了这个思维图的一部分,我在其中虚构了一个叫做 Geo Book Club 的俱乐部。
图 2. 读书俱乐部原始信息模型
那么,我们看到了什么?
Web 资源椭圆形代表 Web 资源(有点类似于面向对象的实例)。这种思维模式最重要的特征是,您可以从他们所描述的事物的角度 和他们提供的内容来考虑 URL。http://example.com/geobookclub 是 Geo Book Club 的网站。在这个模型中,我将它也视为一个事物,即一个俱乐部。资源类型描述了该事物所属的类型,我使用了一个用大写字母表示的前导行,在图中表明了这一点。
资源类型组织与特定事物相关的属性的约定。例如,某个人不会与 ISBN 联系在一起。资源类型对数据模式进行控制,使应用程序能够更有效地理解数据。
关系箭头显示了对象之间的关系或链接。将您希望提升为明确关系的每个链接都标出来很重要。您并不只是想要表明图书“Things Fall Apart”与作者“Chinua Achebe”相关。而是更加明确地表明:图书“Things Fall Apart”由作者“Chinua Achebe”所著。因为一本书可能有其他相关人员,比如编辑或插画家,标出明确的关系有助于 Web 应用程序准确地处理数据。
有时,某个关系的值仅是文本,而不是另一种 Web 资源。该图将这些值显示在矩形中,并将其称为文字。文字也可以是数字、日期、布尔值和其他类型的基本数据。
额外信息图中云状图形只是对本教程不需要的细节的一种方便的标记。我使用它们来表明一个俱乐部可以有多场会议,但在本系列中,我们只关心第二场会议的细节。云状图形意味着可以有多场会议,每场会议都有一个单独的关系。
您可以设想一种使用某种容器对象来建模此情形的方法,比如使用“membership”来保存会员,或者使用“schedule”来保存事件。但是,容器很快会变得很复杂。Schema.org 注重简单性,所以约定通常只是表示一个关系的多个实例。
图书封面是一个有趣的特例。首先,它是一个链接到图像文件的 Web URL。Schema.org 允许您在关系中包含不同类型的 Web URL,包括图像和其他非文本媒体对象。而且这里还有未指定资源类型。在诸如此类的情况下,虽然 Schema.org 也提供了一种更全面的方法来表达这些媒体关系,但在需要时,您可以为关系赋予权重值。
模型的 RDF 版本如果您能理解上述模型,那么您对 RDF 的理解就差不多足以让您开始使用 Schema.org 了。请记住两个考虑因素。