Overzicht van onmogelijkheden: verschil tussen versies

Uit Knowledge Graph Kunstenpunt
Ga naar:navigatie, zoeken
Geen bewerkingssamenvatting
 
(17 tussenliggende versies door 2 gebruikers niet weergegeven)
Regel 1: Regel 1:
= Onmogelijkheden =
= Onmogelijkheden, constraints, requirements, ... =


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.
Sommige zaken zijn onmogelijk volgens de data modellering. Hieronder een opsomming:


Een andere aanpak moet ook mogelijk zijn, bv. via SHACL?
* 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"
== Overzicht van alle Items van het type Activiteit, met een vrije tekst activiteitstype ==
** Items met activiteittype "Tentoonstelling" (en dergelijke) hebben altijd een "locatie" eigenschap
 
** Solotentoonstellingen hebben maximaal 1 item gelink via "gebracht door" met de rol "kunstenaar"
Toon alle activiteiten zonder activiteit type, maar wel met een een activiteit type (vrij), zodat dat vrije tekst veld gestructureerd kan worden.
** Groepstentoonstellingen hebben altijd minstens 2 items gelinkt via "gebracht door" die de rol "kunstenaar" opnemen
 
** Activiteiten met het activiteittype "beurs" moeten een organisator hebben die zelf het Organisatortype "Beurs" draagt
SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel ?activiteitTypeVrijLabel
* Podiumdata
WHERE {
** Podiumvoorstellingen moeten altijd verwijzen met "is onderdeel van" naar een item met als Activiteitstype podiumproductie.
  ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1>;
** Items met activiteittype "Podiumproductie" hebben altijd een "gebruikt werk" eigenschap, die verwijst naar een item met als werktype Podiumproductie
              <http://osloddt.wiki.opencura.com/prop/direct/P49> ?activiteitTypeVrij.
* Muziekuitgaven
  MINUS { ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P13> ?activiteitType }.
** [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.]
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
** [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]
}
** [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 Items van het type Activiteit, zonder enig activiteitstype ==
** [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
SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel
** Items met activiteittype "Concert" hebben altijd een "locatie" eigenschap
WHERE {
** 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"
  ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1>.
* Minimale eigenschappen
  MINUS { ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P13> ?activiteitType }.
** Items hebben altijd een "is" statement
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
** Items met "is Plaats" hebben altijd een "land" eigenschap
}
** Items met "is Locatie" hebben altijd een "plaats" eigenschap
 
** Items met "is Werk" hebben altijd een "werk type" eigenschap
== Overzicht van Items met een "activiteit type", maar die niet "Is" "Activiteit" hebben ==
** Items met "is Activiteit" hebben altijd een "activiteittype" eigenschap
 
** Items mogen niet tegelijk ("is Organisator" of "is Uitvoerder) én "is Locatie" hebben, deze moeten uitgesplitst worden
== Overzicht van alle Actoren, zonder enig actor type ==
** 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]]
 
* property constraints
PREFIX kp:<https://osloddt.wikibase.cloud/entity/>
** Items waar naar verwezen wordt met de eigenschap "is onderdeel van" moeten een "is Activiteit" hebben
PREFIX kpp:<https://osloddt.wikibase.cloud/prop/direct/>
** Items waar naar verwezen wordt met de eigenschap "werkt samen met" moeten een "is Organisator" of "is Uitvoerder" of "is Locatie" hebben
SELECT DISTINCT ?actor ?actorLabel ?typeLabel
** Items waar naar verwezen wordt met de eigenschap "gebracht" moeten een "is uitvoerder" of "is organisator" hebben
WHERE {
** Items waar naar verwezen wordt met de eigenschap "rol" moeten een "is rol" statement hebben
  ?actor kpp:P1 ?is.
** Items waar naar verwezen wordt met de eigenschap "werk type" moeten een "is werktype" statement hebben
  FILTER (?is IN (kp:Q58543, kp:Q58545)).
** Items waar naar verwezen wordt met de eigenschap "plaats" moeten een "is plaats" of "is land" statement hebben
  OPTIONAL {?actor kpp:P41 ?type. }.
** 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
 
** Items waar naar verwezen wordt met de eigenschap "gebruikt werk" moeten een "is Werk" statement hebben
== Overzicht van alle Items, zonder "IS" statement ==
** Items waar naar verwezen wordt met de eigenschap "activiteit type" moeten een "is Activiteittype" hebben
 
** Items waar naar verwezen wordt met de eigenschap "agent type" moeten een "is organisator type" of "is uitvoerder type" hebben
== Overzicht van alle Werken, zonder enig werk type ==
** Items waar naar verwezen wordt met de eigenschap "activiteittype" moeten een "is Activiteit" hebben
 
** Items waar naar verwezen wordt met de eigenschap "werktype" moeten een "is Werk" hebben
PREFIX kp:<https://osloddt.wikibase.cloud/entity/>
** Items waar naar verwezen wordt met de eigenschap "agent type" hebben altijd een "is Organisator" of "is Uitvoerder"
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 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 qualifying statement met verb "rol", maar niet "is" "Rol" hebben ==
 
== Overzicht van alle plaatsen zonder land ==
 
Overzicht van plaatsen zonder land:
 
== 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)
 
== Tentoonstellingen zonder "kunstenaars" ==
 
== Tentoonstellingen zonder "locatie" ==
 
== Groepstentoonstellingen in hetzelfde jaar en in dezelfde locatie, met gelijkaardige titels ==
 
== Groepstentoonstellingen met maar 1 kunstenaar eraan ==
 
== Activiteiten van het type "beurs", maar niet op een locatie van het type "Beurs" ==
 
== Activiteiten die onder tentoonstellingen vallen, maar niet op een locatie met het type "Tentoonstellingsruimte" ==
 
== Podiumvoorstellingen die niet verwijzen naar een podiumproductie ==
 
== Tracks zonder een "Muziekuitgave" ==

Huidige versie van 10 sep 2024 om 08:14

Onmogelijkheden, constraints, requirements, ...

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