Warm tip: This article is reproduced from serverfault.com, please click

Query inverse relationships in Semantic MediaWiki

发布于 2012-06-14 01:21:03

In my semantic Scandalous Poets Wiki, I'd like to be able to query all pages with properties with a particular value, ideally grouped by property. For instance, given the value "Lord Byron" I'd like to receive a list like so:

Son of: Catherine Gordon, John "Mad Jack" Byron

Rumored lover of: Lady Caroline Lamb, Jane Elizabeth Scott "Lady Oxford", Augusta Leigh, Anne Isabella Milbanke, Nicolò Giraud, Augusta Leigh, Teresa Makri

Father of: Ada Lovelace, Clara Allegra Byron

Rumored father of: Elizabeth Medora Leigh

...and so on. I believe this functionality is demonstrated here: http://semantic-mediawiki.org/wiki/Special:Browse/California under the heading "hide properties that link here". It's also similar to http://semantic-mediawiki.org/w/index.php?title=Template:Invert-property – but this template will only return values for one known property name at a time.

According to http://semantic-mediawiki.org/wiki/Germany MediaWiki does not internally support inverse relationships, though the Special:Browse page seems to be managing; are there any extensions or other techniques which can do this?

Questioner
meetar
Viewed
0
Jeen Broekstra 2012-06-15 04:50:12

You can query the inverse of a property by simply putting a "-" in front of the property in your query. For example:

{{#ask: [[Category:Poet]] 
| ?-hasSon=son of
}}

See http://semantic-mediawiki.org/wiki/Help:Inverse_properties