negation - 在内联查询中排除某些属性值

标签 negation semantic-mediawiki

我使用三个值(=页数)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/

相关文章:

python - 正则表达式,而不是声明

python - 如何查找字符串是否包含不在另一个字符串中的字符

mediawiki - 在语义记录中设置非绑定(bind)空间

php - 如何通过 php 以编程方式在 MediaWiki 中生成指向页面的链接?

wysiwyg - 用户友好的语义维基?

c - C 语言中的 if (!string) 是什么意思

perl - 有什么用!! (双感叹号)是什么意思?

c - 二进制补码 ~0 签名

namespaces - 如何获取 MediaWiki namespace 列表?

mediawiki - 如何在语义媒体维基中显示外部数据库表