为多值列出只有一个值的页面 属性

Listing pages having only one value for multi-value property

我在 wiki 上工作,其中每个项目都有自己的页面,其获取方式列为

[[Is acquired::somewhere]]
[[Is acquired::somewhere else]]
[[Is acquired::some third acquisition way, really long one with some [[wiki]] links in it]]

属性 Is acquired 已定义类型 text

我的主要问题是: 我怎样才能显示那些只分配了一种获取方式的项目列表(即一种 Is acquired 属性-值)?

次要的是:如何列出那些只有一种获取方式的项目并且这种方式包含一些特定的文本?

我已阅读 Extension:Arrays and also Count format and Subqueries 文档,但我就是不知道如何将所有内容组合在一起。

请注意,如果可能的话,我希望尽量避免使用 Extension:Arrays,因为我正在处理的 wiki 目前不支持此功能.

我相信在 SMW 中没有办法过滤 属性 值的数量,所以你应该在这里使用 Extension:Arrays

引入新的 属性 将用作标志,例如。 Is only one way,值为 Yes/No。在您的页面(包含 Is acquired 属性)底部添加如下代码:

{{#arraydefine:test_arr|{{#show: {{PAGENAME}}|?Is acquired}}|,}}
{{#ifeq:{{#arraysize:test_arr}}|1|[[Is only one way::Yes]]|[[Is only one way::NO]]}}

这样,您的所有页面都将包含一个 属性 Is only one way,其值为 YesNo,因此您可以对其进行过滤:

{{#ask: [[Is acquired::+]] [[Is only one way::Yes]] }}

将为您提供仅为 Is acquired 属性.

设置一个值的页面