Overzicht van onmogelijkheden: Difference between revisions

From Doelgericht Digitaal Transformeren
No edit summary
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Lijstjes via SPARQL voor overzicht, quality assurance en data validatie ==
= Onmogelijkheden =


=== Data overviews ===
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.


==== Overzicht van alle Items van het type Activiteit, met een activiteitstype ====
Een andere aanpak moet ook mogelijk zijn, bv. via SHACL?


Toon alle "item [[Property:P1|is]] een [[Item:Q1|Activiteit]], met ook een relatie voor een [[Property:P13|activiteit type]], waarbij het type van [[Property:P1|is]] een [[Item:Q15|Activiteitstype]]" (dit zijn "valid activiteiten")
== Activiteiten ==


PREFIX kp:<https://osloddt.wikibase.cloud/entity/>
Hieronder een bundeling van "onmogelijkheden" die te maken hebben met activiteiten op het algemene niveau.
PREFIX kpp:<https://osloddt.wikibase.cloud/prop/direct/>
 
  SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel
=== 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 {
  WHERE {
   ?activiteit kpp:P1 kp:Q1.
   ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1>;
   ?activiteit kpp:P13 ?activiteitType
              <http://osloddt.wiki.opencura.com/prop/direct/P49> ?activiteitTypeVrij.
  ?activiteitType kpp:P1 kp:Q15.
   MINUS { ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P13> ?activiteitType }.
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
  }
  }


==== Overzicht van alle Actoren, met actor type ====
=== Overzicht van alle Items van het type Activiteit, zonder enig activiteitstype ===


  SELECT ?actor ?actorLabel ?typeLabel
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 {
  WHERE {
   ?actor <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1453>.
   ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1>.
   ?actor <http://osloddt.wiki.opencura.com/prop/direct/P41> ?type. 
   MINUS { ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P13> ?activiteitType }.
  ?type <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1454>.
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
  }
  }
order by ?actorLabel


==== Overzicht van alle Werken, met werk type ====
=== 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".


