Discuss Special property "Subproperty of"

From semantic-mediawiki.org


Thread titleRepliesLast modified
Relations and Transitivity813:41, 2 March 2014
What is the syntax and context for declaring a subproperty?100:25, 24 February 2014
Backward compability! Backward compability!! Backward compability!!!403:53, 11 February 2014

Relations and Transitivity

If property P is a subproperty of property P', then all pairs of resources which are related by P are also related by P'.

Since querying for P' doesn't actually show the relationships stated by P, is it really accurate to say that this property agrees with the statement?

Following the example, if I have "husband" and "wife" as subproperties of "spouse", and I give the page "Ann" a "husband" relation to the page "Frank", there doesn't actually seem to be a "spouse" relationship created. If I ask who Ann's husband is, "Frank" is returned. But if I ask the name of her spouse, nothing is returned. More bizarrely, if I ask for articles with the spouse property set, and ask them what their spouse properties are set to... I get nothing!

Perhaps I'm misunderstanding this, but it seems like a tremendous asymmetry in functionality. This could be very useful, but it seems crippled.

Kalisphoenix 22:24, 9 May 2012 (CEST)
15:44, 10 February 2014
Edited by author.
Last edit: 15:46, 10 February 2014

In the notes, I've explained what those comments (which were written by someone else) mean in practice, i.e. when you build a query. You can find Ann’s "spouse" by querying on the spouse property (e.g. "Is spouse of"), but in order to get results you’ll have to include the relevant subproperties (e.g. "Is wife of", not "Is spouse of") in the printout statement.

15:45, 10 February 2014

Yeah, that's what I'm complaining about :D

Let's say I'm trying to output Ann's spouse's name, say, in an infobox. My query looks like this: {{#show:Ann|?{{#ifeq:{{#show:Ann|?Gender}}|Male|Wife|Husband}}|}} or (if we're being refreshingly modern) {{#show:Ann|?{{#if:{{#show:Ann|?Husband}}|Husband|Wife|}}|}}

Now, IMHO, the name of Ann's husband or wife should be revealed by {{#show:Ann|?Spouse}}. Ann's husband is Frank. If Frank is Ann's husband, Frank is Ann's spouse. Who is Ann's spouse? Semantic MediaWiki claims not to know.

Similarly, if I'm displaying a table, I don't feel like I should have to devote two columns to subproperties of Spouse. If I have a Relative property that has as subproperties Mother, Father, Son, Daughter, Brother, Sister, Aunt, Uncle, Stepmother, Stepfather, Stepson, Stepdaughter, and on and on and on into infinity, I hopefully wouldn't need 47 columns in my table, most of which would be empty.

So I feel as though it's an issue with usability. Perhaps some (even most) prefer it the way that it is, or perhaps it's a feature that's not frequently utilized and most people don't care. But I feel as though if you're going to express it in logical terms, you should adhere to those terms. If the relation exists, it exists and should be displayed when queried.

Here's the real issue, though: it's dumb. It doesn't serve any purpose. Here:

{{#ask: [["head property"::+]]
|? "head property"
|? "subproperty1"
|? "subproperty2"
Why even create this special property if all it's "saving" you from doing is this:
{{#ask: [["subproperty1"::+]] OR [["subproperty2"::+]]
|? "subproperty1"
|? "subproperty2"

In fact, the second version's better anyway because it doesn't have a stupid extra empty column. And a stupid extra property.

Kalisphoenix 06:23, 25 May 2012 (CEST)15:46, 10 February 2014

+1. Why? Is it a matter of principle or fundamental flaw in SMW architecture? Is there any hope that it ever change?

Alex Mashintalk 14:18, 4 January 2013 (CET)15:49, 10 February 2014

+1. What Kalisphoenix describes is exactly how I expected subproperties to work: if I #ask a query to return ?Spouse, then it should return any values assigned to Spouse or its subproperties. As it is, this seems like a fairly useless feature.

Dr ishmael (talk) 06:19, 18 April 2013 (CEST)15:50, 10 February 2014

If, however, your annotation has <Frank "is husband of" Ann>, but not the other way around (<Ann "is wife of" Frank>), then it’s a matter of Inverse properties and the general issue that SMW properties point in one direction.

Cavila 13:09, 10 May 2012 (CEST)15:48, 10 February 2014

What has happened to the messages above? The placement of names and dates has gone awry for some reason. Is it a bug in LiquidThreads?

Cavila (talk)00:22, 24 February 2014

Everything works as expected. The second date is the date I transformed regular talk into LQT talk on this page. I preserved the original dates within the signature. Cheers

[[kgh]] (talk)12:10, 24 February 2014

Ah that explains. That and the fact that in the pre-LQT version, the first part of my post got separated from the second part when another user replied in the middle of it (hence the current lack of a signature). I was just worried that LQT did something off.

Cavila (talk)13:41, 2 March 2014

What is the syntax and context for declaring a subproperty?

Can you give an example that shows the differences between a property declaration and a subproperty declaration?

Pjrich 21:32, 3 November 2011 (CET)15:43, 10 February 2014

There is no difference when it comes to declaring the values of a property on a particular page, if that's what you mean.

Cavila (talk)00:25, 24 February 2014

Backward compability! Backward compability!! Backward compability!!!

Edited by author.
Last edit: 03:53, 11 February 2014

As of 1.9.1, special property Subproperty of again requires the prefix Property:. Long ago, we had to write [[Subproperty of::Property:Superproperty]]. Then it changed to [[Subproperty of::Superproperty]]. Now [[Subproperty of::Superproperty]] again points at Superproperty in the main namespace rather than Property:Subproperty, so we have to rewrite all property pages, thank you very much.

Is it a bug or a feature?

Alexander Mashintalk04:33, 10 February 2014

The "Then it changed to ..." sounds very much like a bug. When did this change and was it reported back then? However, it should probably allow both ways with [[Subproperty of::Property:Superproperty]] as the preferred method. Either way its worth a bug report.

[[kgh]] (talk)11:57, 10 February 2014

If there is an issue, I wonder why [0] [[Subproperty of::Area]] in Property:Surface area works. Locally I could not find any irregularities with either setting (with or without namespace).

mwjames (talk)12:15, 10 February 2014

I have to investigate.

Alexander Mashintalk15:50, 10 February 2014

Ah, good to know that both syntax variants work. Personally more in favour of additionally providing the namespace.

[[kgh]] (talk)15:52, 10 February 2014