你能使用子对象作为属性值而不是语义媒体维基中的维基页面吗?



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

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

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

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

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

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

在您编写时,子对象的优点是可以组合多个属性,而无需创建页面。

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

编辑:是的,您可以使用 SO 作为属性的值。它们看起来像Pagename#XXXXXXXX(请参阅官方文档),但是将页面和子对象混合为同一属性的值并不是我个人推荐的。查询会很复杂,维护也会很复杂...

相关内容

  • 没有找到相关文章

最新更新