- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Mon, 16 Apr 2018 21:02:16 +0200
- To: "'Hydra'" <public-hydra@w3.org>
The minutes from this week's telecon are now available at http://www.hydra-cg.com/minutes/2018-04-16/ The full text of the discussion is below, including a link to the audio recording. ------------------------------------------------------------------- Hydra W3C Community Group Telecon Minutes for 2018-04-16 Agenda: https://www.w3.org/community/hydra/wiki/Conference_Calls#2018-04-16 Topics: 1. Follow-up on ACTION items 2. Implementation of two new API documentation use cases 2.1 and 2.2 (PR-30) 3. Obtaining all collection members fixing issue 33 (PR-34) Chair: Markus Lanthaler Scribe: Markus Lanthaler Present: Markus Lanthaler, elf Pavlik, Tomasz Pluskiewicz, Karol Szczepański Audio: http://www.hydra-cg.org/minutes/2018-04-16/audio.mp3 Markus Lanthaler is scribing. Topic: Follow-up on ACTION items Markus Lanthaler: the first AI was: Markus to write down a proposal on how a expects "request shape" could look like Markus Lanthaler: didn't have time to get this done, will send it out the next couple of days Markus Lanthaler: the second AI was: Karol, to extend use cases to include ApiDocumentation examples Karol Szczepański: same here ... was busy with PRs Markus Lanthaler: the third AI was: Pavlik, to create issue regarding subject in POSTs etc. - Issue-162: managing @id and/or @base for newly created resources / named graphs elf Pavlik: https://github.com/HydraCG/Specifications/issues/162 elf Pavlik: I created ISSUE-162 ... I probably tried to capture too many things in there ... I describe in there how a server can accept a POST with a blank node ... and decide which node to pick ... with multiple nodes it isn't so obvious for the server which resource to pick and assign IDs Markus Lanthaler: did anyone have a chance to read ISSUE-162 already? Karol Szczepański: me and Tomasz already replied ... if the server expects a single resource is it allowed to pass a graph? Tomasz Pluskiewicz: I think it's just a serialization detail ... but there might be differences between PUT and POST elf Pavlik: yeah, in a PUT the client knows what happens and can use full IRIs instead of blank nodes ... can a relative IRI be used in a POST? Karol Szczepański: we discussed that before.. but I don't remember the outcome Tomasz Pluskiewicz: if you request something and get back relative URLs ... the base is taken from the request URL elf Pavlik: yeah, unless it is overridden in the context Tomasz Pluskiewicz: I think that still holds for a POST Karol Szczepański: the IRI you are POSTing to might be completely unrelated to what you are posting Tomasz Pluskiewicz: in that case, the server should ignore the @id the client provides elf Pavlik: when you say @id, you only mean the single, top-level node, right? ... the client could send a graph with multiple resources Tomasz Pluskiewicz: you make a good point ... looking at it as triples it is not obvious what the "root" is ... might be worth checking what the Linked Data Platform did elf Pavlik: I'll change my pull request to only cover the case with a single blank node which would be the root node Tomasz Pluskiewicz: I think assigning the ID is just a subset of the problem ... the general question is what's the root resource within the client-supplied graph elf Pavlik: for use case 5 with POST a single resource with a blank node ... don't you think it would be worthwhile clarifying that use case Tomasz Pluskiewicz: adding a note is fine ... but I wouldn't go into too much detail just yet Karol Szczepański: Pavlik, you could send a POST with a concrete @id elf Pavlik: it may re-assign a different IRI then Tomasz Pluskiewicz: maybe... or perhaps it would incorporate it as a separate resource into the graph ... or replace the IRI ... there are other options as well elf Pavlik: I think this would be easier to discuss on GitHub Tomasz Pluskiewicz: yeah, let's do that elf Pavlik: I have another use case where I PUT a triple but don't want to create a new resource Karol Szczepański: the PUT already defines the IRI ... regardless of what you put in the payload ... PUT tells the server to makes a resource out of the payload Tomasz Pluskiewicz: are you actually talking about a PATCH? ... with a PUT you want to tell the server to replace the resource ... but the client can't make too many assumptions about what exactly the server does ... further, you are just doing a POST ... which doesn't have any semantics ... just POSTing a triple isn't enough to derive the semantics Karol Szczepański: it would be nice to see real-world use cases for these scenarios elf Pavlik: a use case might be to allow an attendee to be attached to an event directly, i.e., without creating an intermediary collection resource Error: (IRC nickname not recognized)[20:26] <markus> ... that could be expressed with a single triple </event> schema:attendee </attendee> Karol Szczepański: fair enough.. but it is a implementation detail on the server elf Pavlik: think of it as a named graph elf Pavlik: https://github.com/HydraCG/Specifications/pull/154/commits/33ab45ae4bfbea89e 30c8c4f8df8043720d87f4b elf Pavlik: the commit I just referenced shows how this might work Markus Lanthaler: isn't this more of a PATCH? ... like patching the event resource to add a new attendee? elf Pavlik: not really, the relationships here have their own URLs as you see described with the IRI template Tomasz Pluskiewicz: this looks very complex while at the same time being very abstract ... you are adding triple patterns, adding subjects and predicates etc. ... the average Hydra consumer doesn't want to deal with this elf Pavlik: how would it work otherwise? ... it could think of a RPC-style POST ... I'm open to alternatives Karol Szczepański: quick idea.. the event could provide a collection for attendees elf Pavlik: right, but then you would POST a resource with a known IRI which would then create a new resource which just points to the person attending the event ... I would like to have something which doesn't need this extra complexity ... maybe as extension for people who are more interested in the linked data Markus Lanthaler: an alternative might be to use the LINK method elf Pavlik: wasn't it deprecated in HTTP/1.1? ... we should look it up Karol Szczepański: also, there's currently no way to describe the necessary HTTP headers with Hydra Markus Lanthaler: is there anything else we want to discuss in regard to PR-154 (Actions with explicit target) Karol Szczepański: what are the next steps Markus Lanthaler: if no one has a more concrete idea I think we need to iterate on it further ... GitHub is probably the better place to do so Topic: Implementation of two new API documentation use cases 2.1 and 2.2 (PR-30) https://github.com/HydraCG/Heracles.ts/pull/30 Karol Szczepański: I think the only remaining question is whether to expose the getHypermediaProcessor() method ... I think it will be useful Markus Lanthaler: I don't think that's a blocker ... let's proceed with the PR Karol Szczepański: I addressed all other feedback Markus Lanthaler: cool. I'll merge it right after the call Topic: Obtaining all collection members fixing issue 33 (PR-34) https://github.com/HydraCG/Heracles.ts/pull/34 Markus Lanthaler: it looks like no one had a chance to review it yet Karol Szczepański: this PR updates the implementation with the correct PartialCollectionView ... so this makes the client spec conformant ... in terms of features there's a new method to get all members Tomasz Pluskiewicz: quick question, why's there no Reviewable button? Markus Lanthaler: might be because I haven't set it up ... I'll check Tomasz Pluskiewicz: I think this shouldn't eagerly load the whole collection ... but do so lazily ... would be nice for things like infinite scrolling etc. Karol Szczepański: how would the API look like? Tomasz Pluskiewicz: it would also be nice to make it extensible ... there are different strategies on how to traverse pages Karol Szczepański: ok, I made a note ... and will think about it ... but please let me know if you have any ideas Tomasz Pluskiewicz: please add my comment to the PR so that we don't forget about it ... and please add a snippet on how the current feature works Markus Lanthaler: I guess there's a test that could act as snippet Tomasz Pluskiewicz: that's perhaps a bit too hidden. I would appreciate something in the PR description Karol Szczepański: ok Markus Lanthaler: anything else in regard to this PR or in general? Karol Szczepański: I just went through the HTTP specs ... in the first version LINK was described ... later it just says they weren't frequently used ... but doesn't say they were deprecated Markus Lanthaler: the HTTP methods were moved to a IANA registry https://www.iana.org/assignments/http-methods/http-methods.xhtml Markus Lanthaler: LINK is there, referencing the first HTTP spec: https://tools.ietf.org/html/rfc2068 ... but as you mentioned, those methods aren't widely used ... so there might be compatibility issues in practice
Received on Monday, 16 April 2018 19:02:53 UTC