Uitwisselprofiel Ministerie van VWS Beleidsontwikkeling over Macro-Economische Vraagstukken en Arbeidsmarkt

Over Uitwisselprofiel Ministerie van VWS Beleidsontwikkeling over Macro-Economische Vraagstukken en Arbeidsmarkt


Publicatiedatum:
22-01-2026

Inwerkingtreding:
01-03-2026

2.1. Wat is de gemiddelde duur per arbeids-, inhuur-en uitzend overeenkomsten?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: MEVA 2.1
2# Parameters: ?jaar
3# Ontologie: versie 3.0
4
5PREFIX time: <http://www.w3.org/2006/time#>
6PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
7PREFIX onz-pers: <http://purl.org/ozo/onz-pers#>
8PREFIX onz-g: <http://purl.org/ozo/onz-g#>
9PREFIX onz-org: <http://purl.org/ozo/onz-org#>
10PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
11
12SELECT (?vestiging AS ?Indeling)
13    	(?zk_regio_code AS ?Zorgkantoorregio_code)
14        (IF(SUM(?aantal_arbeids) = 0,
15            "Ongedefinieerd",
16            ROUND( (SUM(?dagen_arbeids) / SUM(?aantal_arbeids)) * 100 ) / 100
17         ) AS ?Gemiddelde_duur_arbeidsovereenkomst)
18
19        (IF(SUM(?aantal_inhuur) = 0,
20            "Ongedefinieerd",
21            ROUND( (SUM(?dagen_inhuur) / SUM(?aantal_inhuur)) * 100 ) / 100
22         ) AS ?Gemiddelde_duur_inhuurovereenkomst)
23
24        (IF(SUM(?aantal_uitzend) = 0,
25            "Ongedefinieerd",
26            ROUND( (SUM(?dagen_uitzend) / SUM(?aantal_uitzend)) * 100 ) / 100
27         ) AS ?Gemiddelde_duur_uitzendovereenkomst)
28WHERE
29
30    {
31        #BIND(2024 AS ?jaar)
32		BIND(xsd:date(CONCAT(STR(?jaar), "-01-01")) AS ?start_periode)
33    	BIND(xsd:date(CONCAT(STR(?jaar), "-12-31")) AS ?eind_periode)
34
35
36        VALUES ?type_overeenkomst 
37        { 	
38        	onz-pers:ArbeidsOvereenkomst
39            onz-pers:InhuurOvereenkomst
40            onz-pers:UitzendOvereenkomst
41        }
42        ?overeenkomst 
43            a ?type_overeenkomst ; # PIL & PNIL
44            onz-pers:heeftOpdrachtnemer ?persoon ;
45            onz-g:hasPart ?overeenkomst_afspraak .
46        ?overeenkomst_afspraak
47            a onz-pers:WerkOvereenkomstAfspraak ;
48    		onz-g:isAbout ?locatie ;
49            onz-g:startDatum ?start_afspraak .
50        OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak }
51        FILTER(?start_afspraak <= ?eind_periode && ((?eind_afspraak >= ?start_periode) || (!BOUND(?eind_afspraak))))
52    	
53    	# Clip de afspraak naar de periode 
54 		BIND(IF(?start_afspraak < ?start_periode, ?start_periode, ?start_afspraak) AS ?start_afspraak_corr)
55        BIND(IF(?eind_afspraak > ?eind_periode || !BOUND(?eind_afspraak), ?eind_periode, ?eind_afspraak) AS ?eind_afspraak_corr)  
56    
57        # Bereken hoeveel dagen de afspraak overlapt met de periode
58    	?start_afspraak_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?start_afspraak_reken .
59        ?eind_afspraak_corr ^time:inXSDDate/time:inTemporalPosition/time:numericPosition ?eind_afspraak_reken .
60        BIND(?eind_afspraak_reken - ?start_afspraak_reken + 1 AS ?aantal_dagen)
61    	
62        BIND( IF(?type_overeenkomst = onz-pers:ArbeidsOvereenkomst, ?aantal_dagen, 0) AS ?dagen_arbeids)
63        BIND( IF(?type_overeenkomst = onz-pers:InhuurOvereenkomst,  ?aantal_dagen, 0) AS ?dagen_inhuur)
64        BIND( IF(?type_overeenkomst = onz-pers:UitzendOvereenkomst, ?aantal_dagen, 0) AS ?dagen_uitzend)
65
66        # Bereken hoeveel overeenkomsten er zijn 
67        BIND( IF(?type_overeenkomst = onz-pers:ArbeidsOvereenkomst, 1, 0) AS ?aantal_arbeids)
68        BIND( IF(?type_overeenkomst = onz-pers:InhuurOvereenkomst,  1, 0) AS ?aantal_inhuur)
69        BIND( IF(?type_overeenkomst = onz-pers:UitzendOvereenkomst, 1, 0) AS ?aantal_uitzend)
70    
71        ?locatie a onz-g:StationaryArtifact ;
72               onz-g:partOf* ?vestiging_uri .
73        {
74           # Tak 1: echte vestiging + afleiding zorgkantoorregio
75           ?vestiging_uri a onz-org:Vestiging ;
76                          onz-g:identifiedBy ?vest_nr ;
77                          onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 .
78           ?vest_nr a onz-org:Vestigingsnummer ;
79                    onz-g:hasDataValue ?vestiging .
80
81           BIND( IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode )
82           ?pc_gebied onz-g:identifiedBy ?postcode ;
83                      onz-g:partOf+ ?zk_regio .
84           ?zk_regio a onz-org:ZorgkantoorRegio .
85
86           BIND( STRAFTER(STR(?zk_regio), "/onz-org/") AS ?zk_regio_code )
87         }
88         UNION
89         {
90           # Tak 2: totaal organisatie, laat zorgkantoorregio leeg
91           ?vestiging_uri onz-org:vestigingVan ?organisatie_uri .
92           BIND("Totaal organisatie" AS ?vestiging)
93         }
94
95    }
96GROUP BY ?vestiging ?zk_regio_code 
97ORDER BY ?vestiging