Datamodel: verschil tussen versies

Uit Knowledge Graph Kunstenpunt
Ga naar:navigatie, zoeken
Geen bewerkingssamenvatting
Geen bewerkingssamenvatting
Regel 1: Regel 1:
We maken gebruik van de standaard op https://data.vlaanderen.be/doc/applicatieprofiel/cultuurparticipatie/ Die standaard definieert een aantal concepten, eigenschappen en relaties. Die aspecten van de standaard kunnen we implementeren in deze knowledge graph aan de hand van kernitems en -properties.[[Bestand:Standaard Cultuurparticipatie 2023.png|miniatuur|Versie van de standaard Cultuurparticipatie (oktober 2023) ter illustratie.]]
We maken gebruik van de standaard op https://data.vlaanderen.be/doc/applicatieprofiel/cultuurparticipatie/ Die standaard definieert een aantal concepten, eigenschappen en relaties. Die aspecten van de standaard kunnen we implementeren in deze knowledge graph aan de hand van kernitems en -properties.[[Bestand:Standaard Cultuurparticipatie 2023.png|miniatuur|Versie van de standaard Cultuurparticipatie (oktober 2023) ter illustratie.]]
===Kernitems en -properties===
 
== Kernitems en -properties ==
In elk data model is het van belang om de entiteiten te definiëren, en te weten welke relaties er tussen die entiteiten moeten kunnen gelegd worden. De entiteiten zijn '''Activiteiten''' (residenties, tentoonstellingen, podiumvoorstellingen, concerten, muziekreleases, ...), maar ook '''Agenten''' (uitvoerders en organisatoren). Dat gaat dan bijvoorbeeld om makers, kunstenaars, muzikanten, artiesten, concertzalen, kunstgaleries, theaterzalen, repetitieruimtes, etc. Au fond zijn het allemaal "actoren" in dat veld, die "activiteiten" ontplooien.
In elk data model is het van belang om de entiteiten te definiëren, en te weten welke relaties er tussen die entiteiten moeten kunnen gelegd worden. De entiteiten zijn '''Activiteiten''' (residenties, tentoonstellingen, podiumvoorstellingen, concerten, muziekreleases, ...), maar ook '''Agenten''' (uitvoerders en organisatoren). Dat gaat dan bijvoorbeeld om makers, kunstenaars, muzikanten, artiesten, concertzalen, kunstgaleries, theaterzalen, repetitieruimtes, etc. Au fond zijn het allemaal "actoren" in dat veld, die "activiteiten" ontplooien.


