Wikidata/Berlin summit 2012/data in templates
An overview of the proposed machanisms for integrating information from wikidata in article pages, e.g. in infoboxes. See https://meta.wikimedia.org/wiki/Wikidata/Notes/Inclusion_syntax
Daniel K:
- How to provide and format individual data in Wikipages?
- property parser function (default formatting based on data type)
- one item per wiki page only (because of language-link semantics), clear identification
- there are cases where different format is needed (e.g. raw)
- basic unit conversion will be provided (e.g. square meters, square miles)
- selection of desired language for multi-language properties (default: page content language)
- language fallback mechanism will be provided if article is missing in prefered language. How? This is still being discussed.
- WD. knows page titles, search function works to find item IDs based on labels and aliases; combination of page title and wiki-id will be unique, combination of language and label/alias will not.
- Q: Wikidata has a repo and a client: question is "How do you identify the item you want?"
- A: Specify a interwiki syntax for links to idems (using id xor page titles to identify the item)?
- Q: Define URI at the end?
- A: see Denny's spec on URI, mapping to the (inter)wiki-link syntax - we will have a spec for URIs
- Q: Lists of unique identifiers? (Retrieve data)
- comment: Certain entities have external identifiers.
Daniel K.: short presentation of data model:
- item has property, but that is a list of statements. ("Some source claims that...")
- each statement has value and qualifiers (timestamp, source(s), accuracy)
- Qualifiers can be accessed separately (see link above with syntax)
- some parts of statements seem artificial, but make sense (e.g. warnings)
Q: about UI
Inline editing discussion:
- comment; people/user need(s) flexibility - but how is this delegated and displayed?
- comment: proposal does not show yet what is "formating" and what is "referencing"
- Need functional (object oriented) spec independent of syntax (abstract text level API)
Q: May "Lua" help at this point? How to cover this without Lua?
Daniel K.
- other parts of statements: property's labels or types
- Q: will item references be written by people or by bots?
- A: references will be done by humans, data entries will be (often) done by bots
- Q: Will it be easier to create pages/articles for smaller language communities once the WD templates have been translated to those languages?
- A: yes, we considered that. It would also be possible to show infoboxes using wikidata for pages that do not exist on the respective wiki. But how to decide with template to use to create the infobox for a given item?
- comment: "category" might be an option
Daniel K.
- needed function: coalescing values
- values tagged with their "strength" (are they up to date? are sources given or not?)
- result might be: multiple equally good conflicting values marked as default -> what will we display?
- aggregate those values somehow to display them
- trivial solution? "just pick one"
- smarter solution (see table in link above), show range of values (e.g. population 251.000 -251.500 with the different sources and accuracy (like +- 1%))
- according to Daniel this would be a reasonable default, but not everyone sees it that way.
- Q: Is this only about display or also about referencing data?
- A: This is about display only.
- Q: How controversial will this representation be?
- A: You can have different prefered values. Contradictions can be displayed and are very important to be seen/shown.
- Q: table hides complexity, on what does multivaluedness depend? Perspective? Culture?
- A: multivaluedness is not defined by system in one way, can be extended by users, depending on what they need.
- People can add properties with properties as they like.
Daniel K.
- Possibility to filter by source makes sense (if you want to exclude sources you don't trust).
- to list items, we'll need loops. Works fine for scripting languages, but what about traditional MediaWiki template?
- see link above "Multiple statements" (masking)
- parser gurus, help, please!
- Q: could a parser function be used to directly generate entire table rows, etc?
- A: D.K. that was in his 1st proposal, it was refused.
Proposition: json array of arrays? pass to template, take template name, parameters are mapped
D.K. wants to discuss this more deeply later. Unclear how template params would be formatted before passing to the template.
Proposition: look at other template language, different loop syntax
D.K.
- Changing the default item via syntax (see link above again)
- breaks caching because is not in the parameter list, no inheritance by template calls (?)
- not clear if he wants to implement this at all
- is it useful enough for resolving caching issue?
comments: wrapper template? would be static, too.
round up:
- Q:What will the URLs look like?
- A: path-based
- Let's gather a few people to discuss this.
- Q. what namespaces will there be?
- A. namespace for properties and item will be needed (and for qualifiers maybe).