How to access storage via a WebID

@bochaco and @joshuef With a view to making Solid apps compatible with SAFE I want to associate storage with the currently selected SAFE WebID.

I’m looking at the entries created for the WebID safe://me.happybeing in the _publicNames container, there is one for each of:

safe://happybeing
safe://me.happybeing#it
safe://me.happybeing

And each has a value in JSON-LD. I think I have the gist of this but am still studying and learning.

  • The last entry above has a service with an XOR address. What is that the address of (MD/ID)?

  • I’m thinking this relates to the profile document, but if not, how is that currently stored and accessed?

  • Looking at the WebID profile created by the SAFE WebID manager, for safe://me.happybeing I see it references a service xor address. What is that the address of (MD/ID)?

  • I’m wondering if this relates to an NFS MD storage container, but if not, what is it for, and how stored?

  • If I need to extend the WebID manager to provide an NFS MD storage container, can you suggest the best way to implement this. As another entry in _publicNames, or as I’m thinking, an addition to the profile document to specify a default storage location? I think there’s a standard way to specify default storage in a profile so if you think that’s the best approach I’ll use that.

I’m wondering if now is not the best time for me to start with this, if things are likely to change significantly before long. Would it be better to await developments, or for us to collaborate, or?

As an alternative, for now I could create some default storage automatically, derived from the WebID rather than modify the WebID manager to include it in the profile. That might be simpler anyway, but if there’s an easy way to work this into the experimental RDF implementation that would be nicer and might make for better compatibility with Solid apps (some of which may try to look up storage in the profile).

2 Likes

The _publicNames container is just a private directory/inventory, so it keeps just the list of public names owned by the account, in this case it has a pointer to the public name MD, it should be equal to sha3(“happybeing”)

The WebID profile doc is linked/referenced from the public name MD (the one located at sha3(“happybeing”)), and the WebID profile doc is stored at a random location.

The WebID profile doc is a MD storing RDF triples using the RDF emulation we have. This MD is created at a random location and referenced from the public name MD, like any other subname for a website is referenced from the public name MD to the NFS MD where the files are found. But for WebIDs we use just an MD with RDF data.

If I understand correctly you are trying to add to your WebID profile doc a link to a location where it has storage? if so, definitely the WebID profile doc is what you’d need to edit to add a link to, presumably to a NFS MD, that’s how others would find it, i.e. by reading your profile doc and following the link/s published within it

1 Like