维基旅人:RDF
| 此页面已不再活跃,仅供历史参考。 此页面已不再相关,或者对其用途的共识变得不明确。 不要认为此页面上的内容仍然正确或最新。 |
维基旅人的指南和其他文章包含由用户贡献的、供人类阅读和理解的精彩文本和图片。我们维基技术允许我们用自由的散文和图片来描述人物、地点、语言、景点以及成千上万的其他事物。但维基旅人中也存在可以标准化的描述和事物之间的关系,以便计算机也能处理它们。例如,我们可以定义一个文章是关于一个国家还是一个城市。如果是一个城市,我们可以定义它属于哪个国家。为了创建这些标准化的、机器可读的描述,我们使用一种称为资源描述框架(RDF)的工具。
RDF 是什么?
[]RDF 是一种直接在文章文本中记录标准化机器可读信息和关系的方式。无需任何形式的外部数据库。为了使系统更易于人类使用,RDF 语句通常包含在模板中,然后这些模板会被包含到维基旅人文章中。
所以,RDF 是一个用于对资源做出陈述的框架。在维基旅人中,资源理论上可以是任何东西:一个目的地、一个景点、一张图片、一篇文章,任何可以被命名的东西。
陈述的形式为:
resource predicate object
一个谓语是资源属性的名称,例如其大小、位置、历史、许可限制,或者与其他“资源”的关系。宾语是值。
所以,“汽车 颜色 红色”将是对一辆汽车的陈述;“悉尼 属于 新南威尔士州”将是对悉尼及其与新南威尔士州关系的陈述。
资源和属性必须唯一标识。人类或许能猜出我们指的是澳大利亚悉尼,但计算机没那么聪明。在网络世界中,每个“资源”都必须用 URI(通常是 URL)来标识。所以,我们会将悉尼标识为“http://en.wikipedia.org/wiki/Sydney”。对于更抽象的资源,这可能更棘手,但通常只是为其分配一个在维基旅人命名空间内的唯一标识符。例如,要标识用户:(WT-en) Evan,您可以使用他的维基旅人用户页面的 URI,“https://wikivoyage.cn/wiki/User:Evan”。
模式(Schemas)
[]需要就陈述达成一致的人们通常会创建“词汇表”或“模式”。通过就模式达成一致,我们可以就某个特定谓语的含义达成一致。没有达成一致的模式,人们可能会发明不同的谓语来表示相同的含义,这会变得非常混乱。将模式视为我们使用的谓语的术语表或词典。
例如,都柏林核心元数据倡议(DCMI)有一个用于非常简单信息的模式,就像图书馆卡片上的信息一样。因为我们已经知道需要为所有资源和谓语提供唯一名称,所以 DCMI 定义的所有谓语都带有“dcterms:”前缀。
DCMI 定义了一个 isPartOf 谓语——某物是另一部分的概念。
所以,回到我们上面的例子,我们现在有了 RDF 关系:
https://wikivoyage.cn/wiki/Sydney dcterms:isPartOf https://wikivoyage.cn/wiki/New_South_Wales
isPartOf 只是 DCMI 中众多可用谓语之一。维基旅人使用的其他谓语包括 contributor(贡献者)和 date(日期)。
DCMI 并不是唯一对维基旅人有用的模式。像知识共享(Creative Commons)模式这样的模式也可能对指定许可信息有用。
我们也有自己的模式,其中包含用于指定维基旅人特有信息的谓语,例如谓语 wts:hasDocent 表示某些文章有导览员。
RDF 语句可以用多种方式编码,但在维基旅人上,我们使用一种称为“Turtle RDF”的格式,这只是一种以人类可读的方式书写 RDF 关系的一种简单方法。
RDF 不是什么
[]RDF 不是一种编程语言。它不是一种让事情发生或实现编程逻辑的方式。它不是需要编程经验才能理解的东西。我们在 RDF 中编码的信息越多,就可以对维基旅人信息进行越多的自动处理。RDF 最理想的用途是使已标准化的信息易于访问,从而允许应用程序和软件开发者以新颖有趣的方式使用我们的信息。然而,过度使用 RDF 可能会使维基旅人过于像一个数据库,而不是一本自由散文的旅行指南。
从维基旅人获取 RDF
[]从维基旅人文章中检索关于资源的 RDF 语句很简单。Special:Rdf 允许您选择您感兴趣的文章以及要检索的数据类型。关于页面的许多有趣信息——历史、贡献者、许可、链接——都可以以 RDF 编码格式读取。
页面的 RDF 也(隐形地)链接在每个页面的标头中的 <link> 标签里。虽然这对人类读者是不可见的,但一些浏览器工具和网络爬虫可以读取并理解编码的 RDF 信息。
向维基旅人页面添加 RDF
[]可以通过常规的编辑过程向维基旅人页面添加 RDF 语句。RDF 语句——或一组语句——可以直接写在页面源代码的 <rdf> ... </rdf> 标签之间。这些块中的 RDF 语句应采用 Turtle RDF 格式编码——这是一种易于使用的格式,模仿英语语法。
存储在页面中的 RDF 可以使用 Special:Rdf 页面的“页面内”模型进行检索。
RDF 与模板
[]将所有 RDF 放在Mediawiki 模板中更好,因为这可以使页面更清晰,并使修复错误更容易。
对于只想为文章添加少量信息标签的人来说,Turtle RDF 的语法可能也很令人生畏,因此将 RDF 放在模板中可以使这些人的操作更简单。
- Template:IsPartOf 包含 RDF,说明当前指南描述的目的地属于另一个地方。例如,在威尼斯页面上添加 {{IsPartOf|Veneto}},表示威尼斯属于威尼托大区,而威尼托大区属于意大利。这些数据也用于面包屑导航链接。
- Template:Geo 包含 RDF,用于指明当前指南描述的目的地已给出经纬度坐标。这用于地理编码。
另请参阅:项目:RDF 模板
RDF 在维基旅人上的可能用途
[]维基旅人使用 RDF 进行页面内数据处理仍处于早期阶段,推广缓慢。有很多实验的空间。一些可能的内部用途:
- 许可信息。使用“cc:licence”添加多重许可信息。
- 注明维基旅人文章是否源自网络上的另一篇文章(例如 CIA Factbook),以及有关作者的信息。
- 列出相关文章;关于类似地方的文章,将目的地与所讲语言的短语手册链接,将行程与目的地指南链接。
- 描述地点(城市、国家、地区)及其彼此之间的地理关系(附近的城市、邻国……)。
- 文章状态
- 地理空间经纬度信息,包括 GPS 数据(参见项目:地理编码)。
- 构建“面包屑”导航,例如“北美洲 > 加拿大 > 魁北克 > 蒙特利尔”(参见项目:面包屑导航)。
- 对特定类型的文章(旅行主题、行程、目的地指南)和目的地(城市、国家、地区)进行特殊呈现。
- 自动组织文章“集群”(例如,如果您想下载意大利及其在该国的所有城市和地区)。
- 与 Google Maps 或 Yahoo Maps 等地图网站进行自动接口。
有一个关于 RDF 在维基旅人上用途的RDF 探险活动。如果您对更多细节感兴趣,请加入探险活动。
参见
[]RDF 及其可能用途是一个广泛的话题。以下是一些有助于了解更多的有用链接。
- Dave Beckett 的资源描述框架 (RDF) 资源指南 – 比你能想象到的 RDF 还要多。
