Mediawiki templates 语义mediawiki捕获当前页面中属性的所有值

Mediawiki templates 语义mediawiki捕获当前页面中属性的所有值,mediawiki-templates,semantic-mediawiki,Mediawiki Templates,Semantic Mediawiki,我想用一个每页可以出现多次的模板来总结输入的数据。我希望此摘要仅基于当前页面 不过,我似乎不知道如何捕获由每页多次模板分配给属性集的所有值。我尝试过的所有语义查询都只返回给定页面上属性的唯一值 例如,如果我的模板有三个字段和属性: </noinclude><includeonly> '''GeneralFoodF:''' [[GeneralFoodP::{{{GeneralFoodF|}}}]] '''SpecificFoodF:''' [[SpecificFoo

我想用一个每页可以出现多次的模板来总结输入的数据。我希望此摘要仅基于当前页面

不过,我似乎不知道如何捕获由每页多次模板分配给属性集的所有值。我尝试过的所有语义查询都只返回给定页面上属性的唯一值

例如,如果我的模板有三个字段和属性:

</noinclude><includeonly>
'''GeneralFoodF:'''  [[GeneralFoodP::{{{GeneralFoodF|}}}]] 

'''SpecificFoodF:'''  [[SpecificFoodP::{{{SpecificFoodF|}}}]] 

'''RatingFoodF:'''  [[RatingFoodP::{{{RatingFoodF|}}}]] 
</includeonly>
{{#subobject:
 |GeneralFoodF=Fruit
 |SpecificFoodF=Apple
 |RatingFoodF=3
 |Belongs to={{PAGENAME}}
}}
然后执行#show查询:

{{#show: {{PAGENAME}} | mainlabel =- | headers = hide | link=none | ?GeneralFoodP}}

当我期望它返回时,它返回:水果,蔬菜:水果,蔬菜,水果,水果。wiki页面文本是正确的,显示了所有四个条目,但我似乎无法用语义查询捕获重复条目。如何捕获给定页面上输入的所有属性值(包括重复项)

想想财产意味着什么:如果一辆车的财产
是红色的
,如果你两次声明它,它不会变得更红。颜色仍然是红色,而不是“红色”。因此,您向我们展示的结果完全是意料之中的

对于您的需求,您可能需要考虑使用子对象。它们是对象,与页面类似,但没有自己的页面,它们可以有一个或多个属性:

</noinclude><includeonly>
'''GeneralFoodF:'''  [[GeneralFoodP::{{{GeneralFoodF|}}}]] 

'''SpecificFoodF:'''  [[SpecificFoodP::{{{SpecificFoodF|}}}]] 

'''RatingFoodF:'''  [[RatingFoodP::{{{RatingFoodF|}}}]] 
</includeonly>
{{#subobject:
 |GeneralFoodF=Fruit
 |SpecificFoodF=Apple
 |RatingFoodF=3
 |Belongs to={{PAGENAME}}
}}
然后,您可以查询该页面的所有子对象,如下所示:

{{#ask: [[Belongs to::{{PAGENAME}}]]
 |?GeneralFoodF
 |?SpecificFoodF
 |?RatingFoodF
}}
或对于所有页面上的类似子对象:

{{#ask: [[SpecificFoodF::+]]
 |?GeneralFoodF
 |?SpecificFoodF
 |?RatingFoodF
}}
子对象也可以命名,但在您的情况下,您希望它们是匿名的(有效地为它们指定所有唯一的、自动创建的名称)

见: