在我的语义绯闻诗人Wiki中,我希望能够查询具有特定值属性的所有页面,理想情况下按属性分组。例如,鉴于“拜伦勋爵”的价值,我希望收到一份如此的清单:
儿子:凯瑟琳·戈登,约翰“疯狂杰克”拜伦
传言中的爱人: Caroline Lamb女士,Jane Elizabeth Scott“牛津女士”,Augusta Leigh,Anne Isabella Milbanke,NicolòGiraud,Augusta Leigh,Teresa Makri
父亲: Ada Lovelace,Clara Allegra Byron
传闻中的父亲: Elizabeth Medora Leigh
......等等。我相信这个功能在这里展示: 标题为“隐藏链接此处的属性”标题下的http://semantic-mediawiki.org/wiki/Special:Browse/California。它也类似于http://semantic-mediawiki.org/w/index.php?title=Template:Invert-property - 但此模板一次只返回一个已知属性名称的值。
根据http://semantic-mediawiki.org/wiki/Germany MediaWiki内部不支持反向关系,尽管Special:Browse页面似乎正在管理;是否有任何扩展或其他技术可以做到这一点?
答案 0 :(得分:4)
您只需在查询中的属性前放置一个“ - ”即可查询属性的反转。例如:
{{#ask: [[Category:Poet]]
| ?-hasSon=son of
}}
请参阅http://semantic-mediawiki.org/wiki/Help:Inverse_properties
答案 1 :(得分:0)
这就是我如何处理指向特定页面的链接集合。我在这里必须处理的问题是,可能在当前页面和其他页面上都建立关系。您可能会发现这很有用。此外,您可能想用“sun of”替换“has supernode”,用“father of”替换“has subnode”。我也在使用 mediawiki 的 Arrays 扩展来合并重复值。
== Links ==
=== Super-Nodes ===
{{#arraydefine:key_1
|{{#ask:[[{{PAGENAME}}]]
|?has supernode
|mainlabel=-
|headers=hide
|format=array
|}}
}}
{{#arraydefine:key_2
|{{#ask:[[has subnode::{{PAGENAME}}]]
|format=array
|}}
}}
{{#arrayunion:key_mrg |key_1 |key_2 }}
{{#arraysort:key_mrg|nat}}
{{#arrayprint:key_mrg}}
=== Sub-Nodes ===
{{#arraydefine:key_1
|{{#ask:[[{{PAGENAME}}]]
|?has subnode
|mainlabel=-
|headers=hide
|format=array
|}}
}}
{{#arraydefine:key_2
|{{#ask:[[has supernode::{{PAGENAME}}]]
|format=array
|}}
}}
{{#arrayunion:key_mrg |key_1 |key_2 }}
{{#arraysort:key_mrg|nat}}
{{#arrayprint:key_mrg}}