SELECT ?work ?workLabel ?typeLabel
=== Overzicht van items die het object zijn van een statement met verb "activiteit type", maar niet "is" "activiteit type" hebben ===
WHERE {
 
?work <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1457>.
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.
?work <http://osloddt.wiki.opencura.com/prop/direct/P48> ?type.
 
?type <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1496>.
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.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
 
}
=== Beeldende kunst ===
order by ?workLabel
 
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 een relatief afgebakende lijst. Zo een "Organisator" moet dus getypeerd worden als een [[Item:Q157549|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 (activiteit) ====
 
Een podiumvoorstelling laten we niet zweven zonder een overkoepelend object aan te bieden. Doorgaans zijn podiumvoorstellingen geen eenmalige gebeurtenissen. Ze worden herhaald opgevoerd, en daarom moeten we kunnen verwijzen naar een overkoepelende activiteit via "is onderdeel van".
 
We hebben een lijst nodig van podiumvoorstellingen die niet "is onderdeel van" hebben en waarbij dat niet linkt naar een activiteit van het type podiumproductie (activiteit).
 
==== Podiumproducties (activiteit) die niet verwijzen naar een podiumproductie (werk) ====
 
Podiumproducties (activiteit) zijn overkoepelend objecten om uitvoeringen van die podiumproductie mee te bundelen. Het kan gaan over een seizoenslogica, of over een vaste samenstelling van de cast, of ... Maar ook daarboven is er een object nodig om die items te bundelen: een "herneming" in een nieuw seizoen, een "herneming" met een hele andere cast, een vertaling, ... Daarom is er ook een Werk object voor podiumproducties.
 
We hebben dus een lijst nodig van podiumproducties (activiteit) die niet "gebruikt werk" hebben en verwijzen naar een item van het type podiumproductie (werk).


==== Overzicht van alle Activiteit Types ====
=== Muziek ===


Toon alle "item [[Property:P1|is]] een [[Item:Q15|Activiteit Type]]"
Sommige onmogelijkheden zijn specifiek voor activiteiten binnen een bepaalde discipline. Hier bekijken we onmogelijkheden in de muziek.


  SELECT DISTINCT ?item ?itemLabel ?typeLabel
==== Tracks zonder een "Muziekuitgave" ====
  WHERE {
    ?item <http://osloddt.wiki.opencura.com/prop/direct/P1> ?type.
    FILTER (?type IN (<http://osloddt.wiki.opencura.com/entity/Q15>)).
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
  }
  ORDER BY ?item ?typeLabel


==== Overzicht van alle Actor Types ====
Tracks (opnames, phonogrammen, ...) kunnen eigenlijk niet op zichzelf bestaan in onze databank. Ze moeten "gereleased" worden via een muziekuitgave (die dan een bepaald concept (een single, een album, ...) en format (op cd, op vinyl, ...) heeft). We hebben daarom een lijst nodig van Tracks die niet "is onderdeel van" een item van het type muziekuitgave zijn.


  SELECT DISTINCT ?item ?itemLabel ?typeLabel
==== Concerten zonder Locatie ====
  WHERE {
    ?item <http://osloddt.wiki.opencura.com/prop/direct/P1> ?type.
    FILTER (?type IN (<http://osloddt.wiki.opencura.com/entity/Q1428>, <http://osloddt.wiki.opencura.com/entity/Q23>, <http://osloddt.wiki.opencura.com/entity/Q1454>)).
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
  }
  ORDER BY ?item ?typeLabel


==== Overzicht van alle Werk types ====
Concerten moeten altijd plaatsvinden op een bepaalde locatie. Door een legacy redenering zijn er heel wat concerten die geen "plaats" zullen hebben. Die moeten we in een lijst brengen en bekijken hoe we die een locatie geven, eventueel de overeenkomstige Organisator dubbelen om als Locatie te kunnen opereren.


  SELECT DISTINCT ?item ?itemLabel ?typeLabel
==== Locaties van concerten die het type Organisator hebben zijn niet toegestaan ====
  WHERE {
    ?item <http://osloddt.wiki.opencura.com/prop/direct/P1> ?type.
    FILTER (?type IN (<http://osloddt.wiki.opencura.com/entity/Q1496>)).
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
  }
  ORDER BY ?item ?typeLabel


==== Overzicht van alle Rollen ====
Concerten vinden plaats op locaties en worden gebracht door organisatoren. Maar door een legacy redenering zou het kunnen dat er locaties (via property plaats) gekoppeld worden aan een concert die van het type Organisator zijn. Dat zou niet mogen. We moeten daarom een lijst krijgen van items die gekoppeld zijn aan concerten via "plaats" en van het type Organisator zijn.


SELECT DISTINCT ?item ?itemLabel ?typeLabel
==== Concerten zonder artiesten ====
WHERE {
  ?item <http://osloddt.wiki.opencura.com/prop/direct/P1> ?type.
  FILTER (?type IN (<http://osloddt.wiki.opencura.com/entity/Q20>)).
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}
ORDER BY ?item ?typeLabel


Rollen kunnen ook vrij gemodelleerd worden. Dan moeten we op zoek naar de objecten van een qualifying statement van de property rol (vrij):
Net zoals tentoonstellingen kunnen concerten niet plaatsvinden zonder een item dat gelinkt is met "gebracht door" van het type "Uitvoerder". We hebben dus een lijst van concerten zonder een gebracht door statement waarbij het object van het type uitvoerder is.


SELECT DISTINCT ?typeLabel
== Realisatoren ==
WHERE {
  ?item <http://osloddt.wiki.opencura.com/prop/qualifier/P45> ?type.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}
ORDER BY ?typeLabel


==== Overzicht van alle Plaatsen ====
Hieronder een bundeling van "onmogelijkheden" die te maken hebben met realisatoren (uitvoerders en organisatoren) in het algemeen.


SELECT DISTINCT ?item ?itemLabel ?landLabel
=== Overzicht van alle Actoren, met een vrij agent type, maar zonder gestructureerd type ===
WHERE {
  ?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" . }
}
ORDER BY ?landLabel ?itemLabel


==== Overzicht van alle Landen ====
Actoren (realisatoren, uitvoerders, organisatoren, ...) hoeven niet altijd een agent type te krijgen. Maar als ze een vrij agent type hebben gekregen, dan is het wel best dat dat ook genormaliseerd wordt met een gestructureerd type. We hebben daarom een lijst nodig van items die "is" "uitvoerder" of "organisator" zijn, een vrij agent type hebben, maar geen gestructureerd agent type.


  PREFIX kp:<https://osloddt.wikibase.cloud/entity/>
  PREFIX kp:<https://osloddt.wikibase.cloud/entity/>
  PREFIX kpp:<https://osloddt.wikibase.cloud/prop/direct/>
  PREFIX kpp:<https://osloddt.wikibase.cloud/prop/direct/>
PREFIX kpprop:<https://osloddt.wikibase.cloud/prop/>
  SELECT DISTINCT ?actor ?actorLabel ?typeLabel
PREFIX kpq:<https://osloddt.wikibase.cloud/prop/qualifier/>
PREFIX kps:<http://osloddt.wikibase/prop/statement/>
  SELECT DISTINCT ?item ?itemLabel ?itemTypeLabel ?legacyurlLabel
  WHERE {
  WHERE {
   ?item kpp:P1 ?itemType.
   ?actor kpp:P1 ?is.
   ?item kpp:P26 ?legacyurl.
   FILTER (?is IN (kp:Q58543, kp:Q58545)).
   ?item kpprop:P26 ?legacyurlstatement.
   OPTIONAL {?actor kpp:P41 ?type. }.
  ?legacyurlstatement kpq:P27 kp:Q50856.
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
  }
  }
ORDER BY ?itemLabel


==== Overzicht van alle Samenwerkings types ====
=== Actoren met dezelfde naam ===


Samenwerkingstypes kunnen ook vrij gemodelleerd worden:
Het is onvermijdelijk dat er mensen of organisaties met dezelfde naam zijn. In het beste geval voorzien we in de description een kleine disambiguering, maar in eerste instantie kunnen we daar niet naar kijken, omdat de description informatie bevat over de bron, en die kan misleidend zijn. In eerste instantie hebben we daarom een lijst nodig van labels (van items die "is" "uitvoerder" of "organisator" zijn, en die meerdere keren voorkomen).


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


==== Overzicht van alle email types ====
We moeten hygiënisch zijn bij de manier waarop we agent types toekennen aan uitvoerders of organisatoren. Zo is "kunstenaar" een agent type, maar ook apart een "rol". Het mag niet voorkomen dat mensen de rol "kunstenaar" gebruiken als object van een statement met als verb "agent type". We hebben dus een lijst nodig van items waarbij in het statement agent type het object niet van het type "uitvoerdertype" of "organisatortype" is


==== Overzicht van alle onderdeel types ====
=== Items die het object zijn van "gebracht door" maar niet "is" "Uitvoerder" of "Organisator" hebben ===
Waarmee sub/superactiviteiten met elkaar gelinkt worden


==== Overzicht van alle format types ====
Over alle activiteiten heen zijn de items die gelinkt kunnen worden via "gebracht door" verplicht van het type "uitvoerder" of "organisator. We hebben een lijst nodig van items waarbij "gebracht door" gecombineerd wordt met items die niet dat type hebben.


==== Overzicht van alle subsidie types ====
=== Items die het object zijn van "gebracht door" en "is" "Locatie" hebben mogen niet bestaan ===


==== Overzicht van alle trigger types ====
Activiteiten die via "gebracht door" gerelateerd zijn met andere items mogen die relatie niet gebruiken om te verwijzen naar Locaties. Dat zijn fysieke plekken, architecturale entiteiten, ... en die hebben geen "agency" om iets te brengen. We hebben dus een lijst nodig van items waarbij "gebracht door" gebruikt wordt in combinatie met een item van het type Locatie.


=== Quality assurance ===
== Locaties ==


==== Overzicht van alle items die geen "is" property hebben ====
=== Locaties die ook Realisatoren zijn ===


==== Overzicht van alle items met een "Activiteit", maar geen activiteit type ====
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".


Toon alle activiteiten zonder activiteit type (zou een lege lijst moeten opleveren!):
We hebben een lijst nodig van items die "is" zowel een Locatie én Organisator/Uitvoerder zijn. Die moeten dan gesplitst worden.


SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel
=== Festivals zijn geen locaties ===
WHERE {
 
  ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1>.
We moeten streng zijn dat festivals geen architecturale entiteiten zijn, en dus niet als "Locatie" mogen gedefinieerd worden. We hebben een lijst nodig van items met "festival" ofzo in de naam en die toch "is" "locatie" zijn.
  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 met een "Actor" via "is", maar geen actor type ====
Daarnaast moeten we ook consistent zijn dat items die een agent type dat met "festival" te maken heeft ook niet gelijktijdig "is" Locatie zijn. We hebben dus ook een lijst nodig van items met een agent type dat "festival bevat" én ook "is" locatie zijn.


==== Overzicht van alle Rollen die geen Actor Type zijn, en vice versa ====
=== Kunstbeurzen zijn geen locaties ===


==== Overzicht van activiteiten zonder gestructureerd activiteit type, maar wel met een vrij activiteit type ====
Idem als bij festivals.


Toon alle activiteiten zonder activiteit type, maar wel met een een activiteit type (vrij), zodat dat vrije tekst veld gestructureerd kan worden.
=== Locaties kunnen niet het object zijn van "gebracht" door ===


SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel ?activiteitTypeVrijLabel
Dit is vermoedelijk een andere insteek voor wat er hoger ook al gezegd werd, maar locaties zijn architecturale entiteiten die geen activiteiten kunnen brengen. Daarom mogen ze niet voorkomen als object van een "gebracht door" property. We hebben dus een lijst nodig van activiteiten waarbij in het gebracht door statement heb object toch een Locatie is.
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 items waarin een qualifier zit met "rol (vrij)", zonder een genormaliseerde "rol" ====
== Generiek ==


==== Overzicht van items waarin een qualifier zit met "samenwerkings type (vrij)", zonder een genormaliseerde "samenwerkings type" ====
Een aantal onmogelijkheden zijn echt wel generiek.


==== Overzicht van items waarin een qualifier zit met "onderdeel type (vrij)", zonder een genormaliseerde "onderdeel type" ====
=== Overzicht van alle Items, zonder "IS" statement ===


==== Overzicht van items die het object zijn van een statement met verb "activiteit type", maar niet "is" "activiteit type" hebben ====
Er zouden in de databakn geen items mogen zitten die niet via "is" een bepaalde categorie toebehoren. We hebben dus een lijst nodig van items die geen "is" statement 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):
=== Consequentie tussen verbs en de objecten die eraan worden meegegeven ===


SELECT distinct ?activiteitType ?activiteitTypeLabel
Bij een werkwoord hoort vaak een bepaald item type, bv. een statement met verb "url type" moet verwijzen naar een item dat "is" "url type". We zouden moeten lijstjes maken van items waarin statements zitten met een incongruentie tussen wat het werkwoord wil zien, en het "is" type van het object.
WHERE {
  ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1>.
  ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P13> ?activiteitType.
  FILTER NOT EXISTS { ?activiteitType <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q15> }.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}


==== 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 statement met verb "url type", maar niet "is" "url type" hebben ====


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


==== Overzicht van items die het object zijn van een qualifying statement met verb "rol", maar niet "is" "Rol" hebben ====
==== Overzicht van items die het object zijn van een qualifying statement met verb "gebruikt werk", maar niet "is" "Werk" hebben ====
 
==== Overzicht van items die het object zijn van een qualifying statement met verb "activiteit type", maar niet "is" "Activiteit Type" hebben ====


==== Overzicht van alle plaatsen zonder land ====
==== Overzicht van items die het object zijn van een qualifying statement met verb "land", maar niet "is" "Land" hebben ====


Overzicht van plaatsen zonder land:
==== Overzicht van items die het object zijn van een qualifying statement met verb "plaats", maar niet "is" "plaats" hebben ====


==== Items met dezelfde naam ====
==== Overzicht van items die het object zijn van een qualifying statement met verb "beginplaats", maar niet "is" "plaats" hebben ====


==== Actoren met dezelfde naam ====
==== Overzicht van items die het object zijn van een qualifying statement met verb "eindplaats", maar niet "is" "plaats" hebben ====


Deze lijst kijkt heel naïef naar enkel de labels, maar neemt niet in rekening als er al een disambiguerende description voorzien is.
==== Overzicht van items die het object zijn van een qualifying statement met verb "locatie", maar niet "is" "Locatie" hebben ====


SELECT ?itemLabel (GROUP_CONCAT(?item;separator=", ") as ?itemURLs) (count(?itemLabel) as ?itemLabelCount) {
==== Overzicht van items die het object zijn van een qualifying statement met verb "is onderdeel van", maar niet "is" "Activiteit" hebben ====
?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)


===== Plaatsen in hetzelfde land met dezelfde naam =====
==== Overzicht van items die het object zijn van een qualifying statement met verb "onderdeel type", maar niet "is" "Onderdeeltype" hebben ====


SELECT ?landLabel ?itemLabel (GROUP_CONCAT(?item) as ?itemURLs) (count(?itemLabel) as ?itemLabelCount) {
==== Overzicht van items die het object zijn van een qualifying statement met verb "werk type", maar niet "is" "Werktype" hebben ====
  ?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)


===== Groepstentoonstellingen in hetzelfde jaar en in dezelfde locatie, met gelijkaardige titels =====
==== Overzicht van items die het object zijn van een qualifying statement met verb "concept", maar niet "is" "Concept" hebben ====


TODO
==== Overzicht van items die het object zijn van een qualifying statement met verb "format", maar niet "is" "Format" hebben ====


===== Activiteiten van het type "beurs", maar niet op een locatie van het type "Beurs" =====
==== Overzicht van items die het object zijn van een qualifying statement met verb "samenwerkingstype", maar niet "is" "Samenwerkings type" hebben ====


===== Activiteiten die onder tentoonstellingen vallen, maar niet op een locatie met het type "Tentoonstellingsruimte" =====
=== Overzicht van alle plaatsen zonder land ===


=== Data validation ===
Plaatsen zouden niet zonder een land indicatie mogen zijn. We hebben een lijst nodig van plaatsen zonder een land.


TODO te onderzoeken of dit kan met schema's, bv. te genereren via https://wikishape.weso.es/
=== Plaatsen in hetzelfde land met dezelfde naam ===


==== Items van "is" Actor die niet de bepaalde statements hebben ====
Hoewel het kan voorkomen dat in hetzelfde land een plaats is met dezelfde naam is het goed om er daar dan een disambiguatie aan toe te voegen in de description.


==== Items van "is" Activiteit, type "Concert" die niet de bepaalde statements hebben ====
== Werken ==


==== Items van "is" Activiteit, type "Muziekuitgave" die niet de bepaalde statements hebben ====
Hieronder een bundeling van "onmogelijkheden" die te maken hebben met werken in het algemeen.


==== Items van het type Track die niet de bepaalde statements hebben ====
=== Overzicht van alle Werken, zonder enig werk type ===


==== Items van het type track zonder een "Muziekuitgave" ====
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.


==== Items van "is" Activiteit, type "Podiumproductie" die niet de bepaalde statements hebben ====
We hebben een lijst nodig van items "is" "werk", maar zonder een "werk type" of "werk type (vrij)" statement.


==== Items van "is" Activiteit, type "Voorstelling" die niet de bepaalde statements hebben ====
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" . }
}


==== Items van het type voorstelling zonder een podiumproductie ====
=== Overzicht van alle Werken met een werk type in vrije tekst, maar niet gestructureerd ===


==== Items van "is" Activiteit, type "Residentie" die niet de bepaalde statements hebben ====
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.


==== Items van "is" Activiteit, type "Tentoonstelling" die niet de bepaalde statements hebben ====
=== Podiumproducties (activiteit) die niet verwijzen naar een podiumproductie (werk) ===


==== Items van het type toonmoment die niet de bepaalde statements hebben ====
(zie ook hoger)


==== Items van het type toonmoment zonder een overkoepelende tentoonstelling of residentie ====
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).


== Enkele SPARQL truukjes ==
=== Werken die niet gebruikt worden in activiteiten ===


SELECT DISTINCT ?item ?itemLabel ?type ?typeLabel
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, ...
WHERE {
  ?item <http://osloddt.wiki.opencura.com/prop/P1> ?statement.
  ?statement <http://osloddt.wiki.opencura.com/prop/statement/P1> <http://osloddt.wiki.opencura.com/entity/Q1>.
  ?statement <http://osloddt.wiki.opencura.com/prop/qualifier/P13> ?type.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}
ORDER BY ?typeLabel


SELECT DISTINCT ?item ?itemLabel ?type ?typeLabel
We hebben in elk geval een lijst nodig van werken die niet gebruikt worden in items "is" "activiteit".
WHERE {
  ?item <http://osloddt.wiki.opencura.com/prop/P1> ?statement.
  ?statement <http://osloddt.wiki.opencura.com/prop/statement/P1> <http://osloddt.wiki.opencura.com/entity/Q1>.
  MINUS { ?statement <http://osloddt.wiki.opencura.com/prop/qualifier/P13> ?type }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}
ORDER BY ?typeLabel

Latest revision as of 09:36, 22 June 2023

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.

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 een relatief afgebakende lijst. 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 (activiteit)

Een podiumvoorstelling laten we niet zweven zonder een overkoepelend object aan te bieden. Doorgaans zijn podiumvoorstellingen geen eenmalige gebeurtenissen. Ze worden herhaald opgevoerd, en daarom moeten we kunnen verwijzen naar een overkoepelende activiteit via "is onderdeel van".

We hebben een lijst nodig van podiumvoorstellingen die niet "is onderdeel van" hebben en waarbij dat niet linkt naar een activiteit van het type podiumproductie (activiteit).

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

Podiumproducties (activiteit) zijn overkoepelend objecten om uitvoeringen van die podiumproductie mee te bundelen. Het kan gaan over een seizoenslogica, of over een vaste samenstelling van de cast, of ... Maar ook daarboven is er een object nodig om die items te bundelen: een "herneming" in een nieuw seizoen, een "herneming" met een hele andere cast, een vertaling, ... Daarom is er ook een Werk object voor podiumproducties.

We hebben dus een lijst nodig van podiumproducties (activiteit) die niet "gebruikt werk" hebben en verwijzen naar een item van het type podiumproductie (werk).

Muziek

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

Tracks zonder een "Muziekuitgave"

Tracks (opnames, phonogrammen, ...) kunnen eigenlijk niet op zichzelf bestaan in onze databank. Ze moeten "gereleased" worden via een muziekuitgave (die dan een bepaald concept (een single, een album, ...) en format (op cd, op vinyl, ...) heeft). We hebben daarom een lijst nodig van Tracks die niet "is onderdeel van" een item van het type muziekuitgave zijn.

Concerten zonder Locatie

Concerten moeten altijd plaatsvinden op een bepaalde locatie. Door een legacy redenering zijn er heel wat concerten die geen "plaats" zullen hebben. Die moeten we in een lijst brengen en bekijken hoe we die een locatie geven, eventueel de overeenkomstige Organisator dubbelen om als Locatie te kunnen opereren.

Locaties van concerten die het type Organisator hebben zijn niet toegestaan

Concerten vinden plaats op locaties en worden gebracht door organisatoren. Maar door een legacy redenering zou het kunnen dat er locaties (via property plaats) gekoppeld worden aan een concert die van het type Organisator zijn. Dat zou niet mogen. We moeten daarom een lijst krijgen van items die gekoppeld zijn aan concerten via "plaats" en van het type Organisator zijn.

Concerten zonder artiesten

Net zoals tentoonstellingen kunnen concerten niet plaatsvinden zonder een item dat gelinkt is met "gebracht door" van het type "Uitvoerder". We hebben dus een lijst van concerten zonder een gebracht door statement waarbij het object van het type uitvoerder is.

Realisatoren

Hieronder een bundeling van "onmogelijkheden" die te maken hebben met realisatoren (uitvoerders en organisatoren) in het algemeen.

Overzicht van alle Actoren, met een vrij agent type, maar zonder gestructureerd type

Actoren (realisatoren, uitvoerders, organisatoren, ...) hoeven niet altijd een agent type te krijgen. Maar als ze een vrij agent type hebben gekregen, dan is het wel best dat dat ook genormaliseerd wordt met een gestructureerd type. We hebben daarom een lijst nodig van items die "is" "uitvoerder" of "organisator" zijn, een vrij agent type hebben, maar geen gestructureerd agent 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

Het is onvermijdelijk dat er mensen of organisaties met dezelfde naam zijn. In het beste geval voorzien we in de description een kleine disambiguering, maar in eerste instantie kunnen we daar niet naar kijken, omdat de description informatie bevat over de bron, en die kan misleidend zijn. In eerste instantie hebben we daarom een lijst nodig van labels (van items die "is" "uitvoerder" of "organisator" zijn, en die meerdere keren voorkomen).

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

We moeten hygiënisch zijn bij de manier waarop we agent types toekennen aan uitvoerders of organisatoren. Zo is "kunstenaar" een agent type, maar ook apart een "rol". Het mag niet voorkomen dat mensen de rol "kunstenaar" gebruiken als object van een statement met als verb "agent type". We hebben dus een lijst nodig van items waarbij in het statement agent type het object niet van het type "uitvoerdertype" of "organisatortype" is

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

Over alle activiteiten heen zijn de items die gelinkt kunnen worden via "gebracht door" verplicht van het type "uitvoerder" of "organisator. We hebben een lijst nodig van items waarbij "gebracht door" gecombineerd wordt met items die niet dat type hebben.

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

Activiteiten die via "gebracht door" gerelateerd zijn met andere items mogen die relatie niet gebruiken om te verwijzen naar Locaties. Dat zijn fysieke plekken, architecturale entiteiten, ... en die hebben geen "agency" om iets te brengen. We hebben dus een lijst nodig van items waarbij "gebracht door" gebruikt wordt in combinatie met een item van het type Locatie.

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

We moeten streng zijn dat festivals geen architecturale entiteiten zijn, en dus niet als "Locatie" mogen gedefinieerd worden. We hebben een lijst nodig van items met "festival" ofzo in de naam en die toch "is" "locatie" zijn.

Daarnaast moeten we ook consistent zijn dat items die een agent type dat met "festival" te maken heeft ook niet gelijktijdig "is" Locatie zijn. We hebben dus ook een lijst nodig van items met een agent type dat "festival bevat" én ook "is" locatie zijn.

Kunstbeurzen zijn geen locaties

Idem als bij festivals.

Locaties kunnen niet het object zijn van "gebracht" door

Dit is vermoedelijk een andere insteek voor wat er hoger ook al gezegd werd, maar locaties zijn architecturale entiteiten die geen activiteiten kunnen brengen. Daarom mogen ze niet voorkomen als object van een "gebracht door" property. We hebben dus een lijst nodig van activiteiten waarbij in het gebracht door statement heb object toch een Locatie is.

Generiek

Een aantal onmogelijkheden zijn echt wel generiek.

Overzicht van alle Items, zonder "IS" statement

Er zouden in de databakn geen items mogen zitten die niet via "is" een bepaalde categorie toebehoren. We hebben dus een lijst nodig van items die geen "is" statement hebben.

Consequentie tussen verbs en de objecten die eraan worden meegegeven

Bij een werkwoord hoort vaak een bepaald item type, bv. een statement met verb "url type" moet verwijzen naar een item dat "is" "url type". We zouden moeten lijstjes maken van items waarin statements zitten met een incongruentie tussen wat het werkwoord wil zien, en het "is" type van het object.

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 items die het object zijn van een qualifying statement met verb "gebruikt werk", maar niet "is" "Werk" hebben

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

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

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

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

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

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

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

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

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

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

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

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

Overzicht van alle plaatsen zonder land

Plaatsen zouden niet zonder een land indicatie mogen zijn. We hebben een lijst nodig van plaatsen zonder een land.

Plaatsen in hetzelfde land met dezelfde naam

Hoewel het kan voorkomen dat in hetzelfde land een plaats is met dezelfde naam is het goed om er daar dan een disambiguatie aan toe te voegen in de description.

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)

(zie ook hoger)

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