Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
语义MediaWiki中的查询反向关系_Mediawiki_Semantic Web_Mediawiki Templates_Semantic Mediawiki - Fatal编程技术网

语义MediaWiki中的查询反向关系

语义MediaWiki中的查询反向关系,mediawiki,semantic-web,mediawiki-templates,semantic-mediawiki,Mediawiki,Semantic Web,Mediawiki Templates,Semantic Mediawiki,在我的语义丑闻诗人维基中,我希望能够查询具有特定值的属性的所有页面,最好按属性分组。例如,给定“拜伦勋爵”的值,我希望收到如下列表: 的儿子:凯瑟琳·戈登,约翰“疯杰克”拜伦 谣传情人:卡罗琳·兰姆夫人、简·伊丽莎白·斯科特“牛津夫人”、奥古斯塔·利、安妮·伊莎贝拉·米尔班克、尼科尔·吉拉德、奥古斯塔 李,特蕾莎·马克里 父亲:Ada Lovelace,Clara Allegra Byron 传闻的父亲:伊丽莎白·梅多拉·利 ……等等。我相信这一功能在这里得到了演示: 在标题“隐藏链接到此处的属

在我的语义丑闻诗人维基中,我希望能够查询具有特定值的属性的所有页面,最好按属性分组。例如,给定“拜伦勋爵”的值,我希望收到如下列表:

的儿子:凯瑟琳·戈登,约翰“疯杰克”拜伦

谣传情人:卡罗琳·兰姆夫人、简·伊丽莎白·斯科特“牛津夫人”、奥古斯塔·利、安妮·伊莎贝拉·米尔班克、尼科尔·吉拉德、奥古斯塔 李,特蕾莎·马克里

父亲: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的答案是“否”,现在你会得到绿色的复选标记。谢谢