-
Notifications
You must be signed in to change notification settings - Fork 0
/
model.js
138 lines (135 loc) · 5.55 KB
/
model.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
const prefixes = {
'besluit': 'http://data.vlaanderen.be/ns/besluit#',
'besluitvorming': 'https://data.vlaanderen.be/ns/besluitvorming#',
'dct': 'http://purl.org/dc/terms/',
'ext': 'http://mu.semte.ch/vocabularies/ext/',
'dossier': 'https://data.vlaanderen.be/ns/dossier#',
'prov': 'http://www.w3.org/ns/prov#',
'sign': 'http://mu.semte.ch/vocabularies/ext/handtekenen/',
'pub': 'http://mu.semte.ch/vocabularies/ext/publicatie/',
'adms': 'http://www.w3.org/ns/adms#',
};
const typeUris = [
{ key: 'agenda', uri: 'besluitvorming:Agenda' },
{ key: 'meeting', uri: 'besluit:Vergaderactiviteit' },
{ key: 'internalDecisionPublicationActivity', uri: 'ext:InternalDecisionPublicationActivity' },
{ key: 'internalDocumentPublicationActivity', uri: 'ext:InternalDocumentPublicationActivity' },
{ key: 'agendaitem', uri: 'besluit:Agendapunt' },
{ key: 'agendaActivity', uri: 'besluitvorming:Agendering' },
{ key: 'agendaStatusActivity', uri: 'ext:AgendaStatusActivity' },
{ key: 'submissionActivity', uri: 'ext:Indieningsactiviteit' },
{ key: 'subcase', uri: 'dossier:Procedurestap' },
{ key: 'case', uri: 'dossier:Dossier' },
{ key: 'decisionmakingFlow', uri: 'besluitvorming:Besluitvormingsaangelegenheid' },
{ key: 'publicationFlow', uri: 'pub:Publicatieaangelegenheid' },
{ key: 'identification', uri: 'adms:Identifier' },
{ key: 'translationSubcase', uri: 'pub:VertalingProcedurestap' },
{ key: 'publicationSubcase', uri: 'pub:PublicatieProcedurestap' },
{ key: 'requestActivity', uri: 'pub:AanvraagActiviteit' },
{ key: 'translationActivity', uri: 'pub:VertaalActiviteit' },
{ key: 'proofingActivity', uri: 'pub:DrukproefActiviteit' },
{ key: 'publicationActivity', uri: 'pub:PublicatieActiviteit' },
{ key: 'agendaitemTreatment', uri: 'besluit:BehandelingVanAgendapunt' },
{ key: 'decisionActivity', uri: 'besluitvorming:Beslissingsactiviteit' },
{ key: 'newsitem', uri: 'ext:Nieuwsbericht' },
{ key: 'piece', uri: 'dossier:Stuk' },
{ key: 'signedPiece', uri: 'dossier:Stuk' },
{ key: 'signedPieceCopy', uri: 'dossier:Stuk' },
{ key: 'documentContainer', uri: 'dossier:Serie' }
];
// TODO refactor collectors to make use of this model configuration to construct query paths
const pathsFromAgenda = {
meeting: [
{ predicate: 'besluitvorming:isAgendaVoor' },
{ predicate: '^besluitvorming:behandelt' }
],
internalDecisionPublicationActivity: [
{ source: 'meeting', predicate: '^ext:internalDecisionPublicationActivityUsed' }
],
internalDocumentPublicationActivity: [
{ source: 'meeting', predicate: '^ext:internalDocumentPublicationActivityUsed' }
],
agendaitem: [
{ predicate: 'dct:hasPart' }
],
agendaActivity: [
{ source: 'agendaitem', predicate: '^besluitvorming:genereertAgendapunt' }
],
submissionActivity: [
{ source: 'agendaActivity', predicate: 'prov:wasInformedBy' }
],
agendaStatusActivity: [
{ predicate: '^prov:used' }
],
subcase: [
{ source: 'agendaActivity', predicate: 'besluitvorming:vindtPlaatsTijdens' }
],
decisionmakingFlow: [
{ source: 'subcase', predicate: '^dossier:doorloopt' }
],
case: [
{ source: 'decisionmakingFlow', predicate: '^dossier:Dossier.isNeerslagVan' }
],
agendaitemTreatment: [
{ source: 'agendaitem', predicate: '^dct:subject' }
],
decisionActivity: [
{ source: 'agendaitemTreatment', predicate: 'besluitvorming:heeftBeslissing' }
],
newsitem: [
{ source: 'agendaitemTreatment', predicate: '^prov:wasDerivedFrom' }
],
piece: [
{ source: 'agendaitem', predicate: 'besluitvorming:geagendeerdStuk' },
{ source: 'agendaitem', predicate: 'ext:bevatReedsBezorgdAgendapuntDocumentversie' },
// { source: 'decisionActivity', predicate: 'prov:used' }, // see resource files for comments
{ source: 'decisionActivity', predicate: '^besluitvorming:beschrijft' },
{ source: 'newsitem', predicate: 'besluitvorming:heeftBijlage' },
{ source: 'submissionActivity', predicate: 'prov:generated' },
{ source: 'case', predicate: 'dossier:Dossier.bestaatUit' },
{ source: 'subcase', predicate: 'ext:bevatReedsBezorgdeDocumentversie' },
{ source: 'subcase', predicate: 'ext:heeftBekrachtiging' },
{ source: 'meeting', predicate: 'ext:zittingDocumentversie' },
{ source: 'meeting', predicate: 'dossier:genereert' },
{ source: 'meeting', predicate: 'besluitvorming:heeftNotulen' },
],
signedPiece: [
{ source: 'piece', predicate: '^sign:ongetekendStuk' }
],
signedPieceCopy: [
{ source: 'piece', predicate: 'sign:getekendStukKopie' }
],
documentContainer: [
{ source: 'piece', predicate: '^dossier:Collectie.bestaatUit' }
],
publicationFlow: [
{ source: 'piece', predicate: '^pub:referentieDocument' }
],
identification: [
{ source: 'publicationFlow', predicate: 'adms:identifier' }
],
translationSubcase: [
{ source: 'publicationFlow', predicate: 'pub:doorlooptVertaling' }
],
publicationSubcase: [
{ source: 'publicationFlow', predicate: 'pub:doorlooptPublicatie' }
],
requestActivity: [
{ source: 'translationSubcase', predicate: '^pub:aanvraagVindtPlaatsTijdensVertaling' },
{ source: 'publicationSubcase', predicate: '^pub:aanvraagVindtPlaatsTijdensPublicatie' }
],
translationActivity: [
{ source: 'translationSubcase', predicate: '^pub:vertalingVindtPlaatsTijdens' },
],
proofingActivity: [
{ source: 'publicationSubcase', predicate: '^pub:drukproefVindtPlaatsTijdens' }
],
publicationActivity: [
{ source: 'publicationSubcase', predicate: '^pub:publicatieVindtPlaatsTijdens' }
],
};
export {
prefixes,
typeUris,
pathsFromAgenda
}