Code gekopieerd
...Kopieer naar klembord
1# Indicator: Zorgkantoren 8.1 2# Parameters: ($kwartaal) 3# Ontologie: versie 2.0.0 of nieuwer 4 5PREFIX onz-g: <http://purl.org/ozo/onz-g#> 6PREFIX onz-pers: <http://purl.org/ozo/onz-pers#> 7PREFIX onz-org: <http://purl.org/ozo/onz-org#> 8PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 9PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 10PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 11 12SELECT 13 ?vestiging 14 (SUM(?pil_uren)AS ?pil_uren_tot) 15 (SUM(?pnil_uren)AS ?pnil_uren_tot) 16 (((SUM(?pnil_uren)/SUM(?uren))*100) AS ?percentage_pnil) 17WHERE 18{ 19 SELECT DISTINCT 20 ?vestiging 21 ?gewerkteperiode 22 ?uren 23 ?pnil_uren 24 ?pil_uren 25 WHERE 26 { 27 # definieer kwartaal waarin overeenkomst geldig moet zijn 28 BIND('Q2' AS ?kwartaal) 29 BIND( 30 IF(?kwartaal = 'Q1', '2023-01-01'^^xsd:date, 31 IF(?kwartaal = 'Q2', '2023-04-01'^^xsd:date, 32 IF(?kwartaal = 'Q3', '2023-07-01'^^xsd:date, 33 IF(?kwartaal = 'Q4', '2023-10-01'^^xsd:date, 34 '')))) AS ?start_periode) 35 BIND((?start_periode + "P3M"^^xsd:duration - "P1D"^^xsd:duration) AS ?eind_periode) 36 37 # selecteer overeenkomst met start en eind 38 ?overeenkomst 39 onz-g:startDatum ?start_overeenkomst ; 40 onz-g:isAbout ?locatie . 41 OPTIONAL {?overeenkomst onz-g:eindDatum ?eind_overeenkomst} 42 FILTER(?start_overeenkomst <= ?eind_periode && ((?eind_overeenkomst >= ?start_periode) || (!BOUND(?eind_overeenkomst)))) 43 44 # bepaal de vestiging waar de werkzaamheden verricht worden volgens de werkovereenkomst 45 { 46 ?locatie onz-g:partOf* ?vestiging_uri . 47 ?vestiging_uri 48 a onz-org:Vestiging ; 49 onz-g:identifiedBy ?vest_nr. 50 ?vest_nr a onz-org:Vestigingsnummer ; 51 onz-g:hasDataValue ?vestiging . 52 } UNION { 53 #Includeer ook de organisatie als geheel en label deze als vestiging 54 ?locatie onz-g:partOf*/onz-org:vestigingVan ?organisatie_uri . 55 ?organisatie_uri 56 a onz-g:Business ; 57 rdfs:label ?organisatie . 58 BIND(CONCAT('Totaal ',?organisatie) AS ?vestiging) 59 } 60 61 # selecteer uren van gewerkte periode 62 ?gewerkteperiode 63 a onz-pers:GewerktePeriode ; 64 onz-g:definedBy ?overeenkomst ; 65 onz-g:hasBeginTimeStamp ?start_werkDT ; 66 onz-g:hasEndTimeStamp ?eind_werkDT ; 67 onz-g:hasQuality / onz-g:hasQualityValue / onz-g:hasDataValue ?uren ; 68 BIND(STRDT(SUBSTR(STR(?start_werkDT),1,10), xsd:date) AS ?start_werk) 69 BIND(STRDT(SUBSTR(STR(?eind_werkDT),1,10), xsd:date) AS ?eind_werk) 70 71 # filter in gewenste tijsdperiode 72 FILTER(?start_werk >= ?start_periode && ?eind_werk <= ?eind_periode) 73 74 # filter de gewenste overeenkomsten 75 VALUES ?type_overeenkomst {onz-pers:ArbeidsOvereenkomst onz-pers:InhuurOvereenkomst onz-pers:UitzendOvereenkomst onz-pers:OproepOvereenkomst } 76 ?overeenkomst a ?type_overeenkomst . 77 78 # ken PNIL uren toe aan inhuur- en uitzendovereenkomsten 79 BIND(IF(?type_overeenkomst = onz-pers:InhuurOvereenkomst || ?type_overeenkomst = onz-pers:UitzendOvereenkomst, ?uren, 0) AS ?pnil_uren) 80 BIND(IF(?type_overeenkomst = onz-pers:ArbeidsOvereenkomst || ?type_overeenkomst = onz-pers:OproepOvereenkomst, ?uren, 0) AS ?pil_uren) 81 } 82} 83GROUP BY ?vestiging 84
Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!