Storage aside, one major problem with the save-in-the-article is that it shovels a lot of increased complexity onto the Wikipedia editors - one of the hopes for Wikidata is that we can convert the existing morass of WP template data into invoking {{infobox city}} and have population, etc, magically appear. Wikipedia articles thus become less scary, we get happier editors, everyone wins.
But having the "live" data saved into Wikipedia loses all this benefit - we have the same muddle of template data, with added semantic markup, If seeing |population=2348732 was confusing, |population={{#property:population|current value=2348732}} is the the worst of all worlds!
This is something we should probably fix within MediaWiki & Wikidata, so that it can handle things invisibly but give a meaningful response. My preference would be to build some kind of hook so that it can say "give me the version of the data in existence at timestamp X" and be given an accurate value; to have any meaningful ability to navigate old versions of WP we already need to do develop this for templates.
Nemo's suggestion for "give me the data valid at this date" and marking everything up correspondingly is interesting but I think a bit of a red herring - it will give spurious results. If we look at the old version of a Wikipedia article, we want to see *the article as it existed* then, not *the truth as it existed then*.
Imagine we had someone who was, say, married very quietly in 2013 and only publicly announced it in 2015. The information will be added to Wikidata in 2015 ("spouse: John Smith"), marked as valid from 2013 onwards. If we have a timestamp-of-data based system, looking at a 2014 page revision will not list a spouse in the infobox; if we have a data-validity based one, then the 2014 page will report "spouse: John Smith" even though Wikipedia itself didn't know that at the time.
- Andrew.
On Thursday, 4 April 2013, Gregor Hagedorn wrote:
when templates (or, in the case of wikidata, properties) get deleted or
renamed.
Nobody has come up with a good solution yet.
I think we did discuss a simple, working solution: Saving the value together with the Wikipedia page.
The major argument against that was: it is a waste of storage to create a new Wikipedia page (perhaps daily) when property values included in a page are changed in Wikidata. I personally value trust and documentation of change much higher than disk storage, but even then, there are ways to balance this. So perhaps a modified proposal that matches the current development stage:
If an editor saves a page with {{#property:population}} the parser looks up the current value and changes this to: {{#property:population|current value=2348732}} and stores this wikitext version in the Wikipedia. The same would apply to updating, saving {{#property:population|current value=2348732}} may result in {{#property:population|current value=2348700}} being saved.
This would mean no additional "waste" of storage for articles that are regularly changed. For those that are not, one could imagine a bot-based monthly update check to make past knowledge transparent.
I realize that this would require a pattern, where the Wikidata-derived values would remain editable on the topic/article pages, i.e. the property function would have to be inserted in the template call, rather than in the template definition. Those wikidata properties automatically called inside templates with a dynamic item decided by the current template call would not be preserved. However, both editing patterns would be available and it would be up to the community of each Wikipedia to choose the preferred one.
(As I said previously: although similar to the issue of commons images and templates, the issue at stake for Wikidata is different. Because of the problems in preserving a transparent editing history, updates to commons images are generally restricted to truly minor improvements (contrast, cropping, better resolution, etc.). I am not aware of cases, where commons images regularly are replaced with updated content that is different in substance and thus automatically changes all Wikipedia pages, representing different knowledge. I don't want to exclude this, but even for changing company logos the usual solution is to create a new name, preserving the old logo. Similarly, templates may fail to work in old versions (big problem!), but I am not aware that a template would render out-of-time information when viewing a past revision. Thus, the problem of Wikidata with respect to endangering the trust basis of Wikipedia, the version system, is related, but different).
Gregor
Wikidata-l mailing list Wikidata-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-l