我使用三个值(=pages(A
,B
,C
属性is of type
。
有些页面只有一个is of type
值,有些页面有三个值。
我想#ask
类型为 A
类型的页面,而不是 B
和 C
类型。
我尝试了以下内联查询:
{{#ask: [[Is of type::A]] [[Is of type::!B]] [[Is of type::!C]]}}
但它没有按预期工作:它列出了所有 A
型页面 ,包括另外B
/C
类型的页面。
Semantic Mediawiki不擅长减法查询。您的查询在英语中翻译为:
找到包含所有这些内容的每个页面:-属性"是类型"等于 A 的实例-属性"类型"不等于 B 的实例-属性"属于类型"不等于 C 的实例
现在这里是"陷阱":假设您有一个"类型为"A、B 和 C 的页面。-它是A型。-它属于非 B 的类型,即 A 和 C。-它属于非 C 的类型,即 A 和 B。
它符合您的所有条件,并进入结果。
我经常遇到这些类型的问题。我的维基实际上有几个用于减去查询结果的模板。