- From: John Walker <john.walker@semaku.com>
- Date: Sat, 11 Oct 2014 18:20:11 +0200
- To: ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org>
- Cc: Dietrich Schulten <ds@escalon.de>, "public-hydra@w3.org" <public-hydra@w3.org>
Hi Just thinking out loud here. Say I have a product resource that has multiple reviews. Obviously I can embed these in the product resource but lets assume I make each review a separate resource. Now imagine my product is super popular (or at least evokes a strong opinion) and it gets thousands of reviews. So I decide to pull out the list of reviews to a separate resource of type hydra:Collection. A question I was mentally wrestling with is how to link from the product to the collection - should I mint a new property? However given the example from Elf I wonder if I could just use rdfs:seeAlso to do this. Provided I include a bit of info about the collection in the representation of the product, that should be sufficient for a client to decide if it's worth to follow that link (or not). The semantics of rdfs:seeAlso are a perfect fit for this IMHO: http://www.w3.org/TR/rdf-schema/#ch_seealso What do others think of this as a design pattern? Regards, John On 11 Oct 2014, at 10:08, ☮ elf Pavlik ☮<perpetual-tripper@wwelves.org> wrote: > On 10/10/2014 12:15 PM, Dietrich Schulten wrote: >> After looking at the use of fragment identifiers in the hydra vocab, >> it seems a url with fragment identifier points to an object having an >> @id with exactly that url with fragment identifier somewhere in a >> surrounding object identified by the url without fragment identifier. >> >> So the problem seems to be that the array of reviews has no >> identifier, for RDF the array is simply not there, rather it sees >> repeated triples of >> /products/1/reviews - member - review/1 >> /products/1/reviews - member - review/2 > Yes, currently we don't have here a Collection/Container resource which > we can refer to by @id, and once we introduce it we need to somehow make > clear subject-predicate(property)-object relationship for all the members > "manages": { > "property": "schema:knows", > "subject": "/alice" > } > or for inverse properties > "manages": { > "property": "schema:attendee", > "object": "/alice" > } > https://www.w3.org/community/hydra/wiki/Collection_Design > >> >> >> >>> Have you had chance to read http://www.w3.org/TR/webarch/ which >>> explains topics like URI Opacity? >> >> Yes. Do you think I violated opacity here? > > I must admit that I didn't really understood how you wanted to use > 'hydra:member' as part of "http://api.example.com/reviews#hydra:member", > I speculated here a bit that maybe you want to match strings somehow. >
Received on Saturday, 11 October 2014 16:20:50 UTC