Re: WebID default serialization for WebID 2.x

On Tue, Jan 25, 2022 at 11:59 PM Kingsley Idehen <kidehen@openlinksw.com>
wrote:

> On 1/25/22 6:08 PM, Nathan Rixham wrote:
>
> On Tue, Jan 25, 2022 at 10:58 PM Kingsley Idehen <kidehen@openlinksw.com>
> wrote:
>
>> On 1/25/22 4:29 PM, Nathan Rixham wrote:
>>
>> On Tue, Jan 25, 2022 at 9:23 PM Kingsley Idehen <kidehen@openlinksw.com>
>> wrote:
>>
>>> On 1/25/22 1:28 PM, Nathan Rixham wrote:
>>>
>>> Would a fair definition of a valid WebId then be something like: A URI
>>> is a valid WebIdentifier if it dereferences to a valid WebId-Profile
>>> describing the URI with the minimum set of required properties (type, name,
>>> public_keys)?
>>>
>>> A WebID is a resolvable identifier that denotes an agent. It resolves to
>>> a WebID Profile Document.
>>>
>>  How do you know it's a WebID before you resolve it?
>>
>> Good question!
>>
>> By deciding the want to denote yourself using a given identifier,
>> relative to your profile document.
>>
> Let me rephrase, and suggest looking at it the other way around: given a
> random IRI <y> how do I know <y> is a webid / refers to an Agent, without
> first resolving it? and as a sub point, is a "valid" webid?
>
> You know it is a WebID because the spec says its is a URI that denotes an
> Agent. That's it, really :)
>
> "
> WebID A WebID is a URI with an HTTP or HTTPS scheme which denotes an
> Agent (Person, Organization, Group, Device, etc.). For WebIDs with fragment
> identifiers (e.g. #me), the URI without the fragment denotes the Profile
> Document.
>
> "
>
I feel something is getting lost in translation.

There's no way to know this without doing something first, to implement
anything in code it would need to be the opposite way around, "A URI is a
WebID if...", there's no way for a system to know it's a WebID without
further information, and the spec should define what that information is,
and how to get it, the minimum needed to determine that a previously
unknown uri <y> as a WebID via some mechanism.

"A WebID is a URI with.." doesn't actually help or provide any guidance or
useful definition, indeed it's entirely impossible to get any further
unless you know beforehand that `<y> an :Agent`, but you don't know this
until after you've tried to resolve <y>  ..

Am I making sense here?

Received on Wednesday, 26 January 2022 02:10:26 UTC