TheaterEncyclopedie:Gegevens delen met Wikimedia
WERK IN UITVOERING
Pilotproject WikiPodia: Ontwikkelen van Procedures en Scripts
- Doelstelling
- "Het ontwikkelen en testen van procedures en scripts (o.a. queries) om gegevens uit de TheaterEncyclopedie te kunnen delen met de Wikimediaprojecten "Wikipedia" en "Wikidata" en vervolgens wederzijds te verrijken."
- Uitgangspunt
- Als beginpunt is gekozen voor een lijst van 10 Vlaamse (co-)producenten van producties die een Nederlandse premiere hebben beleefd.
Eerste analyse van beschikbare gegevens - Adlib-export
Eerste bevindingen van data-analyse:
- Uitgangselectie: 10 Vlaamse gezelschappen
- Deze 10 gezelschappen zijn betrokken geweest bij 723 in Adlib geregistreerde Producties
- Deze producties zijn 2015 premiere-data en locaties geregistreerd
- Deze producties zijn op 717 locaties in premiere gegaan
- Bij deze producties zijn xxxx (honderden) uitvoerende personen betrokken
Procedure
De te volgen procedure kan in vier stappen worden ingedeeld:
- Stap 1
- Selecteer 10 Vlaamse gezelschappen die als Co-producent hebben meegewerkt aan producties die in premiere zijn gegaan in Nederland. Vervolgens: Vergelijk & Verrijk deze gezelschappen onderling tussen TE en Wikipedia / Wikidata
- Stap 2
- Selecteer de Producties waarvan deze gezelschappen (Co-)producent zijn geweest. En vervolgens: Vergelijk & Verrijk.
- Stap 3
- Selecteer de (Top 15) van locaties ("venues") waarin deze producties in première zijn gegaan. En wederom: Vergelijk & Verrijk.
- Stap 4
- Selecteer de aan de Gezelschappen, Producties en Locaties gerelateerd Uitvoerenden. En ook hier: Vergelijk & Verrijk. NB: het aantal lemma's zal hier sterk toenemen (en vereist dus wellicht filtering).
Het Vergelijk & Verrijk proces kan uit verschillende onderdelen bestaan, waarvan sommige automatisch kunnen, maar voor andere handmatige acties nodig zijn. Enkele voorbeelden:
- Onderlinge referenties toevoegen (bijv. bronverwijzingen, Adlib-referentie en Q-nummers)
- Gestructureerde informatie uitwisselen (TE: Semantische gegevens & Wikimedia: Wikidata)
- Inhoudelijke (tekstuele) informatie uitwisselen
- Media (afbeeldingen) uitwisselen
Voor alle (en zeker de laatste) zijn afspraken over auteursrechten essentieel. Wikimedia vereist dat gegevens onder de CC-BY-SA (??) licentie beschikbaar zijn.
N.B. Inmiddels is de licentie aangepast: Het gebruik van data en teksten die op de Theaterencyclopedie staan hebben een CC BY_SA licentie. Zie: TheaterEncyclopedie:Algemeen voorbehoud. De tekst die automatisch verschijnt als je een pagina gaat bewerken (onderaan), maakt nog melding van de CC BY-NC-4.0 licentie. Dit moet ook worden aangepast conform bovenstaande licentie - kunnen de wikiwerkers dit doen? Tuja van den Berg (overleg) 13 mrt 2018 13:35 (CET)
Scripts, overzichten en lijsten
Ten behoeve van elke stap is een (1) of meer scripts (queries, processen) om de voor Vergelijking & Verrijking benodigde informatie te selecteren en uit te wisselen. De informatie staat op de volgende vier (sub)pagina's:
- Stap 1 - 10 Vlaamse gezelschappen
- Stap 2 - Producties van deze gezelschappen
- Stap 3 - Top 15 van Theaters voor deze producties
- Stap 4 - Uitvoerenden en betrokkenen
Koppeling van de TE en Wikidata
Het koppelen van informatiebestanden, zoals dat in "Linked Open Data" bedoeld is, kent een aantal aspecten die nodig zijn voor de realisatie van die koppeling:
- Het (eenduidig) leggen van relaties tussen de ontologie van de TE en Wikidata
- Overeenkomstige objecten - In Wikidata aangeduid met Q-nummers en in de TE met een titel van een lemma (paginanaam)
- Overeenkomstige eigenschappen (properties) - In Wikidata aangeduid met een P-nummer en in de TE met een titel van een lemma in de naamruimte Eigenschap:
- Referenties invoeren
- Relatie invoeren in een Infobox op de TE naar Wikidata (m.b.v. een Q-nummer op basis van de Eigenschap:Wikidata_ID)
- Relatie invoeren op een Wikidata-pagina d.m.v. een referentie (bronverwijzing) naar de TE (URI/paginanaam op basis van een - nog aan te vragen - Wikidata-property)
Hieronder volgt meer uitleg over de bovengenoemde aspecten.
Relaties informatiemodel / thesaurus
Soorten objecten worden in geïmplementeerd in Semantic MediaWiki als Categorie-pagina. De belangrijkste objecten in de TE zijn (zie ook de Ontologie van de TE):
- (Theater)producties - Categorie:Productie - theaterproductie (Q7777570), dansproductie (Q43099869) podiumkunstenproductie (Q43099500)
- (Theater)werk - Categorie:Werk - creatief werk (Q17537576), theatrical work (Engels) (Q110013395). choreografisch werk (Q58483088)
- Personen Categorie:Persoon - Mens (Q3306038), Persoon (Q15897080) --> human/mens (Q5)
- Producenten Categorie:Producent - theaterproducent (Q1759246), theaterbedrijf (Q11812394)
- Gezelschappen Categorie:Gezelschap
- Locaties Categorie:Locatie -theater (Q24354)
In Wikidata worden deze typen objecten gedefinieerd door een pagina met een Q-nummer in combinatie met een eigenschap zoals bijv. "Instance of" (Property:P31).
- Voorbeeld
- Locatie in de TE komt (ongeveer...??) overeen met Theater in Wikidata, gedefinieerd als Q24354.
Zie voor de verdere uitwerking deze sub-pagina: Ontologie TE en Wikidata
Verwijzingen invoeren in de TE
Om een relatie te leggen tussen overeenkomstige objecten in de TE en Wikidata, volstaat het invoeren van een referentie (en het semantisch annoteren daarvan).
Het laat zich het best verduidelijken aan de hand van een voorbeeld:
- De (Theater)locatie, in de TE genaamd Het Muziektheater, Amsterdam heeft de Eigenschap:Wikidata_ID met de waarde: Q1325514
(Bron)verwijzingen invoeren in Wikidata
Om objecten te koppelen c.q. (bron)verwijzingen te maken naar de TE in Wikidata, is het nodig de hiervoor de benodigde properties (vergelijkbaar met eigenschappen in de TE) aan te vragen.
- Voorbeeld eigenschap
- Een voorbeeld van een eigenschap voor verwijzing naar een locatie ("venue") die is opgenomen in bestand van het Vlaams Kunstenpunt: Flanders Arts Institute venue ID
- Voorbeeld verwijzing
- Een voorbeeld van verwijzing naar een locatie ("venue") m.b.v. het Flanders Arts Institute venue ID naar de informatie die is opgenomen in bestand van het Vlaams Kunstenpunt: Muziektheater (Amsterdam).
Voor de TE zou dat dus gelden voor objecten zoals boven genoemd: Productie, Werk, Persoon, Locatie, etc.
TE | Wikidata |
---|---|
Categorie:Werk | TheaterEncyclopedie theater work ID (VOORBEELD) |
Categorie:Persoon | TheaterEncyclopedie person ID (VOORBEELD) |
Categorie:Locatie | TheaterEncyclopedie venue ID (VOORBEELD) |
Het aanvragen kan de benodigde properties hier: Property proposal
- Voorbeeld van de aanvraag door Kunstenpunt
Aan de properties gerelateerde objecten, reeds bestaand, in Wikidata:
Importeren van informatie uit Wikidata
De belangrijkste toegevoegde waarde voor de TE van de koppeling met Wikidata is de mogelijkheid om de informatie op de TE "te verrijken" (aan te vullen) met informatie vanuit Wikidata.
De TE en Wikidata gebruiken verschillende technische oplossingen (MediaWiki extensies), te weten respectievelijk Semantic MediaWiki en Wikibase. Om informatie tussen beide platformen uit te wisselen is een uitbreiding (extensie) van MediaWiki nodig. Er zijn verschillende extensies beschikbaar en/of in ontwikkeling:
- Extension:Semantic Wikibase - 1e release (0.1.0) in 2020
- Extension:External Data - Operationeel op de TE - "General purpose"-oplossing voor externe data
- Extension:LinkedWiki - Gebruik van Wikidata in MediaWiki (niet specifiek voor Semantic MediaWiki!)
- Extension:Wikibase Client - Officiële "client" voor Wikibase/Wikidata; werkt (nog?) niet "remote" (op andere websites dan Wikidata)
In eerste instantie is er voor de TE gekozen voor het gebruik van de Extensie:Wikidata. Hiermee worden de eerste "Proof of Concepts" uitgevoerd voor het importeren van informatie uit Wikidata en het opslaan van deze informatie binnen Semantic Mediawiki (Semantische Annotatie) of eenvoudigweg weergeven van deze informatie op de TE.
Hiervoor is gebruik gemaakt van de wbgetentities module van de Wikibase API (dus geen SPARQL). Lees meer hierover:
- WikiTutorial door WikiWerkers Importeer informatie uit Wikidata in je eigen MediaWiki website (NL)
- WikiTutorial door WikiWerkers Connecting MediaWiki to Wikidata (Engels)
Met behulp van dezelfde Extensie:External Data kan overigens ook het SPARQL-endpoint van Wikidata aangesproken worden; zie de voorbeelden in de extensie-docs.
Invoeren van informatie uit de TE in Wikidata
Informatie uit de TE is (grotendeels) vrij beschikbaar voor gebruik in Wikimediaprojecten en dus ook Wikidata.
Lees hierboven meer over de eerste verkenning/pilot binnen het Wikiproject "Procesbeschrijvingen Belgisch-Nederlandse podiumkunsten.
Referenties naar Wikidata
Het Q-nummer speelt een centrale rol in de uitwisseling tussen de TheaterEncyclopedie en Wikimedia-projecten. Hier een korte uitleg.
Wat is een Q-nummer
Q-nummers zijn unieke referenties naar objecten (denk aan pagina's of lemma's) in Wikidata (en daarmee Wikipedia). Met behulp van het Q-nummer is gestructureerde informatie vanuit Wikidata.org op te vragen, vergelijkbaar zoals dat in de TheaterEncyclopedie gebeurt met Semantische queries.
Een vergelijkbare constructie is de Adlib-referentie waarmee op unieke wijze objecten (mensen, producties, ...) in het Adlib-systeem geïdentificeerd kunnen worden.
Toepassing van Q-nummers
Het opnemen van Q-nummers in de TheaterEncyclopedie, maakt het bijvoorbeeld mogelijk om:
- Een unieke verwijzing naar Wikipedia (in alle talen) te maken (denk aan een weblink of bronvermelding)
- Gegevens uit Wikidata.org te gebruiken voor verrijking van de TheaterEncyclopedie
- Met behulp van het Q-nummer kan het relevante lemma op de TE worden gevonden
Daarnaast kan het Q-nummer wellicht als unieke identifier gebruikt worden om gegevens met andere archiefbeheerders uit te wisselen.
PoC: Theaters
Als Proof of Concept is een koppeling met wikidata ontwikkeld (2020-05, Gebruiker:Bmulckhu):
- Sjabloon:Theaterpagina wikidata
- Lijst met theaters op Wikidata
- Eigenschap:Wikidata_ID; inmiddels zijn er 3917 items met een Q-nummer (voornamelijk theaterlocaties, plus enkele personen)
Project: Regisseurs
Zie: de sub-pagina "Regisseurs'
Ontwikkelingen
In vervolg op het PoC: Theaters-project en de matching van Regisseurs in de TE met Wikidata, zijn de volgende ontwikkelingen uitgevoerd:
- test:Sjabloon:Persoonpagina_wikidata - Sjabloon:Persoonpagina_wikidata - Verzamelsjabloon t.b.v. inlezen, bewerken en weergeven van gegevens uit spreadsheet, Wikidata en Infobox persoon
- test:Sjabloon:Persoonpagina wikidata/tabel - Sjabloon:Persoonpagina wikidata/tabel - Sjabloon voor het opvragen van info uit Wikidata en weergeven van informatie in tabelvorm
- Ontwikkelingen voor nieuwe/officiële methode voor het inlezen van informatie vanaf Wikidata via (officiële) pagina Special:EntityData (voorheen werk API van Wikidata gebruikt)
- test:Sjabloon:Box/wikidata-LD - Sjabloon:Box/wikidata-LD - Specifieke variant voor Linked (Open) Data van sub-sjabloon Infobox; leest matching informatie in uit spreadsheet
- Werkt nu alleen voor Categorie:Regisseur; kan later worden uitgebreid. Voorloper voor gehele LD-infobox
- test:Sjabloon:Persoon - Sjabloon:Persoon - Aanpassing voor het gebruik van LD (of niet)
- Vanwege efficiëntie wordt alleen informatie opgevraagd van Wikidata, wanneer deze informatie is gekoppeld !!
- Nu alleen voor Categorie:Regisseur - later uit te breiden naar alle gematchte pagina's of pagina's met handmatig ingevoerd Q-nummer
Overig:
- Enkele testpagina's:
- test:Walter Bart - Walter Bart - Testpagina ontwikkelingen - (Tijdelijke) tabel met Wikidata-gegevens onderaan de pagina
- test:Bram Bart - Bram Bart - Testpagina ontwikkelingen - (Tijdelijke) tabel met Wikidata-gegevens onderaan de pagina
- Test:Cristina Deutekom - Cristina Deutekom - Algemene testpagina voor persoonspagina's - Nog GEEN Wikidata-gegevens (geen Regisseur !)
- Test:Koen van Dijk - Koen van Dijk - Algemeen met alleen toegevoegde Wikidatalink
- Gebruiker:Bmulckhu/kladblok32 - Ontwikkeling en testen van onderdelen/functionaliteiten
- test:Sjabloon:Harmonica - Uniforme manier om Bootstrap harmonica te maken
- Ter info:
- test:Eigenschap:Wikidata_ID - Eigenschap:Wikidata_ID - Ingelezen en semantisch opgeslagen Wikidata-ID's
- test:Categorie:Regisseur - Categorie:Regisseur - Categorie van gematchete personen (Regisseurs)
- https://theaterencyclopedie.nl/wiki/Bestand:Alle_regisseurs_-_extended.csv - ingelezen CSV-bestand
- Bestand:Alle plaatsen - extended.csv - Alle pagina's die onderdeel uitmaken van Categorie:Plaats is gekoppeld en de Wikidata_ID wordt ingelezen (alleen test)
- Zie ook: Gebruiker:Bmulckhu/kladblok36
- Bestand:Alle theaterberoepen - extended.csv - Alle pagina's die onderdeel uitmaken van Categorie:Theaterberoep zijn gekoppeld
- Sjabloon:Beroep en Formulier:Beroep nieuw aangemaakt
TO DO:
- Weergeven van "label" voor van Wikidata (als Q-nummer) ingelezen object-items (bijv. voor PLAATSEN en BEROEPEN)
- Bestand:Alle plaatsen - extended.csv - Alle pagina's die onderdeel uitmaken van Categorie:Plaats
- Bestand:Alle theaterberoepen - extended.csv - Alle pagina's die onderdeel uitmaken van Categorie:Theaterberoep; deze lijst is niet compleet en er worden veel meer benamingen van beroepen gebruikt in de TE (zie ook Gebruiker:Bmulckhu/kladblok33
- Weergeven van ingelezen en lokaal semantisch opslaan van de gegevens op alle persoonspagina's
- Als tabel in harmonica (zoals nu op Locatie-pagina's)
- Geïntegreerd in de bestaande velden van de Infobox - Conform de wensen van traject "Verbetering TheaterEncyclopdie / TheaterCollectie"
- Aanpassen PoC van Theaters aan nieuwe techniek van inlezen informatie (niet meer via API maar via
- Overzetten / implementatie op de productie-omgeving van de TE
Project: Beroepen definitief vastleggen op TE
- DOELSTELLING
- Nadat een lijst met gekoppelde gegevens (van bijv. Wikidata) is geïmporteerd in de TE met behulp van bijv. CSV-file zijn deze gegevens semantisch beschikbaar. Dit project heeft tot doel een methode te ontwikkelen om deze semantische gegevens ook definitief op de TE - in wikitext - vast te leggen, zodat deze aangepast kunnen worden en de gekoppelde spreadsheet overbodig wordt.
Dit heeft uiteindelijk tot doel om:
- De TE goed te laten werken met Linked Open Data van Wikidata
- De snelheid en technische stabiliteit te verbeteren door overbodige afhankelijkheden van het importeren van externe files te verminderen
- De afhankelijkheid van de Extensie:External Data te verminderen.
Aanpak
Er zijn technisch gezien in theorie inmiddels twee methoden om semantische gegevens op een wikipagina te plaatsen:
- Via een script dat de semantisch gegevens van een pagina via de (SMW-API) opvraagt en vervolgens (vergelijkbaar met Tinbot) via de (standaard MW-API) de aanpassing op de wikipagina maakt.
- Via een standaard MediaWiki-functionaliteiten Tekst Zoeken & Vervangen en een methode die recursieve substitutie wordt genoemd. Hierbij wordt sjabloon geplaatst dat direct vervangen - gesubstitueerd - wordt door het weergegeven resultaat van dat sjabloon. Zie PoC op Gebruiker:Bmulckhu/kladblok41.
Omdat de eerste methode een maatwerk ontwikkeling van een Python-script vereist en de tweede methode voor kleinere aantallen pagina's bruikbaar lijkt, gebruiken we die voor "Beroepen".
Zie verder TE:Gegevens delen met Wikimedia/Beroepen
Lijst van gekoppelde bestanden
De volgende CSV-bestanden met gematchte / gekoppelde gegevens van de TE met Wikidata zijn inmiddels in gebruik:
- Bestand:Alle regisseurs - extended.csv ( DEZE IS NIET GEBRUIKT MOMENTEEL )
- NB: Bestand:Alle regisseurs extended gematched met Wikidata 20240514.csv - DEZE WORDT MOMENTEEL GEKOPPELD IN Sjabloon:Box/wikidata-LD !!
- Bestand:Alle plaatsen - extended.csv - Alle pagina's die onderdeel uitmaken van Categorie:Plaats - Wordt gebruikt in Sjabloon:Plaats/test:Sjabloon:Plaats
- Bestand:Alle theaterberoepen - extended.csv - Alle pagina's die onderdeel uitmaken van Categorie:Theaterberoep; deze lijst is niet compleet en er worden veel meer benamingen van beroepen gebruikt in de TE (zie ook Gebruiker:Bmulckhu/kladblok33 - - Wordt gebruikt in Sjabloon:Beroep/test:Sjabloon:Beroep
Externe link
- zie ook verslag van dit project en mogelijkheden om data uit de Te te delen op Wikipedia op Wikipedia