Am 10.03.2016 um 10:26 schrieb Markus Kroetzsch:
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.
You are correct that such a relationship does not necessarily follow from first
principles. You are however incorrect in saying that there is no relationship in
Wikibase: The way the data model is currently defined and the way mappings are
implemented, we made a conscious decision to support such mappings only for
ExternalId values.
I think it would help the discussion if we could keep apart:
- what follows from formal principles
- what you (or I) consider best
- what the software currently does
(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.
That is incorrect from the way Wikibase defines and uses the ExternalId
datatype: the intent is indeed to say that something is an identifier that can
be mapped, and that such a (direct) mapping is not supported for other data
types. (That doesn't mean we will not offer different mappings for other data
types, perhaps URLs for looking up coordinates, etc).
Modeling this explicitly is indeed the reason to have this datatype.
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.
That's a misunderstanding. The plan is to support P1921 for URI mappings, and we
already do support P1630 for URL mappings. But we intentionally do this only for
ExternalId values, not for plain strings or other types.
So, the technical implementation does follow the community convention, with the
restriction that properties that should use this kind of mapping need to
explicitly be declared to be identifiers. We are also considering implementing
validation and normalization for ExternalId values, but it's not clear yet how
we can safely apply community supplied validation and normalization patterns.
--
Daniel Kinzler
Senior Software Developer
Wikimedia Deutschland
Gesellschaft zur Förderung Freien Wissens e.V.