User:Beat Estermann/WD-Intro-2019-05-13
Useful Links
edit- Asaf's Gentle Introduction to Wikidata (Youtube)
- Slide Deck of this Course
- Handout: Wikidata in Brief
- Handout: Wikidata Query Service in Brief
- Help:Multilingual
- Wikidata – Project Cultural Heritage
- eCH-0205 – Linked Open Data (Guidelines)
- Wikidata Query Service (SPAQL Endpoint)
- Wikidata Query Service - User Manual
- Vizquery - a tool for making simple queries
- Cradle - a tool to create customized forms to enter data manually
- Histropedia – Wikidata Query Timeline
- Wikidata Ontology Explorer
- Werkzeuge für Freiwillige: Von Wikipedia aus verfolgen, was auf Wikidata vor sich geht (Blog Post by Jens Ohlig, 1 June 2018)
- Script: derivedstatements.js – to activate the script, add the following line of code to your common.js at Special:MyPage/common.js:
importScript( 'User:Pasleim/derivedstatements.js' ); // User:Pasleim/derivedstatements.js
- Explanatory note: For many items Wikidata has more information than can be seen on the item page. For example on Whitcomb L. Judson Whitcomb L. Judson (Q731876) you see that he is an inventor but you don't see his invention. That's because discoverer or inventor discoverer or inventor (P61) only links from the invention to the inventor and not the other way round. To solve this general problem that statements are only displayed in one way the script adds at the end of all item pages a new button to load inverse statements.
Trivia
editExamples of Data Use
editExamples of data use in the context of Wikipedia
edit- Centralized inter-wiki links
- Centralized data management for infoboxes
- Centralized data management for lists
- Mbabel Tool - for the creation of draft articles, including infobox and general article structure, populated with data from Wikidata
- Wikimedia CH campaign at the occasion of the International Museums Day 2018
Examples of data use outside Wikipedia/Wikimedia: external applications
editExample Queries
editThings named after French Presidents
edit#defaultView:Map
SELECT ?truc ?presLabel ?trucLabel ?coord ?layer WHERE {
{
SELECT DISTINCT ?truc (SAMPLE(?coord) AS ?coord) (SAMPLE(?layer) AS ?layer) WHERE {
?pres wdt:P39 wd:Q191954 ;
rdfs:label ?layer.
FILTER((LANG(?layer)) = "fr")
?truc wdt:P138 ?pres ;
wdt:P625 ?coord.
}
GROUP BY ?truc ?trucLabel
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
Things named after Swiss Federal Councilors
edit#defaultView:Map
SELECT ?truc ?fcLabel ?trucLabel ?coord ?layer WHERE {
{
SELECT DISTINCT ?truc (SAMPLE(?coord) AS ?coord) (SAMPLE(?layer) AS ?layer) WHERE {
?fc wdt:P39 wd:Q11811941 ;
rdfs:label ?layer.
FILTER((LANG(?layer)) = "fr")
?truc wdt:P138 ?fc ;
wdt:P625 ?coord.
}
GROUP BY ?truc ?trucLabel
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
Plays by Swiss Playwrights
editSELECT DISTINCT ?play ?playLabel ?author ?authorLabel
WHERE {
?play wdt:P31/wdt:P279* wd:Q25379 ;
wdt:P50 ?author .
?author wdt:P27 wd:Q39 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],de". }
}
Plays that Were Performed in Switzerland
editSELECT DISTINCT ?play ?playLabel ?author ?premiere ?venueLabel
WHERE {
?play wdt:P31/wdt:P279* wd:Q25379 ;
wdt:P50 ?author .
?production wdt:P31/wdt:P279* wd:Q43099500 ;
wdt:P144 ?play ;
wdt:P276 ?venue .
?venue wdt:P361*/wdt:P131/wdt:P17 wd:Q39 .
OPTIONAL { ?production wdt:P1191 ?premiere . }
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],de". }
}
ORDER BY ?premiere
Subclasses of Heritage Institutions
editSELECT ?item
(group_concat(distinct ?superClassLabel_en;separator="; ") as ?superClassLabels_en) #Concatenate the values in order not to get several rows per item.
(replace(group_concat(distinct ?superClass;separator="; "), "http://www.wikidata.org/entity/", "") as ?superClasses) #Strip the path in order to get only the Q-number.
?Label_en
(group_concat(distinct ?Alias_en;separator="; ") as ?Aliases_en) #Concatenate the values in order not to get several rows per item.
?Label_de
(group_concat(distinct ?Alias_de;separator="; ") as ?Aliases_de)
?Label_fr
(group_concat(distinct ?Alias_fr;separator="; ") as ?Aliases_fr)
?Label_it
(group_concat(distinct ?Alias_it;separator="; ") as ?Aliases_it)
?Label_es
(group_concat(distinct ?Alias_es;separator="; ") as ?Aliases_es)
?Label_ru
(group_concat(distinct ?Alias_ru;separator="; ") as ?Aliases_ru)
?Description_en
?Description_de
?Description_fr
?Description_it
?Description_es
?Description_ru
WHERE {
{?item wdt:P279+ wd:Q33506} UNION {?item wdt:P279+ wd:Q166118} UNION {?item wdt:P279+ wd:Q7075}.
OPTIONAL { ?item rdfs:label ?Label_en . FILTER (lang(?Label_en) = "en") }
OPTIONAL { ?item rdfs:label ?Label_de . FILTER (lang(?Label_de) = "de") }
OPTIONAL { ?item rdfs:label ?Label_fr . FILTER (lang(?Label_fr) = "fr") }
OPTIONAL { ?item rdfs:label ?Label_it . FILTER (lang(?Label_it) = "it") }
OPTIONAL { ?item rdfs:label ?Label_es . FILTER (lang(?Label_es) = "es") }
OPTIONAL { ?item rdfs:label ?Label_ru . FILTER (lang(?Label_ru) = "ru") }
OPTIONAL { ?item skos:altLabel ?Alias_en . FILTER (lang(?Alias_en) = "en") }
OPTIONAL { ?item skos:altLabel ?Alias_de . FILTER (lang(?Alias_de) = "de") }
OPTIONAL { ?item skos:altLabel ?Alias_fr . FILTER (lang(?Alias_fr) = "fr") }
OPTIONAL { ?item skos:altLabel ?Alias_it . FILTER (lang(?Alias_it) = "it") }
OPTIONAL { ?item skos:altLabel ?Alias_es . FILTER (lang(?Alias_es) = "es") }
OPTIONAL { ?item skos:altLabel ?Alias_ru . FILTER (lang(?Alias_ru) = "ru") }
OPTIONAL { ?item schema:description ?Description_en . FILTER (lang(?Description_en) = "en") }
OPTIONAL { ?item schema:description ?Description_de . FILTER (lang(?Description_de) = "de") }
OPTIONAL { ?item schema:description ?Description_fr . FILTER (lang(?Description_fr) = "fr") }
OPTIONAL { ?item schema:description ?Description_it . FILTER (lang(?Description_it) = "it") }
OPTIONAL { ?item schema:description ?Description_es . FILTER (lang(?Description_es) = "es") }
OPTIONAL { ?item schema:description ?Description_ru . FILTER (lang(?Description_ru) = "ru") }
OPTIONAL { ?item wdt:P279 ?superClass }
OPTIONAL { ?item wdt:P279/rdfs:label ?superClassLabel_en . FILTER (lang(?superClassLabel_en) = "en") }
}
group by ?item #List all the variables for which the values are not concatenated!
?Label_en ?Description_en
?Label_de ?Description_de
?Label_fr ?Description_fr
?Label_it ?Description_it
?Label_es ?Description_es
?Label_ru ?Description_ru
Let's Practice!
editQuerying & Editing Wikidata
editSchauspielhaus Productions without a “based on” statement
editUse the example query below to identify performing arts productions which do not have a "based on" statement to indicate the literary work they were based on. Complement the statement based on the Repertoire of Schauspielhaus Zürich, which contains information about the author of the work (download the Schauspielhaus Repertoire in Excel format).
Hint:
- When adding the "based on" statement, make sure that you indicate the Repertoire of Schauspielhaus Zürich as its source.
For advanced learners:
- Can you track the advancement of the work of your colleagues? – Run your query at different points in time and report the item count over time (create a small table below the sample queries).
SELECT DISTINCT ?item ?itemLabel
WHERE
{
?item wdt:P31/wdt:P279* wd:Q43099500. # performing arts production
?item wdt:P276 wd:Q39918282. # location: Main stage of Schauspielhaus Zürich
MINUS { ?item wdt:P144 [] } # exclude if there is a "based on" statement
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,de,fr,it". }
}
Swiss heritage institutions without a “director” statement
editTake the example query above as a starting point to create a query that outputs all Swiss museums without a director / manager (P1037) statement. Find the missing information for some of the listed museums on the Internet and add it to Wikidata.
Hints:
- Indicate the website where you found the information as the source of your statement.
For advanced learners:
- What other information can you add about the museum based on the information you can easily find on the Internet or in other sources you have at hand? – Take the entry on the Rijksmuseum (Q190804) as a source of inspiration for further statements to be added!
- Do the same for Swiss libraries and/or archives.
Swiss heritage institutions without a German/French label
editUse the example query in the data ingest guideline to identify Swiss museums without a label in German and/or French. Search for the relevant information on the Internet and add it to Wikidata.
For advanced learners:
- Follow the guideline to download the data to a spreadsheet. Complete the labels and/or descriptions in the spreadsheet and feed them back into Wikidata using the Quick Statements tool.
Items about Swiss museums with statements that are not properly sourced
editUse the query below to identify items about Swiss museums with statements that are not properly sourced. Search for an appropriate reference on the Internet and add to th the statement in question.
SELECT ?item ?itemLabel ?property ?propertyLabel ?statement
WITH {
SELECT DISTINCT ?item WHERE {
?item wdt:P31/wdt:P279* wd:Q33506;
wdt:P17 wd:Q39.
}
} AS %items
WITH {
SELECT ?item ?itemLabel WHERE {
INCLUDE %items.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],de,fr,it,en". }
}
} AS %itemLabels
WITH {
SELECT ?item ?property ?statement WHERE {
INCLUDE %items.
?property wikibase:claim ?p.
?item ?p ?statement.
MINUS {
# TODO check what counts as good reference
?statement prov:wasDerivedFrom [
pr:P248|pr:P854 ?goodReference
].
}
# TODO expand list of properties that don’t need good references:
FILTER(?p NOT IN (p:P373, #commons category
p:P856, #official website
p:P18, #image
p:P227, #identifier with weblink
p:P214, #identifier with weblink
p:P269, #identifier with weblink
p:P2427, #identifier with weblink
p:P213, #identifier with weblink
p:P4678, #identifier with weblink
p:P3153, #identifier with weblink
p:P902 #identifier with weblink
))
}
} AS %statements
WITH {
SELECT DISTINCT ?property WHERE {
INCLUDE %statements.
}
} AS %properties
WITH {
SELECT ?property ?propertyLabel WHERE {
INCLUDE %properties.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],de,fr,it,en". }
}
} AS %propertyLabels
WHERE {
INCLUDE %statements.
INCLUDE %itemLabels.
INCLUDE %propertyLabels.
}
ORDER BY ?item
Querying Wikidata & Editing Wikipedia
editUse the query below to list actors and actresses who appeared in theatrical productions of Schauspielhaus Zürich but do not have an entry in the German Wikipedia (the query ranks the actors according to the number of their appearances. Search for information about said actors/actresses and write a short Wikipedia article about them.
For people preferring to edit Wikipedia in English, French, Italian, etc.:
- Adapt the query below to output the same list, but for actors and actresses who do not have an entry in your language. Add the query below. Create Wikipedia articles in your language.
For advanced users:
- Create a list of all actors and actresses who appeared in theatrical productions of Schauspielhaus Zürich in the order of the number of their appearances with an overview which artists have a Wikipedia entry in which language.
- The query below counts the number of appearances, counting actors who appeared several times in the same production (different roles) more than once. Adapt the query to indicate the number of individual productions in which the actor/actress appeared instead of providing the number of appearances. List the adapted query below.
SELECT ?actor ?actorLabel (count(*) AS ?count)
WHERE {
?prod (wdt:P31/wdt:P279*) wd:Q43099500 ;
wdt:P272 wd:Q40313234 .
?prod wdt:P161 ?actor .
MINUS { ?sitelink schema:isPartOf <https://de.wikipedia.org/> ;
schema:about ?actor . }
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],de" } .
}
GROUP BY ?actor ?actorLabel
ORDER BY DESC (?count)
- The following query may be used in an upcoming editathon in Marseille. It outputs items for women in Marseille (place of birth or place of death) with a Wikidata entry, but without a Wikipedia article in French:
SELECT ?person ?personLabel ?personDescription ?occupation
WHERE {
{ ?person wdt:P19 wd:Q23482 } UNION { ?person wdt:P20 wd:Q23482 }.
?person wdt:P21 wd:Q6581072 .
MINUS { ?sitelink schema:isPartOf <https://fr.wikipedia.org/> ;
schema:about ?person . }
OPTIONAL {?person wdt:P106 ?occupation }.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr" } .
}
Exploring Ontologies & Editing Wikidata
editTypology of heritage institutions
editUse the Wikidata Ontology Explorer to inspect the typology of museums, archives, and libraries on Wikidata. Find out which are the most used properties in connection with these classes. Click through the main classes and properties and make sure that they have appropriate labels and descriptions in your language.
For Wikipedians:
- Find out whether the main sub-classes already have their Wikipedia articles and create the missing ones or improve the existing ones.
For advanced learners:
- Create overview tables of the most used sub-classes and properties, indicating for which ones labels and descriptions exist in a given set of languages. Add the code here.
- Create an overview table of the most used properties in connection with a given class (museum, archive, library), detailing for which ones Wikipedia articles exist in a given set of languages.
Typology of concerts, recordings
editDo the same as above, but for musical performance (Q6942562), for recording (Q13557414), and for voice type (Q1063547).
For advanced learners & musicologists:
- Try to identify errors and gaps in the class trees and correct them.