solid / solid-spec

Solid specification draft 0.7.0
Creative Commons Zero v1.0 Universal
1.13k stars 103 forks source link

Organization webid? #121

Open gibsonf1 opened 5 years ago

gibsonf1 commented 5 years ago

In creating an organization web id, would the standard potentially be this:

https://company.example.net/profile/card#us

Basically using "us" instead of "me", all else the same.

elf-pavlik commented 5 years ago

I don't think it should matter for anyone what string one uses for the fragment in IRI. In general IRIs should be considered as opaque identifiers. In other words client applications should make no assumptions about strings used in IRIs.

To denote an organization one can choose any IRI which when referenced should respond with valid RDF serialization. I think it makes sense to also include vcard:Group definition for the organization to work smoothly with https://github.com/solid/web-access-control-spec#groups-of-agents

kjetilk commented 5 years ago

In general IRIs should be considered as opaque identifiers.

Certainly! But it is a contribution towards the aesthetics of the system, so I think it is a nice feature to have if possible. If aesthetics played no role in URI minting, we'd all have a hash after the host name... :-)

To denote an organization one can choose any IRI which when referenced should respond with valid RDF serialization. I think it makes sense to also include vcard:Group definition for the organization to work smoothly with https://github.com/solid/web-access-control-spec#groups-of-agents

Yeah, this is more important, but I'd say that if the information that an URI identifies a vcard:Group is available, then whatever mints that URI should use #us.

gibsonf1 commented 5 years ago

Thank you @elf-pavlik & @kjetilk , I've updated my code and the graph at the start of the thread is now updated as well.

gibsonf1 commented 5 years ago

@elf-pavlik - one other question, since you mention the fragment on the webid, I do admit to being a bit confused on this point. Is there an official standard or practice for assigning the webid? It seems inrupt's standard is <user.inrupt.net/profile/card#me> for the webid node IRI , which I've adopted with my library so that people can understand naming between systems. I realize this isn't in the standard, but I do think having common naming between systems will make it much easier for users who want to do cross pod links etc.

melvincarvalho commented 5 years ago

@gibsonf1 the indexical is entirely up to you. For users, most common is #me by far, and it also has a similarity with rel="me".

us seems a perfectly reasonable choice for a group. We use #this for general primary topics, as that is similar to many programming languages.

Using the fragment is critical for the difference between a document and data in that document. Which enables the web of data to scale in much more, fine grained way.

elf-pavlik commented 5 years ago

I think this draft still holds as canonical reference https://www.w3.org/2005/Incubator/webid/spec/identity/

Using the fragment is critical for the difference between a document and data in that document. Which enables the web of data to scale in much more, fine grained way.

I would add that tooling shouldn't make assumption about using that specific practice, one can also use HTTP 303 redirect between IRI denoting some entity and IRI of a document that describes it https://www.w3.org/TR/cooluris/#choosing

For example one doesn't have to use solid server as identity provider, last time I run a solid server I used https://elf-pavlik.hackers4peace.net/ as my WebID which 303 redirected to profile document hosted on solid server. Once I redeploy things again I plan to use https://hackers4peace.net/ as WebID of an organization which will 303 redirect to a profile document hosted on solid server which describes it as vcard:Group.

Any tooling should use follow your nose approach and support general linked data practices. Of course one can choose various convention of using #foo or #bar while creating IRIs as long as it doesn't assume that everyone in one the web also uses such convention.

If aesthetics played no role in URI minting, we'd all have a hash after the host name... :-)

Actually I move more and more in this direction of just using UUID (or cuid) and hashes. It doesn't introduce i18n related problems when creating IRIs. Also modern Progressive Web Apps don't even show the address bar so in most IRIs only host name matters for verifying origin before adding app to home screen. WebID which denote agents often need some vanity or at least stay human readable, but different people have different aesthetics so I wouldn't look for standard one and just accept that different conventions have to coexist on The Web. I guess original question comes more as UX concern than conformance to some spec that developer has to follow for ensuring interoperability.

elf-pavlik commented 5 years ago

https://en.wikipedia.org/wiki/Internationalized_country_code_top-level_domain

As of June 2010, four such TLDs have been implemented: three using the Arabic alphabet, السعودية., مصر. and امارات. (for Egypt, Saudi Arabia and the United Arab Emirates, respectively), and one using Cyrillic, .рф (for Russia). Five new IDN ccTLDs using Chinese characters were approved in June 2010: .中国 with variant .中國 (for mainland China), .香港 (for Hong Kong), and .台灣 with variant .台湾 (for Taiwan).

I wouldn't want to make assumption that people using domain names with any of those TLDs will find #me or #us aesthetically appealing.

kjetilk commented 5 years ago

Actually I move more and more in this direction of just using UUID (or cuid) and hashes.

OMG! :-)

I wouldn't want to make assumption that people using domain names with any of those TLDs will find #me or #us aesthetically appealing.

Oh, but they are entirely free to mint their own that they do find pleasing. When the rest is profile/card, there is some consistency, but at some point, we may want to improve the entire minting algorithm to allow i18n/l11n adaptations.