@RubenVerborgh wrote:
Long term
Since we’re using Linked Data, in the long term, whether data pods use foaf:name
, vcard:fn
, or schema:name
shouldn’t really matter.
Current issue
However, in the short term, app developers need clear expectations about what kind of properties to ask for. If one application writes foaf:name
, another reads vcard:fn
, and a third writes schema:name
, not only will we fail at interoperability, we will also have data inconsistencies.
Urgency
Having a default choice is important, because while everything is possible, only one thing can be made easy. E.g., in a JSON-LD context, there can only be one firstName
; the rest will have to be prefixed names or fully qualified URLs. So which one should it be? Since the dev kit is starting to take shape, this discussion is becoming urgent.
Domain-specific
This decision might need to be made per domain, i.e., different for people, photos, etc.
Maybe a good first question is how to model profiles. I see three broad choices:
- FOAF
- vCard
- Schema.org
Call for input
Good arguments can be made for each one, and please make yours below (I will). But the more important one is that we make a decision and document it.
Example
In LDflex for Solid, we currently support;
solid.data.user.foaf_name
solid.data.user['foaf:name']
solid.data.user['http://xmlns.com/foaf/0.1/name']
solid.data.user.vcard_fn
solid.data.user['vcard:fn']
solid.data.user['http://www.w3.org/2006/vcard/ns#fn']
solid.data.user.schema_name
solid.data.user['schema:name']
solid.data.user['http://www.schema.org/name']
However, there can only be one name
:
solid.data.user.name
and this currently is http://xmlns.com/foaf/0.1/name
.
But what should it really be?
There has been some discussion on https://github.com/solid/solid/issues/222 with @csarven, @codenamedmitri, and @kjetilk and would like to invite more here.