W3C home > Mailing lists > Public > public-vocabs@w3.org > March 2014

Re: How to avoid that collections "break" relationships

From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
Date: Mon, 31 Mar 2014 09:07:31 -0700
Message-ID: <533992C3.6070201@gmail.com>
To: Ruben Verborgh <ruben.verborgh@ugent.be>
CC: Markus Lanthaler <markus.lanthaler@gmx.net>, Pat Hayes <phayes@ihmc.us>, public-hydra@w3.org, public-lod@w3.org, W3C Web Schemas Task Force <public-vocabs@w3.org>, Dan Brickley <danbri@danbri.org>

On 03/31/2014 08:48 AM, Ruben Verborgh wrote:
>>>     </people/markus> foaf:knows [ hydra:memberOf </people/markus/friends> ].
>>>
>>>      means “Markus knows somebody who is a member of collection X".
>> But that's not what this says.  It says that Markus knows some entity that is related by an unknown relationship to some unknown other entity.
> Well, obviously we'd have to define the hydra:memberOf predicate…
>
> It's not helpful to interpret "foaf:knows" as "knows"
> but "hydra:memberOf" as "unknown relationship”.

In this case it certainly is.  You want to depend on a particular reading of 
this non-RDF predicate, and have this reading trigger inferences.   A system 
that only uses the RDF semantics will have no knowledge of this extra 
semantics and will thus not perform these essential inferences.

Yes, when one is being totally formal one should not change from foaf:knows to 
knows, but there is no formal fallout from this shadiness.
>
> And “unknown entity” is intended; this is why you have to fetch it if you're curious.
>
>>> If you want more semantics, just add them:
>>>      </people/markus/friends> :isACollectionOf [
>>>          :hasPredicate foaf:knows;
>>>          :hasSubject </people/Markus
>>>      ]
>>> But that is _not_ needed to achieve my 1 and 2.
>> Well this certainly adds more triples.  Whether it adds more meaning is a separate issue.
> Obviously, we'd define isACollectionOf as well.

Again making a significant addition to RDF.
>
>> It appears that you feel that adding significant new expressive power is somehow less of a change than adding new syntax.
> I'm not adding any new expressive power. Can you point exactly to where you think I'm doing that?
> Yes, I define a memberOf predicate that clients have to understand.

That's new expressive power.
> But that's a given if we just define it was owl:inverseProperty hydra:member.
Which is precisely my point.  You are using OWL, not just RDF.  If you want to 
do this in a way that fits in better with RDF, it would be better to add to 
the syntax of RDF without adding to the semantics of RDF.
>
> Best,
>
> Ruben
peter
Received on Monday, 31 March 2014 16:08:03 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:29:38 UTC