Uitwisselprofiel Kwaliteitsbeeld

Voorbeeld 1 Leeftijdsopbouw personeel in loondienst

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Kwaliteitsbeeld Voorbeeld 1 Leeftijdsopbouw personeel in loondienst
2# Parameters: 
3# Ontologie: versie 3.0 of nieuwer
4
5PREFIX onz-g: <http://purl.org/ozo/onz-g#>
6PREFIX onz-org: <http://purl.org/ozo/onz-org#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
9PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
10PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
11
12SELECT 
13    (SUM(?1620) AS ?16_20)
14    (SUM(?2125) AS ?21_25)
15    (SUM(?2630) AS ?26_30)
16    (SUM(?3135) AS ?31_35)
17    (SUM(?3640) AS ?36_40)
18    (SUM(?4145) AS ?41_45)
19    (SUM(?4650) AS ?46_50)
20    (SUM(?5155) AS ?51_55)
21    (SUM(?5660) AS ?56_60)
22    (SUM(?6165) AS ?61_65)
23    (SUM(?6670) AS ?66_70)
24    (SUM(?7175) AS ?71_75)
25{
26    {
27        SELECT  DISTINCT 
28            ?persoon
29            ?leeftijd
30        {
31            BIND("2024-01-01"^^xsd:date AS ?start_periode)
32            BIND("2024-12-31"^^xsd:date AS ?eind_periode)            
33            ?overeenkomst 
34                a onz-pers:ArbeidsOvereenkomst ;
35                onz-pers:heeftOpdrachtnemer ?persoon ;
36                onz-g:hasPart ?overeenkomst_afspraak .
37            ?overeenkomst_afspraak
38                a onz-pers:WerkOvereenkomstAfspraak ;
39                onz-g:startDatum ?start_afspraak .
40            OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak }
41            FILTER (?start_afspraak <= ?eind_periode && (?eind_afspraak >= ?start_periode || !BOUND(?eind_afspraak)))
42
43            ?persoon 
44                a onz-g:Human ;
45                onz-g:hasDateOfBirth ?geboortedatum .
46            
47            BIND(YEAR(?eind_periode) - YEAR(?geboortedatum) AS ?leeftijd)
48        }
49    }
50    BIND(IF(?leeftijd >= 16 && ?leeftijd <= 20, 1, 0) AS ?1620)
51    BIND(IF(?leeftijd >= 21 && ?leeftijd <= 25, 1, 0) AS ?2125)
52    BIND(IF(?leeftijd >= 26 && ?leeftijd <= 30, 1, 0) AS ?2630)
53    BIND(IF(?leeftijd >= 31 && ?leeftijd <= 35, 1, 0) AS ?3135)
54    BIND(IF(?leeftijd >= 36 && ?leeftijd <= 40, 1, 0) AS ?3640)
55    BIND(IF(?leeftijd >= 41 && ?leeftijd <= 45, 1, 0) AS ?4145)
56    BIND(IF(?leeftijd >= 46 && ?leeftijd <= 50, 1, 0) AS ?4650)
57    BIND(IF(?leeftijd >= 51 && ?leeftijd <= 55, 1, 0) AS ?5155)
58    BIND(IF(?leeftijd >= 56 && ?leeftijd <= 60, 1, 0) AS ?5660)
59    BIND(IF(?leeftijd >= 61 && ?leeftijd <= 65, 1, 0) AS ?6165)
60    BIND(IF(?leeftijd >= 66 && ?leeftijd <= 70, 1, 0) AS ?6670)
61    BIND(IF(?leeftijd >= 71 && ?leeftijd <= 75, 1, 0) AS ?7175)
62}
63

Heb je feedback?

Loopt u tegen een issue of vraag aan bij het KIK-V product? Neem dan contact met ons op!