It's not easy to find docs on how what API #Solid pods use. I looked in the specs and found nothing. What is the endpoint? How do you give it the triplets?
It's not easy to find docs on how what API #Solid pods use. I looked in the specs and found nothing. What is the endpoint? How do you give it the triplets? 9 comments
@jg10 Thank you! The REST CRUD part is unclear to me. Does Solid support not just storing the triplets, but also something like files? This part is very similar to more classic web servers, am I understanding correctly? N3 Patches are what I was looking for, thank you! I send an N3 Patch document to the pod, it handles it, and all's good. Libraries are not particularly helpful, I would need a Go library, and I haven't found one. Looking up Go solid library yields some OOP-related guides :-( @bouncepaw A library is most needed for authentication, using the solid-oidc spec. It does look like someone has started something in go: @jg10 I see now, thank you! A flash drive on steroids. But how are permissions handled? Does every application reserve some prefix or what? The library is too immature, to be honest. If I ever get to serious Soliding, I'll make my own. The OIDC spec is long, but looks quite implementable, I think. @bouncepaw @jg10 Permissions are a bit of a mess, unfortunately, as there are (so far) two competing standards for that, so different servers might implement different standards. Solid doesn't mandate a particular one, so it's even possible that additional ones arise in the future. The two specs are: - Web Access Control: https://solidproject.org/TR/wac @VincentTunru @jg10 Sad. WAC has received a new version this year, while ACP only in 2022. I suppose the specwriters are more focused on WAC? ACP has been mostly pushed by Inrupt, the company Tim Berners-Lee founded around Solid, and which is mostly focusing on enterprise customers. (Disclosure: I used to work there a couple of years ago.) It's the method their Solid instance https://pod.inrupt.com uses. WAC was the initial access control spec for Solid, and is still used by the main community-used server, https://solidcommunity.net. So they're both the main focus for an important cohort of people, unfortunately... In general it's important to note that the Solid specifications are still in flux - but I don't think permissions is a major issue at this time - WAC and ACP are sufficiently similar that two possible solutions include having client libraries interoperate across both or updating WAC to include missing features |
@bouncepaw
Hi! To start with it's a REST CRUD interface on each individual resource, e.g. you can do
PUT https:// my.pod/my-resource
DELETE https:// my.pod/my-resource
There's also
PATCH using an "N3 Patch" format
https://solidproject.org/TR/protocol#n3-patch
In practice, developers use libraries that abstract this out. See e.g.
https://timea.solidcommunity.net/HelloWorld/