你能在语义mediawiki中使用子对象作为属性值而不是wikipages吗?

时间:2015-01-15 00:40:27

标签: mediawiki semantic-web semantic-mediawiki

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

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

要明确的是,我想错过包含页面的位置,而位置只是子对象,位置具有数据类型页面。

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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