【问题标题】:Can you use subobjects as property values instead of wikipages in semantic mediawiki?你可以在语义媒体维基中使用子对象作为属性值而不是维基页面吗?
【发布时间】:2015-01-15 00:40:27
【问题描述】:

我是 Semantic Mediawiki 的新手,它最近已安装在我贡献的一个 wiki 上。我正在考虑如何表示一些数据,我认为子对象可能会有所帮助,但我不清楚细节。

特别是,有一些属性,例如视频的拍摄地点(wiki 是互联网喜剧网站),似乎很适合 Page 数据类型,因为大多数常见地点都有相关页面,但某些一次性位置似乎不值得每个位置都有一个页面。您是否可以创建列出所有此类位置的页面的子对象,并将其用作属性值,如果可以,如何?另外,如果是这样,当您添加值时链接指向什么(使用 [[Location::Value]] 表示法),链接的文本是什么?假设它有效,这种方法是否有任何缺点。

明确地说,我想错过带有页面的位置,以及只是子对象的位置,位置的数据类型为页面。

编辑:为了进一步澄清,我仍然希望为这些位置提供一个页面,以提供简要说明,但是在一个名为 [[Minor Locations]] 的页面上,例如,其中将包含每个次要位置的句子(类似于维基百科对待次要字符的方式)。我的想法是将位置创建为该页面的子对象,并且剧集将包含该位置作为属性值,就好像它们是一个页面一样。这样一来,两集可以共享一个次要位置,但它本身不需要整篇文章。

【问题讨论】:

  • 没有什么可以阻止您使用页面类型,即使您不打算创建所有页面。对于 SMW,页面是否存在并不重要,它们仍然是属性的有效值。

标签: mediawiki semantic-web semantic-mediawiki


【解决方案1】:

要添加子对象,您必须使用 #subobject 解析器函数,如下所示:

{{#subobject:Location
  |name=Ystad
  |coordinates=55°25′N 13°50′E
}}

正如您所写,子对象的优势在于您可以组合多个属性而无需创建页面。

但是,如果您真的不需要附加到每个位置的附加属性,我建议只使用页面作为值。没有什么能阻止您使用页面类型,即使您不打算实际创建所有页面。对于 SMW,页面是否存在并不重要,它们仍然是属性的有效值。这样查询会容易得多!

edit:是的,您可以将 SO 用作属性的值。它们看起来类似于Pagename#XXXXXXXX(请参阅the official docs),但我个人不建议将页面和子对象混合为同一属性的值。查询会很复杂,维护也...

【讨论】:

  • 我已经澄清了一点。这似乎添加了一个子对象作为它所包含的页面的位置,但我的想法是在不同的页面上定义一个子对象([[Minor Locations]],比如说),这将包括对许多不同的描述次要位置。 (如何)我可以将它作为 Location 属性值包含在剧集页面上吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多