Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Query inverse relationships in Semantic MediaWiki

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?

like image 303
meetar Avatar asked Jun 14 '12 01:06

meetar


1 Answers

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

like image 142
Jeen Broekstra Avatar answered Nov 01 '22 04:11

Jeen Broekstra