在语义MediaWiki中传递属性

在语义MediaWiki中传递属性,mediawiki,semantic-mediawiki,Mediawiki,Semantic Mediawiki,目前我有3个类别,应用程序、应用程序实例和供应商 现在应用程序有一个指向供应商的链接(通过属性make By)。应用程序实例需要通过属性链接回供应商。我有一个查询,可以用来返回应用程序名称和供应商名称 {{#ask: [[Category:Program]][[{{{Program}}}]] |?Made By }} 然而 {{#set:Made By={{#ask: [[Category:Program]][[{{{Program}}}]] |?Made By }}}} 无法将属

目前我有3个类别,应用程序、应用程序实例和供应商

现在应用程序有一个指向供应商的链接(通过属性make By)。应用程序实例需要通过属性链接回供应商。我有一个查询,可以用来返回应用程序名称和供应商名称

{{#ask:
 [[Category:Program]][[{{{Program}}}]]
 |?Made By
}}
然而

{{#set:Made By={{#ask:
 [[Category:Program]][[{{{Program}}}]]
 |?Made By
}}}} 
无法将属性设置为ask查询返回的供应商值


还有其他方法吗?

可能有点晚,但您可以使用模板来设置属性。像这样的

在应用程序实例模板中(或在每个应用程序实例页面上手动),添加以下ask查询:

{{#ask:[[Category:Program]][[{{{Program}}}]]
|?Made By
|link=none
|format=template
|template=Set made by
}}
然后使用以下内容创建模板“wiki/template:Set make by”:

includeonly>
{{#set:
Made By={{{2}}}
}}
</includeonly>
仅包含>
{{#集:
制作人={{{2}}
}}
注释

  • 参数{{{1}}}是作为页面名称的主题,{{{2}}}将是“make By”的结果
  • 从查询结果中剥离链接可以防止将额外的文本传递给set命令,这会使事情变得混乱
  • 您还可以通过在查询前添加减号,在查询中使用属性的倒数。(例如“制造者”)

  • 您还可以设置命名为args=yes,请参见