Overzicht van onmogelijkheden: verschil tussen versies

Uit Knowledge Graph Kunstenpunt
Ga naar:navigatie, zoeken
 
(40 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]
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):
** [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]
SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel
** [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]
WHERE {
* Concerten
  ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1>.
** Items met activiteittype "Concert" hebben altijd een "locatie" eigenschap
  ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P13> ?activiteitType. 
** 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"
  FILTER NOT EXISTS { ?activiteitType <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q15> }.
* Minimale eigenschappen
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
** Items hebben altijd een "is" statement
}
** Items met "is Plaats" hebben altijd een "land" eigenschap
 
** Items met "is Locatie" hebben altijd een "plaats" eigenschap
Toon alle activiteiten zonder activiteit type, maar wel met een een activiteit type (vrij), zodat dat vrije tekst veld gestructureerd kan worden.
** Items met "is Werk" hebben altijd een "werk type" eigenschap
 
** Items met "is Activiteit" hebben altijd een "activiteittype" eigenschap
SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel ?activiteitTypeVrijLabel
** Items mogen niet tegelijk ("is Organisator" of "is Uitvoerder) én "is Locatie" hebben, deze moeten uitgesplitst worden
WHERE {
** 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]]
  ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1>;
* property constraints
              <http://osloddt.wiki.opencura.com/prop/direct/P49> ?activiteitTypeVrij.
** Items waar naar verwezen wordt met de eigenschap "is onderdeel van" moeten een "is Activiteit" hebben
  MINUS { ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P13> ?activiteitType }.
** Items waar naar verwezen wordt met de eigenschap "werkt samen met" moeten een "is Organisator" of "is Uitvoerder" of "is Locatie" hebben
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
** Items waar naar verwezen wordt met de eigenschap "gebracht" moeten een "is uitvoerder" of "is organisator" hebben
}
** Items waar naar verwezen wordt met de eigenschap "rol" moeten een "is rol" statement hebben
 
** Items waar naar verwezen wordt met de eigenschap "werk type" moeten een "is werktype" statement hebben
==== Overzicht van alle Actoren, met actor type ====
** Items waar naar verwezen wordt met de eigenschap "plaats" moeten een "is plaats" of "is land" statement hebben
 
** Items waar naar verwezen wordt met de eigenschap "land" moeten een "is land" statement hebben
==== Overzicht van alle Werken, met werk type ====
** 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
==== Overzicht van alle Activiteit Types ====
** 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
Toon alle "item [[Property:P1|is]] een [[Item:Q15|Activiteit Type]]"
** 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/Q15>)).
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
  }
  ORDER BY ?item ?typeLabel
 
==== Overzicht van alle Actor Types ====
 
  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/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 ====
 
  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/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 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 ====
 
==== 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 ====
 
===== 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 ===
 
==== 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: