Overzicht van onmogelijkheden

Revision as of 08:16, 22 June 2023 by Ruettet (talk | contribs)

Onmogelijkheden

Sommige zaken zijn onmogelijk volgens de data modellering. Als een item een "Activiteit" is, dan moet die ook een "Activiteit type" hebben, bijvoorbeeld. Hieronder proberen we alle onmogelijkheden op te sommen, er een SPARQL query voor te verzinnen, en op die manier een lijstje krijgen van "foute" items, zodat we die kunnen corrigeren.

Een andere aanpak moet ook mogelijk zijn, bv. via SHACL?

Activiteiten

Hieronder een bundeling van "onmogelijkheden" die te maken hebben met activiteiten op het algemene niveau.

Overzicht van alle Items van het type Activiteit, met een vrije tekst activiteitstype

Toon alle activiteiten zonder activiteit type, maar wel met een een activiteit type (vrij), zodat dat vrije tekst veld gestructureerd kan worden.

SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel ?activiteitTypeVrijLabel
WHERE {
 ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1>;
             <http://osloddt.wiki.opencura.com/prop/direct/P49> ?activiteitTypeVrij.
 MINUS { ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P13> ?activiteitType }.
 SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}

Overzicht van alle Items van het type Activiteit, zonder enig activiteitstype

Alle activiteiten zouden getypeerd moeten zijn, liefst met een gestructureerd activiteitstype, of eventueel via een vrije tekst veld. We hebben een lijst nodig van activiteiten die noch een gestructureerd activiteitstype, noch een een vrije tekst activiteitstype hebben.

SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel
WHERE {
 ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1>.
 MINUS { ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P13> ?activiteitType }.
 SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}

Overzicht van Items met een "activiteit type", maar die niet "Is" "Activiteit" hebben

Als items getypeerd zijn met een bepaalde activiteitstype, dan moeten ze ook verplicht als "is" "activiteit" worden benoemd. We hebben daarom een lijst nodig van activiteiten met een activiteitstype, maar zonder "is" "activiteit".

Overzicht van items die het object zijn van een statement met verb "activiteit type", maar niet "is" "activiteit type" hebben

Toon alle activiteiten met een activiteit type, maar het activiteit type is geen "activiteit type" (dit soort van "rogue" activiteit types zouden niet toegelaten mogen zijn). Dit is om te vermijden dat er items als "activiteit type" worden gekoppeld aan activiteiten zonder dat die items gekenmerkt zijn als activiteit type. Zo is er bijvoorbeeld een "podiumproductie" als type "werk", en is er een item "podiumproductie" als type "activiteit type". Je wil dat enkel het item podiumproductie dat "is" "activiteit type" gebruikt wordt als activiteit type.

We hebben dus een lijst nodig van items die in een statement voorkomen met het Verb "activiteit type", maar die niet zelf "is" "activiteit type" hebben.

Werken

Hieronder een bundeling van "onmogelijkheden" die te maken hebben met werken in het algemeen.

Overzicht van alle Werken, zonder enig werk type

Om te vermijden dat een werk-item wordt aangemaakt zonder het typeren willen we checken of items liefst een gestructureerd werk type hebben, of eventueel een werk type in vrije tekst.

We hebben een lijst nodig van items "is" "werk", maar zonder een "werk type" of "werk type (vrij)" statement.

PREFIX kp:<https://osloddt.wikibase.cloud/entity/>
PREFIX kpp:<https://osloddt.wikibase.cloud/prop/direct/>
SELECT ?work ?workLabel ?typeLabel
WHERE {
?work kpp:P1 kp:Q58528.
?work kpp:P48 ?type.  
?type kpp:P1 kp:Q58529.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}

Overzicht van alle Werken met een werk type in vrije tekst, maar niet gestructureerd

Idealiter zijn werken met een werk type in vrije tekst toch ook voorzien van een gestructureerd werk type. We hebben dus een lijst nodig van items "is" "werk", met een "werk type (vrij)" statement, maar zonder een gestructureerd werk type erbij.

Podiumproducties (activiteit) die niet verwijzen naar een podiumproductie (werk)

Podiumproducties van het type "activiteit" (dus opgevoerd tijdens een bepaalde periode) verwijzen idealiter terug naar een podiumproductie als werk, om eventuele connecties tussen de producties te kunnen modelleren. We hebben dus een lijst nodig van items "is" podiumproductie (activiteit), maar die niet "gebruikt werk" hebben en verwijzen naar een podiumproductie (werk).

Werken die niet gebruikt worden in activiteiten

Deze wikibase is in principe geen databank voor kunstwerken. Ze kunnen hier summier beschreven worden om een activiteit meer context te geven, maar werken zonder linken naar een activiteit zijn te vermijden. We kunnen dit oplossen door het werk ofwel te verwijderen, of expliciet te linken aan een tentoonstelling, podiumproductie, opname, concert, ...

We hebben in elk geval een lijst nodig van werken die niet gebruikt worden in items "is" "activiteit".

Beeldende kunst

Sommige onmogelijkheden zijn specifiek voor activiteiten binnen een bepaalde discipline. Hier bekijken we onmogelijkheden in de beeldende kunsten.

Tentoonstellingen of residenties zonder "kunstenaars"

Een beeldende kunst activiteit zonder een kunstenaar erbij is onmogelijk. We hebben dus een lijst nodig van activiteiten van het type solotentoonstelling, groepstentoonstelling, tentoonstelling of residentie die niet "gebracht worden" door iemand met de rol "kunstenaar".

Tentoonstellingen of residenties zonder "locatie"

Een beeldende kunst activiteit vindt altijd wel ergens plaats. We hebben een lijst nodig van solotentoonstellingen, groepstentoonstellingen, tentoonstellingen en residenties die niet via de property "plaats" gelinkt zijn met een locatie.

Het kan zijn dat dit veel problemen oplevert: door een legacy-beslissing zitten tentoonstellingen vaak in de databank met een "gebracht door" relatie naar een Organisator die de rol "locatie" opneemt. Dat zouden we best normaliseren.

Groepstentoonstellingen in hetzelfde jaar en in dezelfde locatie of plaats, met gelijkaardige titels

Groepstentoonstellingen worden soms apart ingevoerd voor elke kunstenaar. Maar eigenlijk willen we dat er 1 groepstentoonstelling-item is, met daaraan alle deelnemende kunstenaars. We hebben dus een lijst nodig van groepstentoonstellingen die op dezelfde plek plaatsvinden, op hetzelfde moment, en waarvan de titel bovendien gelijkaardig is (case insensitive, misschien zelfs geen spaties, leestekens, fuzzy match, ...)

Groepstentoonstellingen met maar 1 kunstenaar eraan

Het punt van een groepstentoonstelling is dat er meerdere kunstenaars aan meedoen, dus een groepstentoonstelling met maar 1 kunstenaar is verdacht. We hebben dus een lijst nodig van groepstentoonstellingen die "gebracht door" hebben met maar 1 item dat de rol van "kunstenaar" opneemt.

Activiteiten van het type "beurs", maar niet gebracht door een Organisator van het type "Beurs"

Kunstbeurzen zijn niet zo wijd verspreid. Het zijn er maar een aantal. Zo een "Organisator" moet dus getypeerd worden als een Beurs We hebben dus een lijst nodig van Organisatoren die "gebracht door" opnemen bij activiteiten van het activiteit type "beurs", maar zelf niet "agent type" "beurzen" hebben.

Deze lijst (https://osloddt.wikibase.cloud/wiki/Special:WhatLinksHere/Item:Q157549) zou dus een overzicht moeten geven van de kunstbeurzen.

Activiteiten die onder tentoonstellingen vallen, maar niet op een Locatie of gebracht door een Organisator met het type "Tentoonstellingsruimte"

Tentoonstellingen worden georganiseerd door Organisatoren of Locaties die zichzelf als een tentoonstellingsruimte positioneren, en zouden dus dit type moeten krijgen. We hebben daarom een lijst nodig van Locaties of Organisatoren (die de rol (bij gebracht door) van locatie opnemen) die verbonden zijn aan tentoonstellingen, maar niet getypeerd worden als tentoonstellingsruimte.

Podiumkunsten

Sommige onmogelijkheden zijn specifiek voor activiteiten binnen een bepaalde discipline. Hier bekijken we onmogelijkheden in de podiumkunsten.

Podiumvoorstellingen die niet verwijzen naar een podiumproductie

Muziek

Tracks zonder een "Muziekuitgave"

Concerten zonder Locatie

Concerten zonder artiesten

Realisatoren

Overzicht van alle Actoren, zonder enig actor type

PREFIX kp:<https://osloddt.wikibase.cloud/entity/>
PREFIX kpp:<https://osloddt.wikibase.cloud/prop/direct/>
SELECT DISTINCT ?actor ?actorLabel ?typeLabel
WHERE {
 ?actor kpp:P1 ?is.
 FILTER (?is IN (kp:Q58543, kp:Q58545)).
 OPTIONAL {?actor kpp:P41 ?type. }.
 SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}

Actoren met dezelfde naam

Deze lijst kijkt heel naïef naar enkel de labels, maar neemt niet in rekening als er al een disambiguerende description voorzien is.

SELECT ?itemLabel (GROUP_CONCAT(?item;separator=", ") as ?itemURLs) (count(?itemLabel) as ?itemLabelCount) {
?item <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1453>.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}
GROUP BY ?itemLabel
HAVING (count(?itemLabel) > 1)
ORDER BY DESC(?itemLabelCount)

Overzicht van items die het object zijn van een statement met verb "actor type", maar niet "is" "actor type" hebben

Items die het object zijn van "gebracht door" maar niet "is" "Uitvoerder" of "Organisator" hebben

Items die het object zijn van "gebracht door" en "is" "Locatie" hebben mogen niet bestaan

Locaties

Locaties die ook Realisatoren zijn

Er is een risico om locaties (fysieke plekken, architecturale entiteiten, ...) te "confounden" met Organisatoren (organisaties die activiteiten organiseren). We volgen de logica van OSLO en wikidata om die apart te houden. Natuurlijk vallen die soms samen (de AB is zowel een architecturale entiteit als een concertorganisator), maar we zorgen er toch voor dat het aparte items zijn, met aparte Q-nummers. We kunnen linken tussen de Locatie en de Realisator via "werkt samen met".

We hebben een lijst nodig van items die "is" zowel een Locatie én Organisator/Uitvoerder zijn. Die moeten dan gesplitst worden.

Festivals zijn geen locaties

Kunstbeurzen zijn geen locaties

Locaties kunnen niet het object zijn van "gebracht" door

Generiek

Overzicht van alle Items, zonder "IS" statement

Overzicht van items die het object zijn van een statement met verb "url type", maar niet "is" "url type" hebben

Overzicht van items die het object zijn van een qualifying statement met verb "rol", maar niet "is" "Rol" hebben

Overzicht van alle plaatsen zonder land

Plaatsen in hetzelfde land met dezelfde naam

SELECT ?landLabel ?itemLabel (GROUP_CONCAT(?item) as ?itemURLs) (count(?itemLabel) as ?itemLabelCount) {
 ?item <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q229>;
       <http://osloddt.wiki.opencura.com/prop/direct/P20> ?land.
 SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}
GROUP BY ?landLabel ?itemLabel
HAVING (count(?itemLabel) > 1)

Items die gebruikt worden als het object van een "rol" verb, maar die niet "is" "rol" zijn