语义MediaWiki中的查询反向关系
在我的语义丑闻诗人维基中,我希望能够查询具有特定值的属性的所有页面,最好按属性分组。例如,给定“拜伦勋爵”的值,我希望收到如下列表: 的儿子:凯瑟琳·戈登,约翰“疯杰克”拜伦 谣传情人:卡罗琳·兰姆夫人、简·伊丽莎白·斯科特“牛津夫人”、奥古斯塔·利、安妮·伊莎贝拉·米尔班克、尼科尔·吉拉德、奥古斯塔 李,特蕾莎·马克里 父亲:Ada Lovelace,Clara Allegra Byron 传闻的父亲:伊丽莎白·梅多拉·利 ……等等。我相信这一功能在这里得到了演示: 在标题“隐藏链接到此处的属性”下。它也类似于–但此模板一次只返回一个已知属性名称的值语义MediaWiki中的查询反向关系,mediawiki,semantic-web,mediawiki-templates,semantic-mediawiki,Mediawiki,Semantic Web,Mediawiki Templates,Semantic Mediawiki,在我的语义丑闻诗人维基中,我希望能够查询具有特定值的属性的所有页面,最好按属性分组。例如,给定“拜伦勋爵”的值,我希望收到如下列表: 的儿子:凯瑟琳·戈登,约翰“疯杰克”拜伦 谣传情人:卡罗琳·兰姆夫人、简·伊丽莎白·斯科特“牛津夫人”、奥古斯塔·利、安妮·伊莎贝拉·米尔班克、尼科尔·吉拉德、奥古斯塔 李,特蕾莎·马克里 父亲:Ada Lovelace,Clara Allegra Byron 传闻的父亲:伊丽莎白·梅多拉·利 ……等等。我相信这一功能在这里得到了演示: 在标题“隐藏链接到此处的属
根据MediaWiki的说法,它内部不支持反向关系,尽管特殊的:浏览页面似乎正在管理;是否有任何扩展或其他技术可以做到这一点?您只需在查询中的属性前面加一个“-”即可查询属性的倒数。例如:
{{#ask: [[Category:Poet]]
| ?-hasSon=son of
}}
请参见这是我处理特定页面链接集合的方式。我在这里要处理的问题是,在当前页面和其他页面上都可能建立关系。你可能会发现这很有用。此外,您可能希望将“has supernode”替换为“sun of”,将“has subnode”替换为“father of”。我还使用mediawiki的数组扩展来合并重复的值
== 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}}
美好的这与我想要的非常接近——你知道如果属性不知道它叫什么,它是否可以对属性执行反向查询吗?我认为这在SMW中是不可能的,或者至少我不知道如何使用内联查询。好吧,如果你不知道属性的名称,你就不能打印属性值。然后假设我的OQ的答案是“否”,现在你会得到绿色的复选标记。谢谢