即使有了 XML 和 RDF 提供的框架,计算机仍然需要一种非常直接、具体的方式来理解这些资源是谁或是什么。为此,RDF 使用**统一资源标识符 (URI)** 来引导计算机找到代表该资源的文档或对象。你已经熟悉 URI 最常见的形式——以 *http://* 开头的统一资源定位符 (URL)。URI 可以指向网络上的任何内容,也可以指向不属于网络的、例如计算机化住宅中的电器等对象。邮件、FTP 和 Telnet 地址是 URI 的其他一些示例。
在我们的例子中,我们将使用《星球大战》官方网站上角色页面作为他们的 URI。
现在计算机知道主体和客体是什么了——阿纳金·天行者是由第一个 URI 代表的实体,卢克·天行者是由第二个 URI 代表的实体。但你会注意到,我们三元组中的中间 URI——表示属性的那个——并没有指向《星球大战》网站。相反,它指向 十万个为什么 服务器上一个虚构的文档。如果那个页面确实存在,它就会是我们的 **XML 命名空间**。
与使用标准标签(如 <b> 用于粗体和 <u> 用于下划线)的 HTML 不同,XML 没有标准标签。这很有用——它允许开发人员为特定目的创建独特的标签。但这意味着浏览器不会自动知道这些标签的含义。XML 命名空间基本上是一个文档,它告诉应用程序另一个文档中所有标签的含义。XML 文档的创建者会在文档开头用一行代码声明命名空间。在我们的例子中,我们的命名空间声明会是这样:
<rdf:RDF xmlns:hsw=https://www.十万个为什么.com/example/RDF/relationship#>
那行代码告诉计算机:“你看到的任何以‘hsw’开头的标签都使用此文档中找到的词汇。你可以在这里查找任何以‘hsw’开头的标签。” 这样,人们就可以创建文档所需的 XML 标签,而不会与网络上的其他 XML 文档冲突。
XML 和 RDF 是语义网的“官方语言”,但它们本身不足以让整个网络对计算机可用。接下来,我们将探讨其他一些层次。