Hydra W3C Community Group Telecon

Minutes for 2017-09-18

Markus Lanthaler: tpluskiewicz, can you hear us? I hear some noise coming from you but you don't seem to hear us
Tomasz Pluskiewicz: yea, I'm back
Tomasz Pluskiewicz is scribing.

Topic: Heracles.ts PR-11 (retrieving events)

Markus Lanthaler: there's room for improvement but we should merge. Karol, Pavik, do you have opinions?
Karol Szczepański: nothing to add. not a big PR
...next use cases will benefit
Markus Lanthaler: the interface is contentious. we discussed to use more specialized methods
Karol Szczepański: the API will evolve with the use cases
Markus Lanthaler: Should we vote?
PROPOSAL: Merge Heracles.ts PR-11
Markus Lanthaler: +1
Karol Szczepański: +1
Tomasz Pluskiewicz: +1
Markus Lanthaler: pavlik +1
RESOLUTION: Merge Heracles.ts PR-11

Topic: Follow-up on action items

Markus Lanthaler: 1) Tomasz to research how a handful of popular/well-known APIs solve (https://github.com/HydraCG/Specifications/issues/134#issuecomment-322575730)
elf Pavlik: +1 on merge PR proposal (needed to reconnect)
Tomasz Pluskiewicz: I didn't really find anything that would be interesting for this [scribe assist by Markus Lanthaler]
... but I discussed it with colleagues
... there's a proposal to use the LINK method
... or linkset
... the problem is that it's quite the opposite of the initial action item
... so I found options on how to implement it but didn't find any usages in the wild
... we are missing some pieces in Hydra; we can specify the LINK method but we can't, e.g., define custom media types for the request
Markus Lanthaler: so none of GitHub's, Facebook's or Google's APIs for instance have methods to add already existing entities to collections of some sort? [scribe assist by Markus Lanthaler]
Tomasz Pluskiewicz: I just pasted an example from GitHub.. it just has a list of usernames. Not sure how useful that is [scribe assist by Markus Lanthaler]
Markus Lanthaler: I think it is useful in the sense that it will show us examples people are already familiar with [scribe assist by Markus Lanthaler]
Tomasz Pluskiewicz: right, but it somehow misses the formality that JSON-LD/Hydra requires. They are mostly ad-hoc designs [scribe assist by Markus Lanthaler]
Markus Lanthaler: how would you suggest to move on? Should we acknowledge that there are no well-known patterns and we should just come up with something or should we try to find more examples? [scribe assist by Markus Lanthaler]
Tomasz Pluskiewicz: maybe we should look beyond JSON-LD and allow other media types etc. [scribe assist by Markus Lanthaler]
elf Pavlik: maybe we should distribute the effort and investigate further [scribe assist by Markus Lanthaler]
Markus Lanthaler: so you think it would be valuable to do some research? [scribe assist by Markus Lanthaler]
elf Pavlik: I can take a look meetup.com and maybe one other API
elf Pavlik: I think so yeah. And it wouldn't be so much work for people if we would split the effort [scribe assist by Markus Lanthaler]
Karol Szczepański: +1
Karol Szczepański: is it worth to check Jira/Confluence APIs? Not exactly hypermedia but have similar functions
Markus Lanthaler: good idea
... should we create action items?
Karol Szczepański: yes, let's distribute the workload
ACTION: Karol to analyse Jiira/Confluence APIs
Markus Lanthaler: Karol will analyze Atlassian (Jira, Confluence)
Markus Lanthaler: Pavlik will look at Meetup?
ACTION: Pavlik to analyse meetup.com and look for another one
elf Pavlik: I will look for more examples
ACTION: Markus will analyze some Google APIs
Markus Lanthaler: I can look at... Facebook? And some Google APIs
ACTION: Tomasz will analyze Huddle & Foxycart
Markus Lanthaler: anything else?
Markus Lanthaler: The second action item was on Pavlik to add some more use cases that illustrate the manages feature introduced in PR-132 (http://www.hydra-cg.com/minutes/2017-08-21/#action-1)
Markus Lanthaler: Two PRs: PR-136 (already merged) & PR-140 (pending, https://github.com/HydraCG/Specifications/pull/140)
elf Pavlik: I added two more "main" collections. people and venues
... they are discoverable from entrypoint using manages block
... I also added attendees and a collections which represent attendance
Markus Lanthaler: tomasz reviewed and this PR looks good to merge
elf Pavlik: this PR uses LINK/UNLINK method and it's a proposal. related issue is linked to it
Markus Lanthaler: +1
elf Pavlik: +1
Tomasz Pluskiewicz: +1
Karol Szczepański: +1
Markus Lanthaler: The third action item was on Pavlik too to create a use case for adding existing resources to collections (https://github.com/HydraCG/Specifications/issues/134)

Topic: Updates on the status of other open PRs

Markus Lanthaler: I'll try to polish and combine my PRs (#10 and #12)
ACTION: Markus to combine PR-10 & PR-12 and send them out for review later this week
Markus Lanthaler: one is from 2015, let's skip
Markus Lanthaler: the other one is from Tomasz
Tomasz Pluskiewicz: let's reject it
Markus Lanthaler: yes, we should first polish the spec and Heracles
... the last one is by Pavlik and ready to merge
Markus Lanthaler: we should not assume anything about the payload @context
Karol Szczepański: what if the payload is any other RDF serialization?
Payload: then it's even more appropriate not to rely on the @context
... if you get Turtle you can still provide your own context
Karol Szczepański: not sure I understand
... is it up to the client to take care of compaction?
...the client should use untouched form. the current impl is using the framing and the context used to process affordances
... existing payload is untouched
Markus Lanthaler: I think that a method like getProperty should get complete URL
... and not rely on what server uses for compaction. the user of heracles shouldn't know that
elf Pavlik: yes, that's what I had in mind.
... part of the PR used full URLs not to used prefixes
Markus Lanthaler: if I understand Karol, the client just pipes the payload
... which makes it a non-issue
Karol Szczepański: it's better because it uses the payload as BLOB
... heracles processes JSON-LD to try to extract hypermedia
... if it was Turtle, it would be left alone
... again, this internal processing is transformed to be as generic and repacked into Hydra-context to have nice JS structure
Markus Lanthaler: what if we added a method like 'getPropertyValue'?
Karol Szczepański: property of resource?
Markus Lanthaler: yes
Karol Szczepański: and if resource is an image and hypermedia is in headers?
Markus Lanthaler: if I retrieve schema:Person I would want to know the age, for example?
Karol Szczepański: is this hydra clients responsibility? or JSON-LD client's?
Markus Lanthaler: maybe we need additional issue?
Karol Szczepański: my impression was for Heracles to be low-level
Markus Lanthaler: this warrants more discussions. Pavlik, please open a new issue
elf Pavlik: ok. I will take a look at current issues and propose something
... but I understand that we don't rely on server's context
... before I jump into this I'll propose to align the current context
elf Pavlik: maybe we should drop the hydra prefix and use the namespace helper
Markus Lanthaler: that's about right
... maybe we should merge Karol's PR and you can send another one to improve
elf Pavlik: I will and maybe we could move quickly
... I will close the one issue and follow up on the second one
Markus Lanthaler: anything else to discuss today?
... thank you everyone. see you in 2 weeks