User:Beat Estermann/WD-Intro-2019-09-26

Useful LinksEdit

Useful GadgetsEdit

  • Gadget "relateditems:" Adds a button to the bottom of item pages to display inverse statements.
To activate it, go to the "Gadget" tab in your preferences and tick the corresponding checkbox.
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.
  • There are further Gadgets that facilitate particular tasks when working on Wikidata - check them out!

Sum of All GLAMs ProjectEdit

As suggested in the LDFI Report, a similar approach could be pursued with regard to performing arts related data.

TriviaEdit

Examples of Data UseEdit

Examples of data use in the context of WikipediaEdit

Examples of data use outside Wikipedia/Wikimedia: external applicationsEdit

Example QueriesEdit

Return all books written by J. K. RowlingEdit

  • The relevant items and properties are: J. K. Rowling (Q34660), author (P50)
SELECT ?book ?bookLabel
WHERE {
  ?book wdt:P50 wd:Q34660 .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }
}
Try it!

What other information is available about J. K. Rowling books?Edit

  • The relevant items and properties are: publisher(P123), publication Date(P577), award received (P166)
SELECT ?book ?bookLabel ?publisherLabel ?publicationDate ?awardsLabel
WHERE {
  ?book wdt:P50 wd:Q34660 .
  ?book wdt:P123 ?publisher;
        wdt:P577 ?publicationDate;
        wdt:P166 ?awards .

  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }              
}
Try it!

What happened to the other books?Edit

  • The Optional function is needed so that all entries are kept.
SELECT ?book ?bookLabel ?publisherLabel ?publicationDate ?awardsLabel
WHERE {
  ?book wdt:P50 wd:Q34660 .
  OPTIONAL {?book wdt:P123 ?publisher .}
  OPTIONAL {?book wdt:P577 ?publicationDate .}
  OPTIONAL {?book wdt:P166 ?awards .}

  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }              
}
Try it!

Things named after French PresidentsEdit

#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". }
}
Try it!


Things named after Swiss Federal CouncilorsEdit

#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". }
}
Try it!

Plays by Swiss PlaywrightsEdit

SELECT 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". }
}
Try it!

Plays that Were Performed in SwitzerlandEdit

SELECT 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
Try it!


Subclasses of Heritage InstitutionsEdit

SELECT ?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
Try it!

Let's Practice!Edit

Querying & Editing WikidataEdit

Query Arthur Conan Doyle booksEdit

Write a query that returns all books by Sir Arthur Conan Doyle Hints:

  • Include the title (P1476), illustrator (P110), publisher (P123) and publication date (P577).
SELECT ?book ?title ?illustratorLabel ?publisherLabel ?published
WHERE
{
  ?book wdt:P50 wd:Q35610;
        wdt:P1476 ?title;
        wdt:P110 ?illustrator;
        wdt:P123 ?publisher;
        wdt:P577 ?published.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
Try it!

Query the Chemical elementsEdit

Write a query that returns all chemical elements with their element symbol and atomic number Hints:

  • The relevant items and properties are: chemical element (Q11344), element symbol (P246), atomic number (P1086).
SELECT ?element ?elementLabel ?symbol ?number
WHERE
{
  ?element wdt:P31 wd:Q11344;
           wdt:P246 ?symbol;
           wdt:P1086 ?number.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
ORDER BY ?number
Try it!

Canadian museums without a “director” statementEdit

The example query below outputs all the Swiss museums without a director / manager (P1037) statement. Take it as a starting point to create a query that outputs all the Canadian 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.

SELECT DISTINCT ?item ?itemLabel
WHERE 
{
  ?item wdt:P31/wdt:P279* wd:Q33506; # museum
        wdt:P17 wd:Q39.
  MINUS { ?item wdt:P1037 [] }   # exclude if there is a "director" statement
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,fr". }
}
Try it!

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 Canadian libraries and/or archives.


Items about Canadian museums with statements that are not properly sourcedEdit

Use the query below to identify items about Canadian museums with statements that are not properly sourced. Search for an appropriate reference on the Internet and add 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:Q16.
  }
} 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
Try it!

Querying Wikidata & Editing WikipediaEdit

The following query may be used in an upcoming Wikipedia editathon in Montréal. It outputs items for actresses in Montréal (place of birth or place of death) with a Wikidata entry, but without a Wikipedia article in French:

SELECT DISTINCT ?person ?personLabel ?personDescription ?occupation
  WHERE {
  { ?person wdt:P19 wd:Q340 } UNION { ?person wdt:P20 wd:Q340 }.
  ?person wdt:P21 wd:Q6581072 .
  ?person wdt:P106 wd:Q33999.  
  MINUS { ?sitelink schema:isPartOf <https://fr.wikipedia.org/> ;
     schema:about ?person . }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr" }
  }
Try it!

Exercises:

  • Adapt the query to output opera singers instead of actresses.
  • Adapt the query to output actresses and opera singers who do not have an article in English Wikipedia.
  • Adapt the query to output male actors and opera singers who do not have an article in English Wikipedia.

Exploring Ontologies & Editing WikidataEdit

Typology of heritage institutionsEdit

Use 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.

Typology of concerts, recordingsEdit

Do 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.