Overzicht van onmogelijkheden: Difference between revisions

From Doelgericht Digitaal Transformeren
No edit summary
No edit summary
Line 5: Line 5:
Een andere aanpak moet ook mogelijk zijn, bv. via SHACL?
Een andere aanpak moet ook mogelijk zijn, bv. via SHACL?


== Overzicht van alle Items van het type Activiteit, met een vrije tekst activiteitstype ==
== Activiteiten ==
 
=== 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.
Toon alle activiteiten zonder activiteit type, maar wel met een een activiteit type (vrij), zodat dat vrije tekst veld gestructureerd kan worden.
Line 17: Line 19:
  }
  }


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


  SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel
  SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel
Line 26: Line 28:
  }
  }


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


== Overzicht van alle Actoren, zonder enig actor type ==
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):


PREFIX kp:<https://osloddt.wikibase.cloud/entity/>
  SELECT distinct ?activiteitType ?activiteitTypeLabel
PREFIX kpp:<https://osloddt.wikibase.cloud/prop/direct/>
  SELECT DISTINCT ?actor ?actorLabel ?typeLabel
  WHERE {
  WHERE {
   ?actor kpp:P1 ?is.
   ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P1> <http://osloddt.wiki.opencura.com/entity/Q1>.
   FILTER (?is IN (kp:Q58543, kp:Q58545)).
   ?activiteit <http://osloddt.wiki.opencura.com/prop/direct/P13> ?activiteitType.
   OPTIONAL {?actor kpp:P41 ?type. }.
   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" . }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
  }
  }


== Overzicht van alle Items, zonder "IS" statement ==
=== Werken ===


== Overzicht van alle Werken, zonder enig werk type ==
==== Overzicht van alle Werken, zonder enig werk type ====


  PREFIX kp:<https://osloddt.wikibase.cloud/entity/>
  PREFIX kp:<https://osloddt.wikibase.cloud/entity/>
Line 54: Line 56:
  }
  }


== Overzicht van items die het object zijn van een statement met verb "activiteit type", maar niet "is" "activiteit type" hebben ==
==== Podiumproducties die niet verwijzen naar een podiumproductie (werk) ====


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):
=== Beeldende kunst ===
 
==== 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" ====
 
=== Podiumkunsten ===
 
==== Podiumvoorstellingen die niet verwijzen naar een podiumproductie ====
 
=== Muziek ===


SELECT distinct ?activiteitType ?activiteitTypeLabel
==== Tracks zonder een "Muziekuitgave" ====
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 ==
==== Concerten zonder Locatie ====


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


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


== Overzicht van alle plaatsen zonder land ==
=== Overzicht van alle Actoren, zonder enig actor type ===


Overzicht van plaatsen zonder land:
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 ==
=== 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.
Deze lijst kijkt heel naïef naar enkel de labels, maar neemt niet in rekening als er al een disambiguerende description voorzien is.
Line 88: Line 110:
  ORDER BY DESC(?itemLabelCount)
  ORDER BY DESC(?itemLabelCount)


== Plaatsen in hetzelfde land met dezelfde naam ==
=== Overzicht van items die het object zijn van een statement met verb "actor type", maar niet "is" "actor type" hebben ===
 
== Generiek ==
 
=== Overzicht van alle Items, zonder "IS" statement ===
 
=== Overzicht van items die het object zijn van een statement met verb "url type", maar niet "is" "url type" hebben ===
 
=== Overzicht van items die het object zijn van een qualifying statement met verb "rol", maar niet "is" "Rol" hebben ===
 
=== Overzicht van alle plaatsen zonder land ===
 
=== Plaatsen in hetzelfde land met dezelfde naam ===


  SELECT ?landLabel ?itemLabel (GROUP_CONCAT(?item) as ?itemURLs) (count(?itemLabel) as ?itemLabelCount) {
  SELECT ?landLabel ?itemLabel (GROUP_CONCAT(?item) as ?itemURLs) (count(?itemLabel) as ?itemLabelCount) {
Line 97: Line 131:
  GROUP BY ?landLabel ?itemLabel
  GROUP BY ?landLabel ?itemLabel
  HAVING (count(?itemLabel) > 1)
  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" ==

Revision as of 06:42, 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

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

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

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

Werken

Overzicht van alle Werken, zonder enig werk type

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

Podiumproducties die niet verwijzen naar een podiumproductie (werk)

Beeldende kunst

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"

Podiumkunsten

Podiumvoorstellingen die niet verwijzen naar een podiumproductie

Muziek

Tracks zonder een "Muziekuitgave"

Concerten zonder Locatie

Concerten zonder artiesten

Realisatoren

Overzicht van alle Actoren, zonder enig actor type

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

Actoren met dezelfde naam

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

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

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

Generiek

Overzicht van alle Items, zonder "IS" statement

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

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

Overzicht van alle plaatsen zonder land

Plaatsen in hetzelfde land met dezelfde naam

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