2012/9/5 Marco Fleckinger <marco.fleckinger(a)gmail.com>om>:
Hi,
On 05.09.2012 10:39, John Erling Blad wrote:
Please note that this is a breaking change for bots!
It is decided that the module wbsetitem will change from the present
"short form" in the json structure to a "long form". Exactly how the
long form will be is still a bit open, but it will be closer to the
json output format. The changes also makes it possible to use a
key-less format as the language and site id will be available inside
the long form.
The following short form will be WRONG in the future
{
"labels":{
"de":"Foo",
"en":"Bar"
}
}
Here we have the Problem, that we cannot add additional information, like a
short description or anything similar. So this is absolutely necessary.
Right, that is why we are deprecating it.
This long form
will be RIGHT in the future
{
"labels":{
"de":{"value":"Foo","language":"de"},
"en":{"value":"Bar","language":"en"}
}
}
do you really want redundant information?
The redundancy comes from the browsability that you discuss later.
This allows the object in the key-position to be completely
self-sustainable and can be passed around. The key is folded forward
to increase the browsability.
Also the keys do not explicitly say what they are (language codes,
e.g., in this case). This makes the data format require more external
description.
And also this
will be RIGHT
{
"labels":[
{"value":"Foo","language":"de"},
{"value":"Bar","language":"en"}
]
}
Not easy browsable by using labels[lang] or labels.lang. Iterating through
different labels is needed.
so why not using:
{
labels:[
de:{value:"Foo", source:whatever_de},
en:{value:"Bar", source:whatever_en}
]
}
Because then the objects are not self-contained, as they do not say
which language they are.
Here you can iterate through all items using their key
and the value object:
for (key in labels) {
console.log(labels[key])
}
So you can in the redundant version.
Marco
_______________________________________________
Wikidata-l mailing list
Wikidata-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-l
--
Project director Wikidata
Wikimedia Deutschland e.V. | Obentrautstr. 72 | 10963 Berlin
Tel. +49-30-219 158 26-0 |
http://wikimedia.de
Wikimedia Deutschland - Gesellschaft zur Förderung Freien Wissens e.V.
Eingetragen im Vereinsregister des Amtsgerichts Berlin-Charlottenburg
unter der Nummer 23855 B. Als gemeinnützig anerkannt durch das
Finanzamt für Körperschaften I Berlin, Steuernummer 27/681/51985.