Dear all,
I am surprised by the amount of confusion in this discussion. There is
absolutely no relationship between mapping of Wikidata values to URIs
and the external id datatype. There is no reason in RDF or elsewhere why
the two should be related.
(1) The mapping of Wikidata strings to URLs is controlled by the
formatted URL (P1630) property and its qualifiers.
(2) The mapping of Wikidata strings to URIs is controlled by the URI
pattern for RDF resource (P1921) property and its qualifiers.
(3) The external id datatype does not provide any mapping and the
criteria used for it by the community do not imply that such mappings
should exist for these cases, or that they should not exist for other cases.
We can add any amount of URLs (1) or URIs (2) to the RDF store without
problems. We only need to make a pick which ones to use (this can be
done using qualifiers, similar to the used by (P1535) qualifier that is
already used for formatter URL if there are many). RDF imposes no
requirements how these URLs/URIs should look, whether they are unique or
not, or whether they are issued by a particular authority or not. There
is no danger of confusion since URIs are by their very nature global
IDs, so you can use many of them on one resource without any problems.
None of the issues discussed in this thread seems to play much of a role
in RDF or in RDF consumers.
I am most worried about Daniel's remark. He says that we wants to use
external ids to identify properties with "values that identify a
resource", but does not mention the existing, community-supported
mechanism for doing just that (2), and instead proposes another
mechanism (3), which the community is clearly not using for this purpose
at all. In fact, there is no need for a technical change in Wikibase
here: if we want external URIs in RDF, we just have to add them based on
the data we find in P1921. If the developers don't like to follow the
community in this case, they should explain their technical (!) concerns
to the community and gather feedback.
Regards,
Markus
On 10.03.2016 01:37, Stas Malyshev wrote:
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"?
--
Markus Kroetzsch
Faculty of Computer Science
Technische Universität Dresden
+49 351 463 38486
http://korrekt.org/