- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Tue, 4 Feb 2014 20:34:11 +0100
- To: <public-hydra@w3.org>
On Tuesday, February 04, 2014 7:56 PM, Gregg Kellogg wrote: > On Feb 4, 2014, at 10:26 AM, Markus Lanthaler wrote: > > We could of course go ahead and define a > > Collection's semantics so that > > > > x p c . > > c hydra:members y . > > > > would entail > > > > x p y . > > > > which is what you are looking for, right? > > That would be a way to do it with semantics, but I don't think this is > as useful for the target audience. Also, I presumed that hydra:members > would be an ordered collection (e.g., @container: @list), but that > might not necessarily be the case; my examples had the values of > hydra:members in a list, but this would be incompatible with such an > entailment rule (sadly). If it's an ordered list, couldn't you simply use a URL for the list's head? </gregg> :follows </list> . </list> rdf:first </markus> ; rdf:rest _:i2 . _:i2 ... > >> :ApiPerson a hydra:Class; > >> hydra:supportedProperties [hydra:property schema:name], > >> [hydra:property :follows] . > >> > >> :follows a hydra:Link > >> rdfs:label "follows"; > >> rdfs:comment "Collection of followed people"; > >> rdfs:domain schema:Person; > >> rdfs:range schema:Person; > > > > This range isn't correct unless you want > > <http://example/people/gregg/follows> to be of type schema:Person. > > Yes, it should be hydra:Collection. I supposed it could also be a sub- > class of hydra:Collection where the range of hydra:member could be > restricted to be schema:Person. Sure. OWL already has everything you would need to do so. [...] > >> I guess the question is, is this an expected usage pattern? Should the > >> collection examples represent this, or should it be described as a > >> recommended practice? Perhaps I've missed something. > > > > I think this is definitely one of the most common usage patterns in Web > > APIs. The question whether there needs to be a direct link between the > > resources or whether you can go "through" a Collection is another question. > > As long as the consumer of the data understands Collection/ItemList I think > > it's not a problem. If it doesn't, it is of course. > > From an SEO perspective, it's not clear that schema.org partners would > make this connection, even though a ItemList has been defined. For that > to be the case, I would expect that they would allow any property to > take an ItemList in addition to the specified property range and do the > inference you suggested above. I obviously don't know what they are doing internally but I as they clean up so much other messy data I'm quite sure they make this connection or plan to do so. [...] > Thanks for the response, at least I know that my understanding of the > issues doesn't seem to be that far off. I think this is something we should definitely keep in mind. I've raised ISSUE-33 [1]. Please let us know how you decided to solve this issue in the API you are building. [1] https://github.com/HydraCG/Specifications/issues/33 -- Markus Lanthaler @markuslanthaler
Received on Tuesday, 4 February 2014 19:34:44 UTC