- From: Gregg Kellogg <gregg@greggkellogg.net>
- Date: Fri, 28 Mar 2014 13:15:51 -0700
- To: W3C Web Schemas Task Force <public-vocabs@w3.org>, public-hydra@w3.org, Linked Data community <public-lod@w3.org>
- Cc: Michael Haschke <mhaschke@brox.de>, Vuk Milicic <vuk.milicic@eurecom.fr>, Markus Lanthaler <markus.lanthaler@gmx.net>, Niklas Lindström <lindstream@gmail.com>
- Message-Id: <24BAE602-D853-474C-8951-F3AF859EF66A@greggkellogg.net>
The conversation split between just the Hydra mailing list, and the wider mailing list including Web Schemas and LOD. In my opinion, we have a way forward: For a generic Hydra interface use a rdfs:seeAlso predicate to reference a void:Linkset annotated with the predicate it relates to (based on Niklas' suggestion). For example, the example we've been using might be described as follows: </markus> a foaf:Person; rdfs:seeAlso [ a void:Linkset; void:subjectsTarget </markus>; void:objectsTarget </markus/friends>; void:linkPredicate foaf:knows ] . The resource at </markus/friends> is a hydra:Collection, but also contains triples that assert the individual foaf:knows relations: </markus/friends> a hydra:Collection; hydra:member </gregg>, ... </markus> foaf:knows </gregg> . In a schema.org variety, this might simply be done with a more direct relationship: </markus> a schema:Person; rdfs:seeAlso </markus/friends> . </markus/friends> schema:about schema:knows . Then in the </markus/friends> resource: </markus/friends> a schema:ItemList; schema:itemListMember </gregg>, ... </markus> schema:knows </gregg> . In the first (pure) example, the void:Linkset specifically relates subects in </markus> with objects in </markus/friends> using the foaf:knows predicate. An API client would know to dereference the </markus/friends> if it is interested in following foaf:knows relationships. In the second example, a client knows which of possibly several rdfs:seeAlso relationships are follow because each object is described as being "about" whatever the predicate used within the ItemList uses. It's less accurate than the void:Linkset, but seems more in keeping with the simplicity of schema.org. A schema:seeAlso predicate might also be useful. Gregg Kellogg gregg@greggkellogg.net On Mar 25, 2014, at 11:55 AM, Vuk Milicic <vuk.milicic@eurecom.fr> wrote: > Markus, > >> OK.. this is quite similar to what we discussed in the Hydra CG (and what >> LDP does): >> >> </markus> a schema:Person ; >> >> </markus/friends/>:manages [ >> :subject </markus> ; >> :property schema:knows >> ] ; >> >> The thing I don't really like with these approaches is that you have to peek >> into the container to find out whether it contains/manages the information >> you are interested in. > > Conceptually, </marcus/friends> is not a container, but a class -- my point from the beginning. > That RDF is basically equivalent to what I wrote in [1] using OWL, why reinventing the wheel? > > [1] http://lists.w3.org/Archives/Public/public-lod/2014Mar/0111.html > > - > Vuk MIilcic > @faviki
Received on Friday, 28 March 2014 20:16:21 UTC