You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I will successively share definitions of data fields and their allowed answers in JSON format with you. My goal is to transform them all to SHACL syntax. I did this transformation manually for two of them and would like you to do it for the rest.
6
+
Furthermore I would like to ask you to "slugify" the questionKeys, so "Staatsbürgerschaft" for instance should become "staatsbuergerschaft". And also in the value/label pairs of the answerOptions, please find sensible ways to slugify the value.
7
+
Also note that I am using "sh:maxCount 1" to indicate "answerType singleOption" whereas "answerType multiOption" doesn't need a count-restriction.
Here are the two transformations I did manually so that you understand what I need:
18
+
19
+
-----
20
+
JSON:
21
+
{
22
+
"questionKey": "Geburtsdatum",
23
+
"questionText": "Wie lautet Ihr Geburtsdatum?",
24
+
"placeholder": "",
25
+
"noteCitizen": "",
26
+
"answerType": "date",
27
+
"answerOptions": []
28
+
}
29
+
30
+
SHACL:
31
+
32
+
ff:geburtsdatum a ff:DataField, ff:SozialleistungsfinderDataField ;
33
+
schema:category ff:persoenliche-angaben ;
34
+
rdfs:label "Geburtsdatum" ;
35
+
schema:question "Wie lautet Ihr Geburtsdatum?" ;
36
+
ff:objectConstraints [
37
+
a sh:PropertyShape ;
38
+
sh:targetObjectsOf ff:geburtsdatum ;
39
+
sh:datatype xsd:date ;
40
+
] ;
41
+
ff:usageConstraints [
42
+
a sh:NodeShape ;
43
+
sh:targetSubjectsOf ff:geburtsdatum ;
44
+
sh:property [
45
+
sh:path ff:geburtsdatum ;
46
+
sh:maxCount 1 ;
47
+
] ;
48
+
] .
49
+
-----
50
+
JSON:
51
+
{
52
+
"questionKey": "Aufenthaltsort",
53
+
"questionText": "Wo ist Ihr tatsächlicher Aufenthaltsort an dem Sie erreichbar sind?",
54
+
"placeholder": "",
55
+
"noteCitizen": "Das ist der Ort, wo Sie sich wirklich aufhalten. Es ist egal, ob Sie dort gemeldet sind oder das Recht haben, hier zu leben. Das kann auch eine Pflegeeinrichtung, ein Frauenhaus, ein Stadtteil oder Ähnliches sein.",
56
+
"answerType": "singleSelect",
57
+
"answerOptions": [
58
+
{
59
+
"value": "außerhalb",
60
+
"label": "außerhalb Deutschlands"
61
+
},
62
+
{
63
+
"value": "innerhalb",
64
+
"label": "innerhalb Deutschlands"
65
+
}
66
+
]
67
+
}
68
+
69
+
SHACL:
70
+
ff:aufenthaltsort a ff:DataField, ff:SozialleistungsfinderDataField ;
71
+
schema:category ff:persoenliche-angaben ;
72
+
rdfs:label "Aufenthaltsort" ;
73
+
schema:question "Wo ist Ihr tatsächlicher Aufenthaltsort an dem Sie erreichbar sind?" ;
74
+
rdfs:comment "Das ist der Ort, wo Sie sich wirklich aufhalten. Es ist egal, ob Sie dort gemeldet sind oder das Recht haben, hier zu leben. Das kann auch eine Pflegeeinrichtung, ein Frauenhaus, ein Stadtteil oder Ähnliches sein." ;
ff:geburtsdatum a ff:DataField, ff:SozialleistungsfinderDataField ;
52
54
schema:category ff:persoenliche-angaben ;
53
55
rdfs:label "Geburtsdatum" ;
@@ -127,3 +129,285 @@ ff:aufenthaltsort a ff:DataField, ff:SozialleistungsfinderDataField ;
127
129
] .
128
130
ff:aufenthaltsort-ao-ausserhalb a ff:AnswerOption ; rdfs:label "außerhalb Deutschlands" .
129
131
ff:aufenthaltsort-ao-innerhalb a ff:AnswerOption ; rdfs:label "innerhalb Deutschlands" .
132
+
133
+
# Kinder
134
+
135
+
ff:kinder a ff:DataField, ff:SozialleistungsfinderDataField ;
136
+
schema:category ff:kinder ;
137
+
rdfs:label "Kinder" ;
138
+
schema:question "Haben Sie ein oder mehrere Kinder?" ;
139
+
rdfs:comment "Bitte geben Sie an, ob Kinder in Ihrem Haushalt leben." ;
140
+
ff:objectConstraints [
141
+
a sh:PropertyShape ;
142
+
sh:targetObjectsOf ff:kinder ;
143
+
sh:datatype xsd:boolean ;
144
+
] ;
145
+
ff:usageConstraints [
146
+
a sh:NodeShape ;
147
+
sh:targetSubjectsOf ff:kinder ;
148
+
sh:property [
149
+
sh:path ff:kinder ;
150
+
sh:maxCount 1 ;
151
+
] ;
152
+
] .
153
+
154
+
ff:kinder_unter_18 a ff:DataField, ff:SozialleistungsfinderDataField ;
155
+
schema:category ff:kinder ;
156
+
rdfs:label "Kinder unter 18" ;
157
+
schema:question "Haben Sie Kinder unter 18 Jahren?" ;
158
+
ff:objectConstraints [
159
+
a sh:PropertyShape ;
160
+
sh:targetObjectsOf ff:kinder_unter_18 ;
161
+
sh:datatype xsd:boolean ;
162
+
] ;
163
+
ff:usageConstraints [
164
+
a sh:NodeShape ;
165
+
sh:targetSubjectsOf ff:kinder_unter_18 ;
166
+
sh:property [
167
+
sh:path ff:kinder_unter_18 ;
168
+
sh:maxCount 1 ;
169
+
] ;
170
+
] .
171
+
172
+
ff:kinder_18_25 a ff:DataField, ff:SozialleistungsfinderDataField ;
173
+
schema:category ff:kinder ;
174
+
rdfs:label "Kinder 18-25" ;
175
+
schema:question "Haben Sie Kinder zwischen 18-25 Jahren?" ;
176
+
ff:objectConstraints [
177
+
a sh:PropertyShape ;
178
+
sh:targetObjectsOf ff:kinder_18_25 ;
179
+
sh:datatype xsd:boolean ;
180
+
] ;
181
+
ff:usageConstraints [
182
+
a sh:NodeShape ;
183
+
sh:targetSubjectsOf ff:kinder_18_25 ;
184
+
sh:property [
185
+
sh:path ff:kinder_18_25 ;
186
+
sh:maxCount 1 ;
187
+
] ;
188
+
] .
189
+
190
+
ff:kinder_in_ausbildung a ff:DataField, ff:SozialleistungsfinderDataField ;
191
+
schema:category ff:kinder ;
192
+
rdfs:label "Kinder in Ausbildung" ;
193
+
schema:question "Haben Sie Kinder zwischen 18 und 25 Jahren, die sich noch in Schule, Ausbildung oder Studium befinden?" ;
194
+
ff:objectConstraints [
195
+
a sh:PropertyShape ;
196
+
sh:targetObjectsOf ff:kinder_in_ausbildung ;
197
+
sh:datatype xsd:boolean ;
198
+
] ;
199
+
ff:usageConstraints [
200
+
a sh:NodeShape ;
201
+
sh:targetSubjectsOf ff:kinder_in_ausbildung ;
202
+
sh:property [
203
+
sh:path ff:kinder_in_ausbildung ;
204
+
sh:maxCount 1 ;
205
+
] ;
206
+
] .
207
+
208
+
ff:kindergeld a ff:DataField, ff:SozialleistungsfinderDataField ;
209
+
schema:category ff:kinder ;
210
+
rdfs:label "Kindergeld" ;
211
+
schema:question "Beziehen Sie Kindergeld für ein oder mehrere Kinder?" ;
212
+
ff:objectConstraints [
213
+
a sh:PropertyShape ;
214
+
sh:targetObjectsOf ff:kindergeld ;
215
+
sh:datatype xsd:boolean ;
216
+
] ;
217
+
ff:usageConstraints [
218
+
a sh:NodeShape ;
219
+
sh:targetSubjectsOf ff:kindergeld ;
220
+
sh:property [
221
+
sh:path ff:kindergeld ;
222
+
sh:maxCount 1 ;
223
+
] ;
224
+
] .
225
+
226
+
# Erwerbstätigkeit
227
+
228
+
ff:erwerbsfaehig_neu a ff:DataField, ff:SozialleistungsfinderDataField ;
229
+
schema:category ff:erwerbstaetigkeit ;
230
+
rdfs:label "Erwerbsfähig neu" ;
231
+
schema:question "Sind Sie erwerbsfähig und können täglich mindestens 3 Stunden arbeiten?" ;
232
+
rdfs:comment "Sie sind erwerbsfähig, wenn Sie mindestens 3 Stunden am Tag normal arbeiten können. Wenn Sie es wegen längerer Krankheit oder Behinderung nicht schaffen, so lange zu arbeiten, geben Sie „nein“ an." ;
ff:einkommen_familie-ao-monatsbrutto-ueber-900-600 a ff:AnswerOption ; rdfs:label "Die Familie hat ein monatliches Brutto-Einkommen von mindestens 900 Euro (Gemeinsam erziehend) bzw. 600 Euro (Alleinerziehende)" .
314
+
ff:einkommen_familie-ao-monatsbrutto-unter-900-600 a ff:AnswerOption ; rdfs:label "Die Familie hat kein monatliches Brutto-Einkommen von mindestens 900 Euro (Gemeinsam erziehend) bzw. 600 Euro (Alleinerziehende)" .
315
+
316
+
# Lebenssituation
317
+
318
+
ff:lebenssituation a ff:DataField, ff:SozialleistungsfinderDataField ;
ff:lebenssituation-ao-allein a ff:AnswerOption ; rdfs:label "alleinlebend" .
336
+
ff:lebenssituation-ao-gemeinschaft a ff:AnswerOption ; rdfs:label "gemeinsam lebend (Ehe, Partnerschaft, eingetragene Lebenspartnerschaft), ggf. mit Kindern" .
337
+
ff:lebenssituation-ao-allein-mit-kind a ff:AnswerOption ; rdfs:label "alleinerziehend mit mind. einem Kind" .
338
+
339
+
ff:lebenslage a ff:DataField, ff:SozialleistungsfinderDataField ;
340
+
schema:category ff:lebenssituation ;
341
+
rdfs:label "Lebenslage" ;
342
+
schema:question "Befinden Sie sich in einer sozial schwierigen Lebenslage?" ;
343
+
rdfs:comment "Schwierige Lebenslagen oder Notsituationen sind zum Beispiel: Sie haben keine Wohnung mehr (Obdachlosigkeit), Sie haben ein Suchtproblem, Sie wissen nicht, wovon Sie leben sollen oder wurden ein Opfer von Gewalt in der Familie." ;
344
+
ff:objectConstraints [
345
+
a sh:PropertyShape ;
346
+
sh:targetObjectsOf ff:lebenslage ;
347
+
sh:datatype xsd:boolean ;
348
+
] ;
349
+
ff:usageConstraints [
350
+
a sh:NodeShape ;
351
+
sh:targetSubjectsOf ff:lebenslage ;
352
+
sh:property [
353
+
sh:path ff:lebenslage ;
354
+
sh:maxCount 1 ;
355
+
] ;
356
+
] .
357
+
358
+
# Gesundheit
359
+
360
+
ff:krankenversicherung a ff:DataField, ff:SozialleistungsfinderDataField ;
361
+
schema:category ff:gesundheit ;
362
+
rdfs:label "Krankenversicherung" ;
363
+
schema:question "Haben Sie eine Krankenversicherung?" ;
364
+
ff:objectConstraints [
365
+
a sh:PropertyShape ;
366
+
sh:targetObjectsOf ff:krankenversicherung ;
367
+
sh:datatype xsd:boolean ;
368
+
] ;
369
+
ff:usageConstraints [
370
+
a sh:NodeShape ;
371
+
sh:targetSubjectsOf ff:krankenversicherung ;
372
+
sh:property [
373
+
sh:path ff:krankenversicherung ;
374
+
sh:maxCount 1 ;
375
+
] ;
376
+
] .
377
+
378
+
ff:pflegeversicherung a ff:DataField, ff:SozialleistungsfinderDataField ;
379
+
schema:category ff:gesundheit ;
380
+
rdfs:label "Pflegeversicherung" ;
381
+
schema:question "Haben Sie eine Pflegeversicherung?" ;
382
+
ff:objectConstraints [
383
+
a sh:PropertyShape ;
384
+
sh:targetObjectsOf ff:pflegeversicherung ;
385
+
sh:datatype xsd:boolean ;
386
+
] ;
387
+
ff:usageConstraints [
388
+
a sh:NodeShape ;
389
+
sh:targetSubjectsOf ff:pflegeversicherung ;
390
+
sh:property [
391
+
sh:path ff:pflegeversicherung ;
392
+
sh:maxCount 1 ;
393
+
] ;
394
+
] .
395
+
396
+
ff:pflege a ff:DataField, ff:SozialleistungsfinderDataField ;
397
+
schema:category ff:gesundheit ;
398
+
rdfs:label "Pflege" ;
399
+
schema:question "Sind Sie pflegebedürftig?" ;
400
+
rdfs:comment "Die Pflegebedürftigkeit wird von einem Gutachter des Medizinischen Dienstes der Krankenversicherung (MDK) festgestellt. Nach der Prüfung entscheidet die Pflegekasse über Pflegebedürftigkeit und Pflegegrad." ;
0 commit comments