-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgenerator_context.json
38 lines (38 loc) · 26.9 KB
/
generator_context.json
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
{
"feedback_history": [
{
"text_id": "8805761722911531846",
"feedback": "If none of the available answer option correspond to the new criteria, create an entirely new datafield. In the present case, we need a new field for income that can check of numerical value.",
"improved_shape": "@prefix ff: <https://foerderfunke.org/default#> .\n@prefix sh: <http://www.w3.org/ns/shacl#> .\n@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .\n\nff:buergergeld a ff:RequirementProfile ;\n ff:hasMainPersonShape ff:buergergeldMainPersonShape .\n\nff:buergergeldMainPersonShape a sh:NodeShape,\n ff:EligibilityConstraint ;\n sh:property [ sh:description \"The person must be between 18 and 67 years old.\" ;\n sh:maxInclusive 67 ;\n sh:minInclusive 18 ;\n sh:path ff:hasAge ],\n [ sh:datatype xsd:decimal ;\n sh:description \"The person must not earn more than 1500 euros per month.\" ;\n sh:maxInclusive 1500 ;\n sh:path ff:einkommen_neu ],\n [ sh:datatype xsd:decimal ;\n sh:description \"The person's income must be a numerical value.\" ;\n sh:maxInclusive 1500 ;\n sh:minInclusive 0 ;\n sh:path ff:incomeValue ] ;\n sh:targetClass ff:Citizen .\n\n"
},
{
"text_id": "-1108160458741488095",
"feedback": "a) your requirement for ff:einkommen_neu does not correspond to the legal text. the text stipulates a number. please create a new field here.\n\nb) nur ff:erwerbsfaehig_neu-ao-ja corresponds to a person being able to work",
"improved_shape": "@prefix ff: <https://foerderfunke.org/default#> .\n@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n@prefix sh: <http://www.w3.org/ns/shacl#> .\n@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .\n\nff:buergergeld a ff:RequirementProfile ;\n ff:hasMainPersonShape ff:buergergeldMainPersonShape .\n\nff:buergergeldMainPersonShape a sh:NodeShape,\n ff:EligibilityConstraint ;\n sh:property [ sh:description \"The person must be between 18 and 67 years old.\" ;\n sh:maxInclusive 67 ;\n sh:minInclusive 18 ;\n sh:path ff:hasAge ],\n [ sh:description \"The person must be fit for work.\" ;\n sh:in ( ff:erwerbsfaehig_neu-ao-ja ) ;\n sh:path ff:erwerbsfaehig_neu ],\n [ sh:datatype xsd:decimal ;\n sh:description \"The person must not earn more than 1500 euros per month.\" ;\n sh:maxInclusive 1500 ;\n sh:path ff:incomeValue ] ;\n sh:targetClass ff:Citizen .\n\n"
},
{
"text_id": "1316503542958230032",
"feedback": "You have a number of boolean conditions that you mention. But you do not tell me whether the value has to be true or false. E.g. I would expect you to tell me that \n\n[ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they receive child benefit for one or more children.\" ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kindergeld ]\n\nhas sh:in (true)\n\nthis is the case for all boolean fields\n\n\n",
"improved_shape": "@prefix ff: <https://foerderfunke.org/default#> .\n@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n@prefix sh: <http://www.w3.org/ns/shacl#> .\n@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .\n\nff:kindergeld a ff:RequirementProfile ;\n ff:hasMainPersonShape ff:kindergeldMainPersonShape .\n\nff:kindergeldMainPersonShape a sh:NodeShape,\n ff:EligibilityConstraint ;\n sh:property [ sh:datatype xsd:date ;\n sh:description \"The person's date of birth must be provided.\" ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:geburtsdatum ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they receive child benefit for one or more children.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kindergeld ],\n [ sh:description \"The person must confirm that they are fit for work.\" ;\n sh:in ( ff:erwerbsfaehig_neu-ao-ja ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:erwerbsfaehig_neu ],\n [ sh:description \"The person must specify how they earn their income from the allowed options.\" ;\n sh:in ( ff:einkommen_neu-ao-selbstaendig ff:einkommen_neu-ao-soz ff:einkommen_neu-ao-alg ff:einkommen_neu-ao-ausbildung ff:einkommen_neu-ao-bfd ff:einkommen_neu-ao-rente ff:einkommen_neu-ao-elterngeld ff:einkommen_neu-ao-mutterschaftsgeld ff:einkommen_neu-ao-wohngeld ff:einkommen_neu-ao-sonstige ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:einkommen_neu ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if there are children living in their household.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder ],\n [ sh:description \"The person must specify their citizenship, which can be German, from an EU country, or a third country.\" ;\n sh:in ( ff:staatsbuergerschaft-ao-ger ff:staatsbuergerschaft-ao-eu ff:staatsbuergerschaft-ao-3rd ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:staatsbuergerschaft ],\n [ sh:description \"The person must describe their family's income from the allowed options.\" ;\n sh:in ( ff:einkommen_familie-ao-monatsbrutto-ueber-900-600 ff:einkommen_familie-ao-monatsbrutto-unter-900-600 ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:einkommen_familie ],\n [ sh:description \"The person must specify their living situation from the allowed options.\" ;\n sh:in ( ff:lebenssituation-ao-allein ff:lebenssituation-ao-gemeinschaft ff:lebenssituation-ao-allein-mit-kind ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:lebenssituation ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they are in a difficult living situation or emergency situation.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:lebenslage ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have health insurance.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:krankenversicherung ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must specify if they have children under 18 years old.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder_unter_18 ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have nursing care insurance.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:pflegeversicherung ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have been assessed for care needs.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:pflege ],\n [ sh:datatype xsd:string ;\n sh:description \"The person must indicate their pensionable status.\" ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:pensionable ],\n [ sh:datatype xsd:boolean ;\n sh:description \"If the person is a foreigner, they must indicate whether they have a residence permit.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:aufenthalt ],\n [ sh:description \"The person must specify their actual place of residence, which can be within or outside the jurisdiction.\" ;\n sh:in ( ff:aufenthaltsort-ao-innerhalb ff:aufenthaltsort-ao-ausserhalb ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:aufenthaltsort ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must specify if they have children between 18 and 25 years old.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder_18_25 ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have children aged 18 to 25 who are still in education.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder_in_ausbildung ] ;\n sh:targetClass ff:Citizen .\n\n"
},
{
"text_id": "4842493313569061509",
"feedback": "I want that each constraint is expressed as a single property of the ff:kindergeldMainPersonShape. I want them to look like this:\n\n sh:property [\n sh:path ff:beruf_neu ;\n sh:minCount 1 ;\n sh:not [\n sh:in (ff:beruf_neu-ao-bfd ff:beruf_neu-ao-rente) ;\n ] ;\n ] ;\n sh:property [\n sh:path ff:einkommen_neu ;\n sh:minCount 1 ;\n sh:not [\n sh:in (ff:einkommen_neu-ao-alg ff:einkommen_neu-ao-bafoeg ff:einkommen_neu-ao-rente) ;\n ] ;\n ] ;\n",
"improved_shape": "@prefix ff: <https://foerderfunke.org/default#> .\n@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n@prefix sh: <http://www.w3.org/ns/shacl#> .\n@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .\n\nff:kindergeld a ff:RequirementProfile ;\n ff:hasMainPersonShape ff:kindergeldMainPersonShape .\n\nff:kindergeldMainPersonShape a sh:NodeShape,\n ff:EligibilityConstraint ;\n sh:property [ sh:datatype xsd:date ;\n sh:description \"The person's date of birth must be provided.\" ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:geburtsdatum ],\n [ sh:description \"The person must describe their family's income from the allowed options.\" ;\n sh:in ( ff:einkommen_familie-ao-monatsbrutto-ueber-900-600 ff:einkommen_familie-ao-monatsbrutto-unter-900-600 ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:einkommen_familie ],\n [ sh:description \"The person must specify their living situation from the allowed options.\" ;\n sh:in ( ff:lebenssituation-ao-allein ff:lebenssituation-ao-gemeinschaft ff:lebenssituation-ao-allein-mit-kind ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:lebenssituation ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they are in a difficult living situation or emergency situation.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:lebenslage ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have health insurance.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:krankenversicherung ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if there are children living in their household.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must specify if they have children under 18 years old.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder_unter_18 ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have nursing care insurance.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:pflegeversicherung ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have been assessed for care needs.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:pflege ],\n [ sh:description \"The person must confirm that they are fit for work.\" ;\n sh:in ( ff:erwerbsfaehig_neu-ao-ja ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:erwerbsfaehig_neu ],\n [ sh:datatype xsd:string ;\n sh:description \"The person must indicate their pensionable status.\" ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:pensionable ],\n [ sh:datatype xsd:boolean ;\n sh:description \"If the person is a foreigner, they must indicate whether they have a residence permit.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:aufenthalt ],\n [ sh:description \"The person must specify their actual place of residence, which can be within or outside the jurisdiction.\" ;\n sh:in ( ff:aufenthaltsort-ao-innerhalb ff:aufenthaltsort-ao-ausserhalb ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:aufenthaltsort ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must specify if they have children between 18 and 25 years old.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder_18_25 ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have children aged 18 to 25 who are still in education.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder_in_ausbildung ],\n [ sh:minCount 1 ;\n sh:not [ sh:in ( ff:beruf_neu-ao-bfd ff:beruf_neu-ao-rente ) ] ;\n sh:path ff:beruf_neu ],\n [ sh:description \"The person must specify their citizenship, which can be German, from an EU country, or a third country.\" ;\n sh:in ( ff:staatsbuergerschaft-ao-ger ff:staatsbuergerschaft-ao-eu ff:staatsbuergerschaft-ao-3rd ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:staatsbuergerschaft ],\n [ sh:minCount 1 ;\n sh:not [ sh:in ( ff:einkommen_neu-ao-alg ff:einkommen_neu-ao-bafoeg ff:einkommen_neu-ao-rente ) ] ;\n sh:path ff:einkommen_neu ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they receive child benefit for one or more children.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kindergeld ] ;\n sh:targetClass ff:Citizen .\n\n"
},
{
"text_id": "4074370632666207250",
"feedback": "what do you think about this shape. do you see any logical inconsistencies. please update and combine where you see redundancies or conflicts.",
"improved_shape": "@prefix ff: <https://foerderfunke.org/default#> .\n@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n@prefix sh: <http://www.w3.org/ns/shacl#> .\n@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .\n\nff:kindergeld a ff:RequirementProfile ;\n ff:hasMainPersonShape ff:kindergeldMainPersonShape .\n\nff:kindergeldMainPersonShape a sh:NodeShape,\n ff:EligibilityConstraint ;\n sh:property [ sh:datatype xsd:date ;\n sh:description \"The person's date of birth must be provided.\" ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:geburtsdatum ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have health insurance.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:krankenversicherung ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if there are children living in their household.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must specify if they have children under 18 years old.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder_unter_18 ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have nursing care insurance.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:pflegeversicherung ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have been assessed for care needs.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:pflege ],\n [ sh:description \"The person must describe their family's income from the allowed options.\" ;\n sh:in ( ff:einkommen_familie-ao-monatsbrutto-ueber-900-600 ff:einkommen_familie-ao-monatsbrutto-unter-900-600 ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:einkommen_familie ],\n [ sh:description \"The person must confirm that they are fit for work.\" ;\n sh:in ( ff:erwerbsfaehig_neu-ao-ja ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:erwerbsfaehig_neu ],\n [ sh:datatype xsd:string ;\n sh:description \"The person must indicate their pensionable status.\" ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:pensionable ],\n [ sh:datatype xsd:boolean ;\n sh:description \"If the person is a foreigner, they must indicate whether they have a residence permit.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:aufenthalt ],\n [ sh:description \"The person must specify their actual place of residence, which can be within or outside the jurisdiction.\" ;\n sh:in ( ff:aufenthaltsort-ao-innerhalb ff:aufenthaltsort-ao-ausserhalb ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:aufenthaltsort ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must specify if they have children between 18 and 25 years old.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder_18_25 ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have children aged 18 to 25 who are still in education.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder_in_ausbildung ],\n [ sh:minCount 1 ;\n sh:not [ sh:in ( ff:beruf_neu-ao-bfd ff:beruf_neu-ao-rente ) ] ;\n sh:path ff:beruf_neu ],\n [ sh:description \"The person must specify their citizenship, which can be German, from an EU country, or a third country.\" ;\n sh:in ( ff:staatsbuergerschaft-ao-ger ff:staatsbuergerschaft-ao-eu ff:staatsbuergerschaft-ao-3rd ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:staatsbuergerschaft ],\n [ sh:minCount 1 ;\n sh:not [ sh:in ( ff:einkommen_neu-ao-alg ff:einkommen_neu-ao-bafoeg ff:einkommen_neu-ao-rente ) ] ;\n sh:path ff:einkommen_neu ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they receive child benefit for one or more children.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kindergeld ],\n [ sh:description \"The person must specify their living situation from the allowed options.\" ;\n sh:in ( ff:lebenssituation-ao-allein ff:lebenssituation-ao-gemeinschaft ff:lebenssituation-ao-allein-mit-kind ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:lebenssituation ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they are in a difficult living situation or emergency situation.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:lebenslage ] ;\n sh:targetClass ff:Citizen .\n\n"
},
{
"text_id": "4074370632666207250",
"feedback": "what do you think about this shape. do you see any logical inconsistencies. please update and combine where you see redundancies or conflicts.",
"improved_shape": "@prefix ff: <https://foerderfunke.org/default#> .\n@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n@prefix sh: <http://www.w3.org/ns/shacl#> .\n@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .\n\nff:kindergeld a ff:RequirementProfile ;\n ff:hasMainPersonShape ff:kindergeldMainPersonShape .\n\nff:kindergeldMainPersonShape a sh:NodeShape,\n ff:EligibilityConstraint ;\n sh:property [ sh:datatype xsd:date ;\n sh:description \"The person's date of birth must be provided.\" ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:geburtsdatum ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have health insurance.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:krankenversicherung ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if there are children living in their household.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must specify if they have children under 18 years old.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder_unter_18 ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have nursing care insurance.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:pflegeversicherung ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have been assessed for care needs.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:pflege ],\n [ sh:description \"The person must describe their family's income from the allowed options.\" ;\n sh:in ( ff:einkommen_familie-ao-monatsbrutto-ueber-900-600 ff:einkommen_familie-ao-monatsbrutto-unter-900-600 ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:einkommen_familie ],\n [ sh:description \"The person must confirm that they are fit for work.\" ;\n sh:in ( ff:erwerbsfaehig_neu-ao-ja ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:erwerbsfaehig_neu ],\n [ sh:datatype xsd:string ;\n sh:description \"The person must indicate their pensionable status.\" ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:pensionable ],\n [ sh:datatype xsd:boolean ;\n sh:description \"If the person is a foreigner, they must indicate whether they have a residence permit.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:aufenthalt ],\n [ sh:description \"The person must specify their actual place of residence, which can be within or outside the jurisdiction.\" ;\n sh:in ( ff:aufenthaltsort-ao-innerhalb ff:aufenthaltsort-ao-ausserhalb ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:aufenthaltsort ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must specify if they have children between 18 and 25 years old.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder_18_25 ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they have children aged 18 to 25 who are still in education.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kinder_in_ausbildung ],\n [ sh:minCount 1 ;\n sh:not [ sh:in ( ff:beruf_neu-ao-bfd ff:beruf_neu-ao-rente ) ] ;\n sh:path ff:beruf_neu ],\n [ sh:description \"The person must specify their citizenship, which can be German, from an EU country, or a third country.\" ;\n sh:in ( ff:staatsbuergerschaft-ao-ger ff:staatsbuergerschaft-ao-eu ff:staatsbuergerschaft-ao-3rd ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:staatsbuergerschaft ],\n [ sh:minCount 1 ;\n sh:not [ sh:in ( ff:einkommen_neu-ao-alg ff:einkommen_neu-ao-bafoeg ff:einkommen_neu-ao-rente ) ] ;\n sh:path ff:einkommen_neu ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they receive child benefit for one or more children.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:kindergeld ],\n [ sh:description \"The person must specify their living situation from the allowed options.\" ;\n sh:in ( ff:lebenssituation-ao-allein ff:lebenssituation-ao-gemeinschaft ff:lebenssituation-ao-allein-mit-kind ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:lebenssituation ],\n [ sh:datatype xsd:boolean ;\n sh:description \"The person must indicate if they are in a difficult living situation or emergency situation.\" ;\n sh:in ( true ) ;\n sh:maxCount 1 ;\n sh:minCount 1 ;\n sh:path ff:lebenslage ] ;\n sh:targetClass ff:Citizen .\n\n"
}
],
"general_guidelines": [
"Generated constraints that rely on an existing datafield must comply with the datatype associated with that datafield. E.g. ff:einkommen_neu has datatype xdf:string with the additional constraint that the required value has be one of the available answer options. The field constraint can never be an integer.",
"If you have a requirement that is conceptually similar to an existing datafield but none of the available answer option directly correspond to the requirement, create an entirely new datafield.\n\nAn example:\nff:einkommen_neu relates to income but needs to be selected from one of the available answer options.\nif the requirement states that a person cannot earn more than 1500 euro per month this relates to income but the figure does not correspond to one of the available answer options. here you need to create a new datafield for income that can hold numerical values."
]
}