我使用三个值(=页数)A
, B
, C
对于属性(property)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 不擅长减法查询。您的查询英文翻译为:
找到包含所有这些内容的每个页面: - 属性“Is of type”的实例等于 A - 属性“Is of type”的实例不等于 B -属性“Is of type”的实例不等于C
现在这里有一个“陷阱”:假设您有一个页面“类型为”A、B 和 C。 -它是A型。 - 其类型不是 B,即 A 和 C。 -它的类型不是 C,即 A 和 B。
它符合您的所有条件,并包含在结果中。
我经常遇到这类问题。我的维基实际上有几个用于减去查询结果的模板。
关于negation - 在内联查询中排除某些属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17700983/