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
gr...@greggkellogg.net

On Mar 25, 2014, at 11:55 AM, Vuk Milicic <vuk.mili...@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

Reply via email to