Overzicht van onmogelijkheden: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= | = 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? | |||
== 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 23: | Line 17: | ||
} | } | ||
== Overzicht van alle Items van het type Activiteit, zonder enig activiteitstype == | |||
SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel | SELECT ?activiteit ?activiteitLabel ?activiteitType ?activiteitTypeLabel | ||
Line 32: | Line 26: | ||
} | } | ||
== Overzicht van Items met een "activiteit type", maar die niet "Is" "Activiteit" hebben == | |||
== Overzicht van alle Actoren, zonder enig actor type == | |||
PREFIX kp:<https://osloddt.wikibase.cloud/entity/> | PREFIX kp:<https://osloddt.wikibase.cloud/entity/> | ||
Line 46: | Line 40: | ||
} | } | ||
== Overzicht van alle Items, zonder "IS" statement == | |||
== Overzicht van alle Werken, zonder enig werk type == | |||
PREFIX kp:<https://osloddt.wikibase.cloud/entity/> | PREFIX kp:<https://osloddt.wikibase.cloud/entity/> | ||
Line 60: | Line 54: | ||
} | } | ||
== 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): | 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): | ||
Line 167: | Line 66: | ||
} | } | ||
== 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: | 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. | Deze lijst kijkt heel naïef naar enkel de labels, maar neemt niet in rekening als er al een disambiguerende description voorzien is. | ||
Line 189: | Line 88: | ||
ORDER BY DESC(?itemLabelCount) | ORDER BY DESC(?itemLabelCount) | ||
== 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 199: | Line 98: | ||
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: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?
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 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" . } }
Overzicht van alle Items, zonder "IS" statement
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" . } }
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)