Hi Stas, Markus, Denny!
For a long time now, we have been wanting to generate proper resource references (URIs) for external identifier values, see https://phabricator.wikimedia.org/T121274.
Implementing this is complicated by the fact that "expanded" identifiers may occur in four different places in the data model (direct, statement, qualifier, reference), and that we can't simply replace the old string value, we need to provide an additional value.
I have attached three files with snippets of three different RDF mappings: - Q111.ttl - the status quo, with normalized predicates declared but not used. - Q111.rc.ttl - modeling resource predicates separately from normalized values. - Q111.norm.ttl - modeling resource predicates as normalized values.
The "rc" variant means more overhead, the "norm" variant may have semantic difficulties. Please look at the two options for the new mapping and let me know which you like best. You can use a plain old diff between the files for a first impression.