Regel 8: Regel 9:
*Kernitems: [[https://osloddt.wikibase.cloud/w/index.php?title=Special:WhatLinksHere/Item:Q58526&hidetrans=1&hideredirs=1|link naar pagina met entiteiten van type Core Item]]
*Kernitems: [[https://osloddt.wikibase.cloud/w/index.php?title=Special:WhatLinksHere/Item:Q58526&hidetrans=1&hideredirs=1|link naar pagina met entiteiten van type Core Item]]
*Kernproperties: [[https://osloddt.wikibase.cloud/w/index.php?title=Special:ListProperties/&limit=100&offset=0|link naar pagina met core properties]]
*Kernproperties: [[https://osloddt.wikibase.cloud/w/index.php?title=Special:ListProperties/&limit=100&offset=0|link naar pagina met core properties]]
===Hoe voer ik een XXXXX in?===
 
== Hoe voer ik een XXXXX in? ==
Het datamodel wordt uitgelegd op de pagina's [[Actor_model|modellering van actoren]] en [[Activiteit_model|modellering van activiteiten]], maar dat blijft natuurlijk relatief abstract. Om het wat concreet te maken leggen we hieronder uit hoe enkele veel voorkomende en complexe culturele activiteiten ingevoerd moeten worden:
Het datamodel wordt uitgelegd op de pagina's [[Actor_model|modellering van actoren]] en [[Activiteit_model|modellering van activiteiten]], maar dat blijft natuurlijk relatief abstract. Om het wat concreet te maken leggen we hieronder uit hoe enkele veel voorkomende en complexe culturele activiteiten ingevoerd moeten worden:
*Hoe voer je een festival in?
*Hoe voer je een festival in?
Regel 16: Regel 18:
*...
*...
In heel wat gevallen gaat het dan om complexere verbindingen tussen verschillende activiteiten. We bespreken daarom een aantal concrete gevallen hieronder, telkens met voorbeelden uit de echte wereld.
In heel wat gevallen gaat het dan om complexere verbindingen tussen verschillende activiteiten. We bespreken daarom een aantal concrete gevallen hieronder, telkens met voorbeelden uit de echte wereld.
===Hoe ziet de data eruit?===
 
== Hoe ziet de data eruit? ==
Invoeren is 1 zaak, maar hoe haal je het er weer uit? Hieronder enkele voorbeelden.
Invoeren is 1 zaak, maar hoe haal je het er weer uit? Hieronder enkele voorbeelden.


====Dansers en choreografen====
=== Dansers en choreografen ===
Welke dansers en choreografen enzo werkten tussen 1980 en 2000 samen aan meer dan 10 verschillende werken?
Welke dansers en choreografen enzo werkten tussen 1980 en 2000 samen aan meer dan 10 verschillende werken?
  PREFIX kp:<<nowiki>https://kg.kunsten.be/entity/</nowiki>>
  PREFIX kp:<<nowiki>https://kg.kunsten.be/entity/</nowiki>>
Regel 48: Regel 51:
  GROUP BY ?creditA ?creditALabel ?creditB ?creditBLabel
  GROUP BY ?creditA ?creditALabel ?creditB ?creditBLabel
  HAVING (?werkCount >= 10)
  HAVING (?werkCount >= 10)
====Releases en hun contributors====
 
=== Releases en hun contributors ===
Een overzicht van jazz/folk/wereldmuziek albums in de databank, met de contributors:
Een overzicht van jazz/folk/wereldmuziek albums in de databank, met de contributors:
  PREFIX kp:<<nowiki>https://kg.kunsten.be/entity/</nowiki>>
  PREFIX kp:<<nowiki>https://kg.kunsten.be/entity/</nowiki>>
  PREFIX kpp:<<nowiki>https://kg.kunsten.be/prop/direct/</nowiki><nowiki>>
  PREFIX kpp:<<nowiki>https://kg.kunsten.be/prop/direct/</nowiki><nowiki>>
    SELECT DISTINCT ?release ?releaseLabel ?contributor ?contributorLabel  
      SELECT DISTINCT ?release ?releaseLabel ?contributor ?contributorLabel  
    WHERE {
      WHERE {
    ?release kpp:P13 kp:Q58532.
      ?release kpp:P13 kp:Q58532.
    ?release kpp:P8 kp:Q68897.
      ?release kpp:P8 kp:Q68897.
    ?track kpp:P43 ?release.
      ?track kpp:P43 ?release.
    ?track kpp:P4 ?work.
      ?track kpp:P4 ?work.
    {?release kpp:P42 ?contributor. } UNION { { ?track kpp:P42 ?contributor. } UNION { ?work kpp:P42 ?contributor. } }
      {?release kpp:P42 ?contributor. } UNION { { ?track kpp:P42 ?contributor. } UNION { ?work kpp:P42 ?contributor. } }
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }}
      SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }}
    ORDER BY ASC(?releaseLabel)</nowiki>
      ORDER BY ASC(?releaseLabel)</nowiki>
====Bands die samen concerten brachten====
 
=== Bands die samen concerten brachten ===
Hier bv. vanuit het perspectief van Ulrikes Dream:
Hier bv. vanuit het perspectief van Ulrikes Dream:
  PREFIX kp:<<nowiki>https://kg.kunsten.be/entity/</nowiki>>
  PREFIX kp:<<nowiki>https://kg.kunsten.be/entity/</nowiki>>
Regel 79: Regel 84:
     SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
     SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
   }
   }
== Federated queries ==
=== Federated query to get GPS for musea in Flanders ===
PREFIX kp:<<nowiki>https://kg.kunsten.be/entity/</nowiki>>
PREFIX kpp:<<nowiki>https://kg.kunsten.be/prop/direct/</nowiki>>
PREFIX wd: <<nowiki>http://www.wikidata.org/entity/</nowiki>>
PREFIX wdt: <<nowiki>http://www.wikidata.org/prop/direct/</nowiki>>
SELECT DISTINCT ?agent ?agentLabel ?wikidata ?gps
WHERE {
  ?agent kpp:P41 kp:Q157598. # entities that are of type museum for contemporary art in flanders
  ?agent kpp:P75 ?wikidata.
  BIND(URI(CONCAT(STR(wd:), ?wikidata)) AS ?wd)
  SERVICE <<nowiki>https://query.wikidata.org/sparql</nowiki>> {
    ?wd wdt:P625 ?gps.
  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}

Versie van 7 okt 2024 21:48

We maken gebruik van de standaard op https://data.vlaanderen.be/doc/applicatieprofiel/cultuurparticipatie/ Die standaard definieert een aantal concepten, eigenschappen en relaties. Die aspecten van de standaard kunnen we implementeren in deze knowledge graph aan de hand van kernitems en -properties.

Versie van de standaard Cultuurparticipatie (oktober 2023) ter illustratie.

Kernitems en -properties

In elk data model is het van belang om de entiteiten te definiëren, en te weten welke relaties er tussen die entiteiten moeten kunnen gelegd worden. De entiteiten zijn Activiteiten (residenties, tentoonstellingen, podiumvoorstellingen, concerten, muziekreleases, ...), maar ook Agenten (uitvoerders en organisatoren). Dat gaat dan bijvoorbeeld om makers, kunstenaars, muzikanten, artiesten, concertzalen, kunstgaleries, theaterzalen, repetitieruimtes, etc. Au fond zijn het allemaal "actoren" in dat veld, die "activiteiten" ontplooien.

De oplijsting hieronder is abstract. Bekijk de pagina's modellering van actoren en modellering van activiteiten om dit concreet te maken.

In de kern van het data model zitten een beperkt aantal "core items" (objecten of types van objecten, bv. "Activiteit" en "ActiviteitType") en "core properties" (relaties tussen items, bv. "gebruikt werk" en "gebracht door"). Je krijgt een overzicht van die kernitems en kernproperties:

Hoe voer ik een XXXXX in?

Het datamodel wordt uitgelegd op de pagina's modellering van actoren en modellering van activiteiten, maar dat blijft natuurlijk relatief abstract. Om het wat concreet te maken leggen we hieronder uit hoe enkele veel voorkomende en complexe culturele activiteiten ingevoerd moeten worden:

  • Hoe voer je een festival in?
  • Hoe voer je een kunstbeurs in?
  • Hoe voer je een voorprogramma bij een concert in?
  • Hoe voer je een toonmoment bij een resident in?
  • ...

In heel wat gevallen gaat het dan om complexere verbindingen tussen verschillende activiteiten. We bespreken daarom een aantal concrete gevallen hieronder, telkens met voorbeelden uit de echte wereld.

Hoe ziet de data eruit?

Invoeren is 1 zaak, maar hoe haal je het er weer uit? Hieronder enkele voorbeelden.

Dansers en choreografen

Welke dansers en choreografen enzo werkten tussen 1980 en 2000 samen aan meer dan 10 verschillende werken?

PREFIX kp:<https://kg.kunsten.be/entity/>
PREFIX kpt:<https://kg.kunsten.be/prop/direct/>
PREFIX kpp:<https://kg.kunsten.be/prop/>
PREFIX kppq:<https://kg.kunsten.be/prop/qualifier/>
PREFIX kpps:<https://kg.kunsten.be/prop/statement/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?creditA ?creditALabel (COUNT(?werk) AS ?werkCount) ?creditB ?creditBLabel
WHERE
{
?werk kpt:P17 ?begindatum.
FILTER (?begindatum >= "1980-01-01T00:00:0+00:00"^^xsd:dateTime && ?begindatum < "2000-01-01T00:00:00+00:00"^^xsd:dateTime)
?werk kpt:P8 ?discipline.
FILTER(?discipline IN (kp:Q68584,kp:Q68551,kp:Q68559,kp:Q68558,kp:Q68571,kp:Q68586,kp:Q68597,kp:Q68613,kp:Q68626,kp:Q68630,kp:Q68635,kp:Q68641,kp:Q68652,kp:Q68687,kp:Q68713,kp:Q68716,kp:Q68726,kp:Q68756,kp:Q68763,kp:Q68779,kp:Q68786,kp:Q68790))
?activiteit kpt:P4 ?werk.
?activiteit kpp:P42 ?statementA.
?statementA kppq:P15 ?roleA.
FILTER(?roleA IN (kp:Q69028,kp:Q69752,kp:Q69029,kp:Q69030,kp:Q68959,kp:Q69051,kp:Q69052,kp:Q69053,kp:Q69068,kp:Q69069,kp:Q69070,kp:Q69071,kp:Q69135,kp:Q69136,kp:Q69360,kp:Q68983,kp:Q68984,kp:Q69080,kp:Q69081,kp:Q69083,kp:Q69084,kp:Q69289,kp:Q69536,kp:Q69537,kp:Q69436,kp:Q69437,kp:Q69438,kp:Q69439,kp:Q69534,kp:Q69006,kp:Q69007,kp:Q69008,kp:Q69036,kp:Q69037,kp:Q69291,kp:Q69292,kp:Q69479,kp:Q69480,kp:Q69481,kp:Q69482,kp:Q69252))
?statementA kpps:P42 ?creditA.
?activiteit kpp:P42 ?statementB.
?statementB kppq:P15 ?roleB.
FILTER(?roleB IN (kp:Q69028,kp:Q69752,kp:Q69029,kp:Q69030,kp:Q68959,kp:Q69051,kp:Q69052,kp:Q69053,kp:Q69068,kp:Q69069,kp:Q69070,kp:Q69071,kp:Q69135,kp:Q69136,kp:Q69360,kp:Q68983,kp:Q68984,kp:Q69080,kp:Q69081,kp:Q69083,kp:Q69084,kp:Q69289,kp:Q69536,kp:Q69537,kp:Q69436,kp:Q69437,kp:Q69438,kp:Q69439,kp:Q69534,kp:Q69006,kp:Q69007,kp:Q69008,kp:Q69036,kp:Q69037,kp:Q69291,kp:Q69292,kp:Q69479,kp:Q69480,kp:Q69481,kp:Q69482,kp:Q69252))
?statementB kpps:P42 ?creditB.
FILTER(?creditA != ?creditB)
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}
GROUP BY ?creditA ?creditALabel ?creditB ?creditBLabel
HAVING (?werkCount >= 10)

Releases en hun contributors

Een overzicht van jazz/folk/wereldmuziek albums in de databank, met de contributors:

PREFIX kp:<https://kg.kunsten.be/entity/>
PREFIX kpp:<https://kg.kunsten.be/prop/direct/>
      SELECT DISTINCT ?release ?releaseLabel ?contributor ?contributorLabel 
      WHERE {
      ?release kpp:P13 kp:Q58532.
      ?release kpp:P8 kp:Q68897.
      ?track kpp:P43 ?release.
      ?track kpp:P4 ?work.
      {?release kpp:P42 ?contributor. } UNION { { ?track kpp:P42 ?contributor. } UNION { ?work kpp:P42 ?contributor. } }
      SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }}
      ORDER BY ASC(?releaseLabel)

Bands die samen concerten brachten

Hier bv. vanuit het perspectief van Ulrikes Dream:

PREFIX kp:<https://kg.kunsten.be/entity/>
PREFIX kpt:<https://kg.kunsten.be/prop/direct/>
PREFIX kpp:<https://kg.kunsten.be/prop/>
PREFIX kppq:<https://kg.kunsten.be/prop/qualifier/>
PREFIX kpps:<https://kg.kunsten.be/prop/statement/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
  SELECT DISTINCT ?bandA ?bandALabel ?bandB ?bandBLabel
  WHERE
  {
    ?activiteit kpt:P13 kp:Q58533.
    ?activiteit kpt:P42 kp:Q601279.
    ?activiteit kpt:P42 ?bandA.
    ?activiteit kpt:P42 ?bandB.
    FILTER(?bandA != ?bandB)
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
  }

Federated queries

Federated query to get GPS for musea in Flanders

PREFIX kp:<https://kg.kunsten.be/entity/>
PREFIX kpp:<https://kg.kunsten.be/prop/direct/>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT DISTINCT ?agent ?agentLabel ?wikidata ?gps
WHERE {
  ?agent kpp:P41 kp:Q157598. # entities that are of type museum for contemporary art in flanders
  ?agent kpp:P75 ?wikidata.
  BIND(URI(CONCAT(STR(wd:), ?wikidata)) AS ?wd)
  SERVICE <https://query.wikidata.org/sparql> {
    ?wd wdt:P625 ?gps.
  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],nl,en" . }
}