Hi!
In theory, having an identifier datatype and rendering strings as urls are two separate things. We could dispatch the rendering based on property_info and support the "formatter url" property for more values (eg. coordinates) without even having an identifier datatype. It is just a good idea to conceptually separate external identifiers from other string values.
Correct in theory. In practice however if we create implication between the two, we need to be careful to not create cases where it would be hard for automatic tools to produce correct result.
I don't see why it is an issue that some external identifiers don't translate to URIs. What complex logic is involved here? In RDF we should just add the plain identifier like we have it now as the default value,
If we say "since external IDs are in fact URIs, since they refer to external databases, then let's mark them as URI property and render them as full URI - i.e. let's instead of:
wd:Q1000336 wdt:P646 "/m/03pvzn"
say this:
wd:Q1000336 wdt:P646 https://www.freebase.com/m/03pvzn
This may make a lot of sense, since the interesting URL that people would like to see may be the latter, and the former is kind of chopped-off form of it we use for our internal purposes. OTOH, what if it wasn't easy or possible to generate the latter from the former automatically? Then we need some logic to figure that out.
and the expanded urls as derived values if available.
What you mean by "derived values"?