Re: How to avoid that collections "break" relationships

>>    </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”.

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.

> 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.
But that's a given if we just define it was owl:inverseProperty hydra:member.

Best,

Ruben

Received on Monday, 31 March 2014 15:48:55 UTC