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

RE: How to avoid that collections "break" relationships

From: Markus Lanthaler <markus.lanthaler@gmx.net>
Date: Mon, 31 Mar 2014 20:26:12 +0200
To: <public-hydra@w3.org>, <public-lod@w3.org>, "'W3C Web Schemas Task Force'" <public-vocabs@w3.org>
Message-ID: <032101cf4d0e$b3547010$19fd5030$@lanthaler@gmx.net>
On Monday, March 31, 2014 5:29 PM, Ruben Verborgh wrote:
>    </people/markus> foaf:knows [ hydra:memberOf
> </people/markus/friends> ].
> 
>     means "Markus knows somebody who is a member of collection X".
> 
> Check that collection X to find out if Markus knows more of them.

That second sentence is where this approach loses its appeal for me. IMO, it
doesn't really suggest to go and check "collection X to find out if Markus
knows more of them". Of course, you can always do, but why should you. A
person, and that's all we know about that blank node, might be a member of
multiple collections. Why should I go and inspect exactly this one to find
Markus' friends?


> I'm not saying there will be more in there. just saying that you could
> check it.
> Handy for a hypermedia client. Works in practice, doesn't break the
> model.
> 
> 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.

I would be interested to hear your opinion on the thought I posted
yesterday:

  {
    "@id": "/markus",
    "hasRelationshipIndirection": {
      "property": "schema:knows",
      "resource": "/markus/friends"
    }
  }

It could also be tweaked into something like

  {
    "@id": "/markus",
    "hasRelationshipIndirector": {
      "schema:knows": "/markus/friends"
    }
  }

so that it works nicely with property paths.



--
Markus Lanthaler
@markuslanthaler
Received on Monday, 31 March 2014 18:26:47 UTC

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