Overzicht van onmogelijkheden: verschil tussen versies

Uit Knowledge Graph Kunstenpunt
Ga naar:navigatie, zoeken
 
(36 tussenliggende versies door 2 gebruikers niet weergegeven)
Regel 1: Regel 1:
== Lijstjes via SPARQL voor overzicht, quality assurance en data validatie ==
= Onmogelijkheden, constraints, requirements, ... =


=== Data overviews ===
Sommige zaken zijn onmogelijk volgens de data modellering. Hieronder een opsomming:


==== Overzicht van alle Items van het type Activiteit, met een activiteitstype ====
* Tentoonstellingen en dergelijke
 
** Items met activiteittype "Tentoonstelling" (en dergelijke) hebben altijd een "gebracht door"  eigenschap, die verwijst naar een item met "is Uitvoerder" of "is Organisator", met als qualifier "rol"= "kunstenaar"
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")
** Items met activiteittype "Tentoonstelling" (en dergelijke) hebben altijd een "locatie" eigenschap
 
** Solotentoonstellingen hebben maximaal 1 item gelink via "gebracht door" met de rol "kunstenaar"
SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel
** Groepstentoonstellingen hebben altijd minstens 2 items gelinkt via "gebracht door" die de rol "kunstenaar" opnemen
WHERE {
** Activiteiten met het activiteittype "beurs" moeten een organisator hebben die zelf het Organisatortype "Beurs" draagt
  ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1>.
* Podiumdata
  ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P13> ?activiteitType. 
** Podiumvoorstellingen moeten altijd verwijzen met "is onderdeel van" naar een item met als Activiteitstype podiumproductie.
  ?activiteitType <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q15>.
** Items met activiteittype "Podiumproductie" hebben altijd een "gebruikt werk" eigenschap, die verwijst naar een item met als werktype Podiumproductie
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
* Muziekuitgaven
}
** [https://kg.kunsten.be/query/#PREFIX%20kp%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fentity%2F%3E%0APREFIX%20kpt%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fprop%2Fdirect%2F%3E%0APREFIX%20kpp%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fprop%2F%3E%0A%0ASELECT%20DISTINCT%20%3Fopname%0AWHERE%0A%7B%0A%20%20%3Fopname%20kpt%3AP13%20kp%3AQ1243408.%0A%20%20FILTER%20NOT%20EXISTS%20%7B%20%3Fopname%20kpt%3AP43%20%3Fmuziekuitgave.%20%7D%0A%7D Items met activiteittype "Opname" hebben altijd een "is onderdeel van" eigenschap, die verwijst naar een item met activiteitstype Muziekuitgave", met als qualifier "volgnummer" = de tracknummer.]
 
** [https://kg.kunsten.be/query/#PREFIX%20kp%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fentity%2F%3E%0APREFIX%20kpt%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fprop%2Fdirect%2F%3E%0APREFIX%20kpp%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fprop%2F%3E%0A%0ASELECT%20DISTINCT%20%3Fmuziekuitgave%0AWHERE%0A%7B%0A%20%20%3Fmuziekuitgave%20kpt%3AP13%20kp%3AQ58532.%0A%20%20FILTER%20NOT%20EXISTS%20%7B%20%3Fmuziekuitgave%20kpt%3AP36%20%3Fconcept.%20%7D%0A%7D Items met activiteittype "Muziekuitgave" hebben altijd een "concept" eigenschap]
==== Overzicht van alle Actoren, met actor type ====
** [https://kg.kunsten.be/query/#PREFIX%20kp%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fentity%2F%3E%0APREFIX%20kpt%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fprop%2Fdirect%2F%3E%0APREFIX%20kpp%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fprop%2F%3E%0A%0ASELECT%20DISTINCT%20%3Fmuziekuitgave%0AWHERE%0A%7B%0A%20%20%3Fmuziekuitgave%20kpt%3AP13%20kp%3AQ58532.%0A%20%20FILTER%20NOT%20EXISTS%20%7B%20%3Fmuziekuitgave%20kpt%3AP36%20%3Fconcept.%20%7D%0A%7D Items met een activiteittype "Muziekuitgave" hebben altijd een "format" eigenschap]
 
** [https://kg.kunsten.be/query/#PREFIX%20kp%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fentity%2F%3E%0APREFIX%20kpt%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fprop%2Fdirect%2F%3E%0APREFIX%20kpp%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fprop%2F%3E%0A%0ASELECT%20DISTINCT%20%3Fmuziekuitgave%0AWHERE%0A%7B%0A%20%20%3Fmuziekuitgave%20kpt%3AP13%20kp%3AQ58532.%0A%20%20FILTER%20NOT%20EXISTS%20%7B%20%3Fmuziekuitgave%20kpt%3AP42%20%3Fformat.%20%7D%0A%7D Items met activiteittype "Muziekuitgave" hebben altijd contributors via "gebracht door" eigenschap]
==== Overzicht van alle Werken, met werk type ====
** [https://kg.kunsten.be/query/#PREFIX%20kp%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fentity%2F%3E%0APREFIX%20kpt%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fprop%2Fdirect%2F%3E%0APREFIX%20kpp%3A%3Chttps%3A%2F%2Fkg.kunsten.be%2Fprop%2F%3E%0A%0ASELECT%20DISTINCT%20%3Fmuziekuitgave%0AWHERE%0A%7B%0A%20%20%3Fmuziekuitgave%20kpt%3AP13%20kp%3AQ58532.%0A%20%20FILTER%20NOT%20EXISTS%20%7B%20%3Fmuziekuitgave%20kpt%3AP71%20%3Fafbeelding.%20%7D%0A%7D Items met activiteittype "Muziekuitgave" hebben altijd een afbeelding via "media" eigenschap]
 
* Concerten
==== Overzicht van alle Activiteit Types ====
** Items met activiteittype "Concert" hebben altijd een "locatie" eigenschap
 
** Items met activiteittype "Concert" hebben altijd een "gebracht door" eigenschap, die verwijst naar een Item met "is Uitvoerder" of "is Organisator", met als qualifier "rol" = "Performer"
Toon alle "item [[Property:P1|is]] een [[Item:Q15|Activiteit Type]]"
* Minimale eigenschappen
 
** Items hebben altijd een "is" statement
  SELECT DISTINCT ?item ?itemLabel ?typeLabel
** Items met "is Plaats" hebben altijd een "land" eigenschap
  WHERE {
** Items met "is Locatie" hebben altijd een "plaats" eigenschap
    ?item <http://osloddt.wiki.opencura.com/prop/direct/P1> ?type.
** Items met "is Werk" hebben altijd een "werk type" eigenschap
    FILTER (?type IN (<http://osloddt.wiki.opencura.com/entity/Q15>)).
** Items met "is Activiteit" hebben altijd een "activiteittype" eigenschap
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
** Items mogen niet tegelijk ("is Organisator" of "is Uitvoerder) én "is Locatie" hebben, deze moeten uitgesplitst worden
  }
** Items moeten minstens een label hebben, zie deze lijst van issues: [[Item:Q1560655|Q1560655]], [[Item:Q70661|Q70661]], [[Item:Q70662|Q70662]], [[Item:Q70663|Q70663]], [[Item:Q70664|Q70664]], [[Item:Q157644|Q157644]], [[Item:Q157645|Q157645]], [[Item:Q157646|Q157646]], [[Item:Q157647|Q157647]], [[Item:Q157648|Q157648]], [[Item:Q157649|Q157649]], [[Item:Q157650|Q157650]], [[Item:Q157651|Q157651]], [[Item:Q157652|Q157652]], [[Item:Q157653|Q157653]], [[Item:Q157655|Q157655]], [[Item:Q157656|Q157656]], [[Item:Q157657|Q157657]], [[Item:Q157658|Q157658]], [[Item:Q157659|Q157659]], [[Item:Q157660|Q157660]], [[Item:Q157661|Q157661]], [[Item:Q157662|Q157662]], [[Item:Q157663|Q157663]], [[Item:Q157664|Q157664]], [[Item:Q157665|Q157665]], [[Item:Q193929|Q193929]], [[Item:Q492712|Q492712]], [[Item:Q1155128|Q1155128]], [[Item:Q1155129|Q1155129]], [[Item:Q1155130|Q1155130]], [[Item:Q1155131|Q1155131]], [[Item:Q1155132|Q1155132]], [[Item:Q1155164|Q1155164]], [[Item:Q1155165|Q1155165]], [[Item:Q1155166|Q1155166]], [[Item:Q1155167|Q1155167]], [[Item:Q1155168|Q1155168]], [[Item:Q1155169|Q1155169]], [[Item:Q1155170|Q1155170]], [[Item:Q1155171|Q1155171]], [[Item:Q1155172|Q1155172]], [[Item:Q1155173|Q1155173]], [[Item:Q1155174|Q1155174]], [[Item:Q1155175|Q1155175]], [[Item:Q1155176|Q1155176]], [[Item:Q1155177|Q1155177]], [[Item:Q1155178|Q1155178]], [[Item:Q1155179|Q1155179]], [[Item:Q1155180|Q1155180]], [[Item:Q1155181|Q1155181]], [[Item:Q1155182|Q1155182]], [[Item:Q1155183|Q1155183]], [[Item:Q1155184|Q1155184]], [[Item:Q1155205|Q1155205]], [[Item:Q1155206|Q1155206]], [[Item:Q1155207|Q1155207]], [[Item:Q1155208|Q1155208]], [[Item:Q1155209|Q1155209]], [[Item:Q1155229|Q1155229]], [[Item:Q1155230|Q1155230]], [[Item:Q1155231|Q1155231]], [[Item:Q1155232|Q1155232]], [[Item:Q1155233|Q1155233]], [[Item:Q1155234|Q1155234]], [[Item:Q1155235|Q1155235]], [[Item:Q1155236|Q1155236]], [[Item:Q1155237|Q1155237]], [[Item:Q1155238|Q1155238]], [[Item:Q1155239|Q1155239]], [[Item:Q1155240|Q1155240]], [[Item:Q1155241|Q1155241]], [[Item:Q1155242|Q1155242]], [[Item:Q1155243|Q1155243]], [[Item:Q1155244|Q1155244]], [[Item:Q1155245|Q1155245]], [[Item:Q1155246|Q1155246]], [[Item:Q1155247|Q1155247]], [[Item:Q1155248|Q1155248]], [[Item:Q1155249|Q1155249]], [[Item:Q1255950|Q1255950]], [[Item:Q597120|Q597120]], [[Item:Q783806|Q783806]], [[Item:Q848205|Q848205]], [[Item:Q1581520|Q1581520]], [[Item:Q1581940|Q1581940]], [[Item:Q1582816|Q1582816]]
  ORDER BY ?item ?typeLabel
* property constraints
 
** Items waar naar verwezen wordt met de eigenschap "is onderdeel van" moeten een "is Activiteit" hebben
==== Overzicht van alle Actor Types ====
** Items waar naar verwezen wordt met de eigenschap "werkt samen met" moeten een "is Organisator" of "is Uitvoerder" of "is Locatie" hebben
 
** Items waar naar verwezen wordt met de eigenschap "gebracht" moeten een "is uitvoerder" of "is organisator" hebben
  SELECT DISTINCT ?item ?itemLabel ?typeLabel
** Items waar naar verwezen wordt met de eigenschap "rol" moeten een "is rol" statement hebben
  WHERE {
** Items waar naar verwezen wordt met de eigenschap "werk type" moeten een "is werktype" statement hebben
    ?item <http://osloddt.wiki.opencura.com/prop/direct/P1> ?type.
** Items waar naar verwezen wordt met de eigenschap "plaats" moeten een "is plaats" of "is land" statement hebben
    FILTER (?type IN (<http://osloddt.wiki.opencura.com/entity/Q1428>, <http://osloddt.wiki.opencura.com/entity/Q23>, <http://osloddt.wiki.opencura.com/entity/Q1454>)).
** Items waar naar verwezen wordt met de eigenschap "land" moeten een "is land" statement hebben
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
** Items waar naar verwezen wordt met de eigenschap "discipline" moeten een "is discipline" statement hebben
  }
** Items waar naar verwezen wordt met de eigenschap "locatie" moeten een "is Locatie" statement hebben
  ORDER BY ?item ?typeLabel
** Items waar naar verwezen wordt met de eigenschap "gebruikt werk" moeten een "is Werk" statement hebben
 
** Items waar naar verwezen wordt met de eigenschap "activiteit type" moeten een "is Activiteittype" hebben
==== Overzicht van alle Werk types ====
** Items waar naar verwezen wordt met de eigenschap "agent type" moeten een "is organisator type" of "is uitvoerder type" hebben
 
** Items waar naar verwezen wordt met de eigenschap "activiteittype" moeten een "is Activiteit" hebben
  SELECT DISTINCT ?item ?itemLabel ?typeLabel
** Items waar naar verwezen wordt met de eigenschap "werktype" moeten een "is Werk" hebben
  WHERE {
** Items waar naar verwezen wordt met de eigenschap "agent type" hebben altijd een "is Organisator" of "is Uitvoerder"
    ?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 ====
 
SELECT DISTINCT ?item ?itemLabel ?typeLabel
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:
 
==== Overzicht van alle Samenwerkings types ====
 
Samenwerkingstypes kunnen ook vrij gemodelleerd worden:
 
==== Overzicht van alle URL types ====
 
==== Overzicht van alle email types ====
 
==== Overzicht van alle onderdeel types ====
Waarmee sub/superactiviteiten met elkaar gelinkt worden
 
==== Overzicht van alle format types ====
 
==== Overzicht van alle subsidie types ====
 
==== Overzicht van alle trigger types ====
 
=== Quality assurance ===
 
==== Overzicht van alle items die geen "is" property hebben ====
 
==== Overzicht van alle items met een "Activiteit", maar geen activiteit type ====
 
Toon alle activiteiten zonder activiteit type (zou een lege lijst moeten opleveren!):
 
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 alle items met een "Actor" via "is", maar geen actor type ====
 
==== Overzicht van alle Rollen die geen Actor Type zijn, en vice versa ====
 
==== Overzicht van activiteiten zonder gestructureerd activiteit type, maar wel met een vrij activiteit type ====
 
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 items waarin een qualifier zit met "rol (vrij)", zonder een genormaliseerde "rol" ====
 
==== Overzicht van items waarin een qualifier zit met "samenwerkings type (vrij)", zonder een genormaliseerde "samenwerkings type" ====
 
==== Overzicht van items waarin een qualifier zit met "onderdeel type (vrij)", zonder een genormaliseerde "onderdeel type" ====
 
==== 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):
 
SELECT distinct ?activiteitType ?activiteitTypeLabel
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 "actor type", maar niet "is" "actor type" hebben ====
 
==== Overzicht van items die het object zijn van een statement met verb "rol", maar niet "is" "Rol" hebben ====
 
==== Overzicht van alle plaatsen ====
 
SELECT DISTINCT ?item ?itemLabel ?landLabel
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 plaatsen zonder land:
 
==== Items met dezelfde naam ====
 
==== 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)
 
===== 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)
 
=== Data validation ===
 
TODO te onderzoeken of dit kan met schema's, bv. te genereren via https://wikishape.weso.es/
 
==== Items van "is" Actor die niet de bepaalde statements hebben ====
 
==== Items van "is" Activiteit, type "Concert" die niet de bepaalde statements hebben ====
 
==== Items van "is" Activiteit, type "Muziekuitgave" die niet de bepaalde statements hebben ====
 
==== Items van het type Track die niet de bepaalde statements hebben ====
 
==== Items van het type track zonder een "Muziekuitgave" ====
 
==== Items van "is" Activiteit, type "Podiumproductie" die niet de bepaalde statements hebben ====
 
==== Items van "is" Activiteit, type "Voorstelling" die niet de bepaalde statements hebben ====
 
==== Items van het type voorstelling zonder een podiumproductie ====
 
==== Items van "is" Activiteit, type "Residentie" die niet de bepaalde statements hebben ====
 
==== Items van "is" Activiteit, type "Tentoonstelling" die niet de bepaalde statements hebben ====
 
==== Items van het type toonmoment die niet de bepaalde statements hebben ====
 
==== Items van het type toonmoment zonder een overkoepelende tentoonstelling of residentie ====
 
== Enkele SPARQL truukjes ==
 
SELECT DISTINCT ?item ?itemLabel ?type ?typeLabel
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
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

Huidige versie van 10 sep 2024 om 08:14

Onmogelijkheden, constraints, requirements, ...

Sommige zaken zijn onmogelijk volgens de data modellering. Hieronder een opsomming: