@prefix ps: <https://publicschema.org/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ps:AddressShape a sh:NodeShape ;
    rdfs:label "Address shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "administrative_area" ;
            sh:path ps:administrative_area ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "country" ;
            sh:path ps:country ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "address_area" ;
            sh:path ps:address_area ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "house_number" ;
            sh:path ps:house_number ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "street_address" ;
            sh:path ps:street_address ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "city" ;
            sh:path ps:city ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "postal_code" ;
            sh:path ps:postal_code ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "full_address" ;
            sh:path ps:full_address ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "building_name" ;
            sh:path ps:building_name ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:location ] ;
    sh:targetClass ps:Address .

ps:DeliveryItemShape a sh:NodeShape ;
    rdfs:label "DeliveryItem shape" ;
    sh:property [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "quantity_redeemed" ;
            sh:path ps:quantity_redeemed ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "commodity_type" ;
            sh:path ps:commodity_type ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "quantity" ;
            sh:path ps:quantity ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "description" ;
            sh:path ps:description ],
        [ sh:datatype xsd:string ;
            sh:in ( "kg"^^xsd:string "g"^^xsd:string "l"^^xsd:string "ml"^^xsd:string "unit"^^xsd:string "kit"^^xsd:string "meal"^^xsd:string "mt"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "unit_of_measure" ;
            sh:path ps:unit_of_measure ] ;
    sh:targetClass ps:DeliveryItem .

ps:EventShape a sh:NodeShape ;
    rdfs:label "Event shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ] ;
    sh:targetClass ps:Event .

ps:FamilyShape a sh:NodeShape ;
    rdfs:label "Family shape" ;
    sh:property [ sh:class ps:GroupMembership ;
            sh:name "memberships" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:memberships ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "name" ;
            sh:path ps:name ],
        [ sh:class ps:Identifier ;
            sh:name "identifiers" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:identifiers ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "formation_date" ;
            sh:path ps:formation_date ],
        [ sh:datatype xsd:integer ;
            sh:maxCount 1 ;
            sh:name "member_count" ;
            sh:path ps:member_count ],
        [ sh:datatype xsd:string ;
            sh:in ( "household"^^xsd:string "family"^^xsd:string "farm"^^xsd:string "other"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "group_type" ;
            sh:path ps:group_type ] ;
    sh:targetClass ps:Family .

ps:FarmShape a sh:NodeShape ;
    rdfs:label "Farm shape" ;
    sh:property [ sh:class ps:Identifier ;
            sh:name "identifiers" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:identifiers ],
        [ sh:class ps:GroupMembership ;
            sh:name "memberships" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:memberships ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "formation_date" ;
            sh:path ps:formation_date ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "name" ;
            sh:path ps:name ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "primary_crop" ;
            sh:path ps:primary_crop ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "farm_area_hectares" ;
            sh:path ps:farm_area_hectares ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:location ],
        [ sh:datatype xsd:integer ;
            sh:maxCount 1 ;
            sh:name "member_count" ;
            sh:path ps:member_count ],
        [ sh:datatype xsd:string ;
            sh:in ( "household"^^xsd:string "family"^^xsd:string "farm"^^xsd:string "other"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "group_type" ;
            sh:path ps:group_type ] ;
    sh:targetClass ps:Farm .

ps:GeographicAreaShape a sh:NodeShape ;
    rdfs:label "GeographicArea shape" ;
    sh:property [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "altitude_min" ;
            sh:path ps:altitude_min ],
        [ sh:datatype rdf:JSON ;
            sh:maxCount 1 ;
            sh:name "geometry" ;
            sh:path ps:geometry ],
        [ sh:class ps:Identifier ;
            sh:name "geocodes" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:geocodes ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "area_description" ;
            sh:path ps:area_description ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "altitude_max" ;
            sh:path ps:altitude_max ],
        [ sh:class ps:Location ;
            sh:name "locations" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:locations ] ;
    sh:targetClass ps:GeographicArea .

ps:GroupMembershipShape a sh:NodeShape ;
    rdfs:label "GroupMembership shape" ;
    sh:property [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "start_date" ;
            sh:path ps:start_date ],
        [ sh:datatype xsd:string ;
            sh:in ( "head"^^xsd:string "spouse"^^xsd:string "child"^^xsd:string "dependent"^^xsd:string "parent"^^xsd:string "sibling"^^xsd:string "grandparent"^^xsd:string "grandchild"^^xsd:string "other_relative"^^xsd:string "non_relative"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "role" ;
            sh:path ps:role ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "is_active" ;
            sh:path ps:is_active ],
        [ sh:class ps:Group ;
            sh:maxCount 1 ;
            sh:name "group" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:group ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "end_date" ;
            sh:path ps:end_date ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "person" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:person ] ;
    sh:targetClass ps:GroupMembership .

ps:GroupShape a sh:NodeShape ;
    rdfs:label "Group shape" ;
    sh:property [ sh:class ps:Identifier ;
            sh:name "identifiers" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:identifiers ],
        [ sh:datatype xsd:string ;
            sh:in ( "household"^^xsd:string "family"^^xsd:string "farm"^^xsd:string "other"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "group_type" ;
            sh:path ps:group_type ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "name" ;
            sh:path ps:name ],
        [ sh:class ps:GroupMembership ;
            sh:name "memberships" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:memberships ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "formation_date" ;
            sh:path ps:formation_date ],
        [ sh:datatype xsd:integer ;
            sh:maxCount 1 ;
            sh:name "member_count" ;
            sh:path ps:member_count ] ;
    sh:targetClass ps:Group .

ps:HazardEventShape a sh:NodeShape ;
    rdfs:label "HazardEvent shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:in ( "observed"^^xsd:string "likely"^^xsd:string "possible"^^xsd:string "unlikely"^^xsd:string "unknown"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "certainty" ;
            sh:path ps:certainty ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:string ;
            sh:name "data_sources" ;
            sh:path ps:data_sources ],
        [ sh:datatype xsd:string ;
            sh:in ( "extreme"^^xsd:string "severe"^^xsd:string "moderate"^^xsd:string "minor"^^xsd:string "unknown"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "severity" ;
            sh:path ps:severity ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "start_date" ;
            sh:path ps:start_date ],
        [ sh:datatype xsd:string ;
            sh:in ( "geophysical"^^xsd:string "meteorological"^^xsd:string "biological"^^xsd:string "environmental"^^xsd:string "technological"^^xsd:string "conflict"^^xsd:string "economic"^^xsd:string "other"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "hazard_type" ;
            sh:path ps:hazard_type ],
        [ sh:class <https://publicschema.org/sp/Program> ;
            sh:name "affected_programs" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:affected_programs ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "description" ;
            sh:path ps:description ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "end_date" ;
            sh:path ps:end_date ],
        [ sh:class ps:Location ;
            sh:name "affected_locations" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:affected_locations ] ;
    sh:targetClass ps:HazardEvent .

ps:HouseholdShape a sh:NodeShape ;
    rdfs:label "Household shape" ;
    sh:property [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "formation_date" ;
            sh:path ps:formation_date ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "income_source" ;
            sh:path ps:income_source ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "name" ;
            sh:path ps:name ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:location ],
        [ sh:class ps:Address ;
            sh:maxCount 1 ;
            sh:name "address" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:address ],
        [ sh:class ps:GroupMembership ;
            sh:name "memberships" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:memberships ],
        [ sh:datatype xsd:integer ;
            sh:maxCount 1 ;
            sh:name "member_count" ;
            sh:path ps:member_count ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "dwelling_type" ;
            sh:path ps:dwelling_type ],
        [ sh:class ps:Identifier ;
            sh:name "identifiers" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:identifiers ],
        [ sh:datatype xsd:string ;
            sh:in ( "household"^^xsd:string "family"^^xsd:string "farm"^^xsd:string "other"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "group_type" ;
            sh:path ps:group_type ] ;
    sh:targetClass ps:Household .

ps:IdentifierShape a sh:NodeShape ;
    rdfs:label "Identifier shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "identifier_scheme_id" ;
            sh:path ps:identifier_scheme_id ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "expiry_date" ;
            sh:path ps:expiry_date ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "identifier_scheme_name" ;
            sh:path ps:identifier_scheme_name ],
        [ sh:datatype xsd:string ;
            sh:in ( "national_id"^^xsd:string "birth_certificate"^^xsd:string "passport"^^xsd:string "voter_id"^^xsd:string "program_id"^^xsd:string "household_id"^^xsd:string "social_security_number"^^xsd:string "tax_id"^^xsd:string "drivers_license"^^xsd:string "marriage_certificate"^^xsd:string "death_certificate"^^xsd:string "other"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "identifier_type" ;
            sh:path ps:identifier_type ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "issuing_authority" ;
            sh:path ps:issuing_authority ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "issue_date" ;
            sh:path ps:issue_date ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "identifier_value" ;
            sh:path ps:identifier_value ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "issuing_jurisdiction" ;
            sh:path ps:issuing_jurisdiction ] ;
    sh:targetClass ps:Identifier .

ps:InKindDeliveryShape a sh:NodeShape ;
    rdfs:label "InKindDelivery shape" ;
    sh:property [ sh:maxCount 1 ;
            sh:name "enrollment_ref" ;
            sh:nodeKind sh:IRI ;
            sh:path ps:enrollment_ref ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:string ;
            sh:in ( "pending"^^xsd:string "processing"^^xsd:string "partial"^^xsd:string "paid"^^xsd:string "failed"^^xsd:string "returned"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "reconciled"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "delivery_status" ;
            sh:path ps:delivery_status ],
        [ sh:class ps:Party ;
            sh:maxCount 1 ;
            sh:name "recipient" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:recipient ],
        [ sh:maxCount 1 ;
            sh:name "entitlement_ref" ;
            sh:nodeKind sh:IRI ;
            sh:path ps:entitlement_ref ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "delivery_location" ;
            sh:path ps:delivery_location ],
        [ sh:class ps:DeliveryItem ;
            sh:name "items" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:items ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "delivery_date" ;
            sh:path ps:delivery_date ] ;
    sh:targetClass ps:InKindDelivery .

ps:LocationShape a sh:NodeShape ;
    rdfs:label "Location shape" ;
    sh:property [ sh:datatype xsd:integer ;
            sh:maxCount 1 ;
            sh:name "administrative_level" ;
            sh:path ps:administrative_level ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "latitude" ;
            sh:path ps:latitude ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "level_name" ;
            sh:path ps:level_name ],
        [ sh:class ps:Identifier ;
            sh:name "geocodes" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:geocodes ],
        [ sh:datatype rdf:JSON ;
            sh:maxCount 1 ;
            sh:name "geometry" ;
            sh:path ps:geometry ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "parent_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:parent_location ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "longitude" ;
            sh:path ps:longitude ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "location_name" ;
            sh:path ps:location_name ] ;
    sh:targetClass ps:Location .

ps:PartyShape a sh:NodeShape ;
    rdfs:label "Party shape" ;
    sh:property [ sh:class ps:Identifier ;
            sh:name "identifiers" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:identifiers ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "name" ;
            sh:path ps:name ] ;
    sh:targetClass ps:Party .

ps:PaymentEventShape a sh:NodeShape ;
    rdfs:label "PaymentEvent shape" ;
    sh:property [ sh:class ps:Party ;
            sh:maxCount 1 ;
            sh:name "recipient" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:recipient ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "payment_date" ;
            sh:path ps:payment_date ],
        [ sh:maxCount 1 ;
            sh:name "enrollment_ref" ;
            sh:nodeKind sh:IRI ;
            sh:path ps:enrollment_ref ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "payment_amount" ;
            sh:path ps:payment_amount ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "transaction_reference" ;
            sh:path ps:transaction_reference ],
        [ sh:datatype xsd:string ;
            sh:in ( "pending"^^xsd:string "processing"^^xsd:string "partial"^^xsd:string "paid"^^xsd:string "failed"^^xsd:string "returned"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "reconciled"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "payment_status" ;
            sh:path ps:payment_status ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "payment_currency" ;
            sh:path ps:payment_currency ],
        [ sh:datatype xsd:string ;
            sh:in ( "bank_transfer"^^xsd:string "mobile_money"^^xsd:string "cash"^^xsd:string "agent_network"^^xsd:string "prepaid_card"^^xsd:string "service_point"^^xsd:string "other"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "delivery_channel" ;
            sh:path ps:delivery_channel ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "failure_reason" ;
            sh:path ps:failure_reason ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "is_reconciled" ;
            sh:path ps:is_reconciled ],
        [ sh:maxCount 1 ;
            sh:name "entitlement_ref" ;
            sh:nodeKind sh:IRI ;
            sh:path ps:entitlement_ref ] ;
    sh:targetClass ps:PaymentEvent .

ps:PersonShape a sh:NodeShape ;
    rdfs:label "Person shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "email_address" ;
            sh:path ps:email_address ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "date_of_death" ;
            sh:path ps:date_of_death ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "family_name_at_birth" ;
            sh:path ps:family_name_at_birth ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "given_name_at_birth" ;
            sh:path ps:given_name_at_birth ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "name" ;
            sh:path ps:name ],
        [ sh:datatype xsd:string ;
            sh:in ( "not_known"^^xsd:string "male"^^xsd:string "female"^^xsd:string "not_applicable"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "sex" ;
            sh:path ps:sex ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "phone_number" ;
            sh:path ps:phone_number ],
        [ sh:class ps:Identifier ;
            sh:name "identifiers" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:identifiers ],
        [ sh:datatype xsd:string ;
            sh:in ( "employed"^^xsd:string "unemployed"^^xsd:string "outside_labour_force"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "employment_status" ;
            sh:path ps:employment_status ],
        [ sh:class ps:GroupMembership ;
            sh:name "group_memberships" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:group_memberships ],
        [ sh:datatype xsd:integer ;
            sh:maxCount 1 ;
            sh:name "number_of_spouses" ;
            sh:path ps:number_of_spouses ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "matronymic_name" ;
            sh:path ps:matronymic_name ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "occupation" ;
            sh:path ps:occupation ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "nationality" ;
            sh:path ps:nationality ],
        [ sh:datatype xsd:string ;
            sh:in ( "early_childhood"^^xsd:string "primary"^^xsd:string "lower_secondary"^^xsd:string "upper_secondary"^^xsd:string "post_secondary_non_tertiary"^^xsd:string "short_cycle_tertiary"^^xsd:string "bachelor"^^xsd:string "master"^^xsd:string "doctoral"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "education_level" ;
            sh:path ps:education_level ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "industry" ;
            sh:path ps:industry ],
        [ sh:datatype xsd:string ;
            sh:in ( "literate"^^xsd:string "illiterate"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "literacy" ;
            sh:path ps:literacy ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "preferred_language" ;
            sh:path ps:preferred_language ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "date_of_birth" ;
            sh:path ps:date_of_birth ],
        [ sh:datatype xsd:string ;
            sh:in ( "employee"^^xsd:string "employer"^^xsd:string "own_account_worker"^^xsd:string "contributing_family_worker"^^xsd:string "cooperative_member"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "status_in_employment" ;
            sh:path ps:status_in_employment ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "patronymic_name" ;
            sh:path ps:patronymic_name ],
        [ sh:datatype xsd:string ;
            sh:in ( "never_married"^^xsd:string "married"^^xsd:string "widowed"^^xsd:string "divorced"^^xsd:string "legally_separated"^^xsd:string "consensual_union"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "marital_status" ;
            sh:path ps:marital_status ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "given_name" ;
            sh:path ps:given_name ],
        [ sh:class ps:Address ;
            sh:maxCount 1 ;
            sh:name "domicile" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:domicile ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "ethnic_group" ;
            sh:path ps:ethnic_group ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "country_of_birth" ;
            sh:path ps:country_of_birth ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "preferred_name" ;
            sh:path ps:preferred_name ],
        [ sh:datatype xsd:string ;
            sh:in ( "male"^^xsd:string "female"^^xsd:string "other"^^xsd:string "not_stated"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "gender" ;
            sh:path ps:gender ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "religion" ;
            sh:path ps:religion ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "family_name" ;
            sh:path ps:family_name ] ;
    sh:targetClass ps:Person .

ps:RelationshipShape a sh:NodeShape ;
    rdfs:label "Relationship shape" ;
    sh:property [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "start_date" ;
            sh:path ps:start_date ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "object_person" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:object_person ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "subject_person" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:subject_person ],
        [ sh:datatype xsd:string ;
            sh:in ( "spouse"^^xsd:string "parent"^^xsd:string "child"^^xsd:string "sibling"^^xsd:string "grandparent"^^xsd:string "grandchild"^^xsd:string "guardian"^^xsd:string "caregiver"^^xsd:string "dependent"^^xsd:string "in_law"^^xsd:string "extended_family"^^xsd:string "payment_proxy"^^xsd:string "survivor"^^xsd:string "non_relative"^^xsd:string "other"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "relationship_type" ;
            sh:path ps:relationship_type ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "end_date" ;
            sh:path ps:end_date ] ;
    sh:targetClass ps:Relationship .

ps:VoucherRedemptionShape a sh:NodeShape ;
    rdfs:label "VoucherRedemption shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "redemption_agent" ;
            sh:path ps:redemption_agent ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "redeemed_by" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:redeemed_by ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "currency" ;
            sh:path ps:currency ],
        [ sh:class ps:Voucher ;
            sh:maxCount 1 ;
            sh:name "voucher_ref" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:voucher_ref ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "redemption_date" ;
            sh:path ps:redemption_date ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "amount" ;
            sh:path ps:amount ],
        [ sh:class ps:DeliveryItem ;
            sh:name "items" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:items ] ;
    sh:targetClass ps:VoucherRedemption .

ps:VoucherShape a sh:NodeShape ;
    rdfs:label "Voucher shape" ;
    sh:property [ sh:class ps:Party ;
            sh:maxCount 1 ;
            sh:name "issued_to" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:issued_to ],
        [ sh:datatype xsd:string ;
            sh:in ( "electronic"^^xsd:string "paper"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "voucher_format" ;
            sh:path ps:voucher_format ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "redemption_date" ;
            sh:path ps:redemption_date ],
        [ sh:datatype xsd:string ;
            sh:in ( "created"^^xsd:string "issued"^^xsd:string "suspended"^^xsd:string "partially_redeemed"^^xsd:string "redeemed"^^xsd:string "expired"^^xsd:string "cancelled"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "voucher_status" ;
            sh:path ps:voucher_status ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "expiry_date" ;
            sh:path ps:expiry_date ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "issue_date" ;
            sh:path ps:issue_date ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "serial_number" ;
            sh:path ps:serial_number ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "currency" ;
            sh:path ps:currency ],
        [ sh:maxCount 1 ;
            sh:name "entitlement_ref" ;
            sh:nodeKind sh:IRI ;
            sh:path ps:entitlement_ref ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "redemption_agent" ;
            sh:path ps:redemption_agent ],
        [ sh:class ps:Party ;
            sh:name "redeemable_by" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:redeemable_by ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "amount" ;
            sh:path ps:amount ],
        [ sh:class ps:DeliveryItem ;
            sh:name "items" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:items ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "redeemed_by" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:redeemed_by ] ;
    sh:targetClass ps:Voucher .

<https://publicschema.org/crvs/AdoptionShape> a sh:NodeShape ;
    rdfs:label "Adoption shape" ;
    sh:property [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "registration_date" ;
            sh:path <https://publicschema.org/crvs/registration_date> ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "event_date_estimated" ;
            sh:path <https://publicschema.org/crvs/event_date_estimated> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "registration_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registration_location> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "judgment_date" ;
            sh:path <https://publicschema.org/crvs/judgment_date> ],
        [ sh:class <https://publicschema.org/crvs/Parent> ;
            sh:name "previous_parents" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/previous_parents> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "registrar" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registrar> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "adoptee" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/adoptee> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "judgment_reference" ;
            sh:path <https://publicschema.org/crvs/judgment_reference> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "court" ;
            sh:path <https://publicschema.org/crvs/court> ],
        [ sh:datatype xsd:string ;
            sh:in ( "current"^^xsd:string "late"^^xsd:string "court_ordered"^^xsd:string "reconstruction"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_type" ;
            sh:path <https://publicschema.org/crvs/registration_type> ],
        [ sh:datatype xsd:string ;
            sh:in ( "full"^^xsd:string "simple"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "adoption_type" ;
            sh:path <https://publicschema.org/crvs/adoption_type> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "registration_number" ;
            sh:path <https://publicschema.org/crvs/registration_number> ],
        [ sh:class <https://publicschema.org/crvs/Parent> ;
            sh:name "adoptive_parents" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/adoptive_parents> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "informant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/informant> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "event_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/event_location> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "event_date" ;
            sh:path <https://publicschema.org/crvs/event_date> ],
        [ sh:datatype xsd:string ;
            sh:in ( "declared"^^xsd:string "pending_validation"^^xsd:string "registered"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "corrected"^^xsd:string "archived"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_status" ;
            sh:path <https://publicschema.org/crvs/registration_status> ] ;
    sh:targetClass <https://publicschema.org/crvs/Adoption> .

<https://publicschema.org/crvs/AnnulmentShape> a sh:NodeShape ;
    rdfs:label "Annulment shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "court" ;
            sh:path <https://publicschema.org/crvs/court> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "registration_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registration_location> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "registrar" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registrar> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "event_date" ;
            sh:path <https://publicschema.org/crvs/event_date> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "registration_date" ;
            sh:path <https://publicschema.org/crvs/registration_date> ],
        [ sh:class <https://publicschema.org/crvs/Marriage> ;
            sh:maxCount 1 ;
            sh:name "marriage_ref" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/marriage_ref> ],
        [ sh:datatype xsd:string ;
            sh:in ( "declared"^^xsd:string "pending_validation"^^xsd:string "registered"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "corrected"^^xsd:string "archived"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_status" ;
            sh:path <https://publicschema.org/crvs/registration_status> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "informant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/informant> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "registration_number" ;
            sh:path <https://publicschema.org/crvs/registration_number> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "judgment_date" ;
            sh:path <https://publicschema.org/crvs/judgment_date> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "judgment_reference" ;
            sh:path <https://publicschema.org/crvs/judgment_reference> ],
        [ sh:datatype xsd:string ;
            sh:in ( "current"^^xsd:string "late"^^xsd:string "court_ordered"^^xsd:string "reconstruction"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_type" ;
            sh:path <https://publicschema.org/crvs/registration_type> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "event_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/event_location> ],
        [ sh:class <https://publicschema.org/crvs/CRVSPerson> ;
            sh:maxCount 1 ;
            sh:name "party_2" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/party_2> ],
        [ sh:class <https://publicschema.org/crvs/CRVSPerson> ;
            sh:maxCount 1 ;
            sh:name "party_1" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/party_1> ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "event_date_estimated" ;
            sh:path <https://publicschema.org/crvs/event_date_estimated> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ] ;
    sh:targetClass <https://publicschema.org/crvs/Annulment> .

<https://publicschema.org/crvs/BirthShape> a sh:NodeShape ;
    rdfs:label "Birth shape" ;
    sh:property [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "event_date" ;
            sh:path <https://publicschema.org/crvs/event_date> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "informant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/informant> ],
        [ sh:datatype xsd:string ;
            sh:in ( "single"^^xsd:string "twin"^^xsd:string "triplet"^^xsd:string "quadruplet"^^xsd:string "quintuplet"^^xsd:string "higher_order"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "birth_type" ;
            sh:path <https://publicschema.org/crvs/birth_type> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "registration_date" ;
            sh:path <https://publicschema.org/crvs/registration_date> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "registration_number" ;
            sh:path <https://publicschema.org/crvs/registration_number> ],
        [ sh:datatype xsd:string ;
            sh:in ( "declared"^^xsd:string "pending_validation"^^xsd:string "registered"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "corrected"^^xsd:string "archived"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_status" ;
            sh:path <https://publicschema.org/crvs/registration_status> ],
        [ sh:datatype xsd:string ;
            sh:in ( "health_facility"^^xsd:string "home"^^xsd:string "en_route"^^xsd:string "other"^^xsd:string "unknown"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "place_type" ;
            sh:path <https://publicschema.org/crvs/place_type> ],
        [ sh:datatype xsd:string ;
            sh:in ( "physician"^^xsd:string "midwife"^^xsd:string "nurse"^^xsd:string "traditional_birth_attendant"^^xsd:string "other"^^xsd:string "none"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "attendant_at_birth" ;
            sh:path <https://publicschema.org/crvs/attendant_at_birth> ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "event_date_estimated" ;
            sh:path <https://publicschema.org/crvs/event_date_estimated> ],
        [ sh:class <https://publicschema.org/crvs/Parent> ;
            sh:name "parents" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/parents> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "registration_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registration_location> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "event_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/event_location> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "registrar" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registrar> ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "weight_at_birth" ;
            sh:path <https://publicschema.org/crvs/weight_at_birth> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "child" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/child> ],
        [ sh:datatype xsd:string ;
            sh:in ( "current"^^xsd:string "late"^^xsd:string "court_ordered"^^xsd:string "reconstruction"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_type" ;
            sh:path <https://publicschema.org/crvs/registration_type> ],
        [ sh:datatype xsd:string ;
            sh:in ( "not_known"^^xsd:string "male"^^xsd:string "female"^^xsd:string "not_applicable"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "sex_at_birth" ;
            sh:path <https://publicschema.org/crvs/sex_at_birth> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "nationality_at_birth" ;
            sh:path <https://publicschema.org/crvs/nationality_at_birth> ],
        [ sh:datatype xsd:integer ;
            sh:maxCount 1 ;
            sh:name "birth_order" ;
            sh:path <https://publicschema.org/crvs/birth_order> ] ;
    sh:targetClass <https://publicschema.org/crvs/Birth> .

<https://publicschema.org/crvs/CRVSPersonShape> a sh:NodeShape ;
    rdfs:label "CRVSPerson shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:in ( "literate"^^xsd:string "illiterate"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "literacy" ;
            sh:path ps:literacy ],
        [ sh:datatype xsd:string ;
            sh:in ( "early_childhood"^^xsd:string "primary"^^xsd:string "lower_secondary"^^xsd:string "upper_secondary"^^xsd:string "post_secondary_non_tertiary"^^xsd:string "short_cycle_tertiary"^^xsd:string "bachelor"^^xsd:string "master"^^xsd:string "doctoral"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "education_level" ;
            sh:path ps:education_level ],
        [ sh:datatype xsd:string ;
            sh:in ( "never_married"^^xsd:string "married"^^xsd:string "widowed"^^xsd:string "divorced"^^xsd:string "legally_separated"^^xsd:string "consensual_union"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "marital_status" ;
            sh:path ps:marital_status ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "occupation" ;
            sh:path ps:occupation ],
        [ sh:datatype xsd:string ;
            sh:in ( "employed"^^xsd:string "unemployed"^^xsd:string "outside_labour_force"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "employment_status" ;
            sh:path ps:employment_status ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "place_of_usual_residence" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/place_of_usual_residence> ],
        [ sh:datatype xsd:string ;
            sh:in ( "employee"^^xsd:string "employer"^^xsd:string "own_account_worker"^^xsd:string "contributing_family_worker"^^xsd:string "cooperative_member"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "status_in_employment" ;
            sh:path ps:status_in_employment ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "industry" ;
            sh:path ps:industry ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "ethnic_group" ;
            sh:path ps:ethnic_group ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "person" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:person ],
        [ sh:datatype xsd:integer ;
            sh:maxCount 1 ;
            sh:name "age_at_event" ;
            sh:path <https://publicschema.org/crvs/age_at_event> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "religion" ;
            sh:path ps:religion ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "nationality" ;
            sh:path ps:nationality ] ;
    sh:targetClass <https://publicschema.org/crvs/CRVSPerson> .

<https://publicschema.org/crvs/CertificateShape> a sh:NodeShape ;
    rdfs:label "Certificate shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:in ( "birth_certificate"^^xsd:string "death_certificate"^^xsd:string "marriage_certificate"^^xsd:string "divorce_certificate"^^xsd:string "adoption_certificate"^^xsd:string "annulment_certificate"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "certificate_document_type" ;
            sh:path <https://publicschema.org/crvs/certificate_document_type> ],
        [ sh:class <https://publicschema.org/crvs/VitalEvent> ;
            sh:maxCount 1 ;
            sh:name "vital_event" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/vital_event> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "issue_date" ;
            sh:path ps:issue_date ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "certificate_number" ;
            sh:path <https://publicschema.org/crvs/certificate_number> ],
        [ sh:datatype xsd:string ;
            sh:in ( "full_copy"^^xsd:string "extract"^^xsd:string "multilingual_extract"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "certificate_format" ;
            sh:path <https://publicschema.org/crvs/certificate_format> ],
        [ sh:class <https://publicschema.org/crvs/CivilStatusRecord> ;
            sh:maxCount 1 ;
            sh:name "civil_status_record" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/civil_status_record> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "issuing_office" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/issuing_office> ] ;
    sh:targetClass <https://publicschema.org/crvs/Certificate> .

<https://publicschema.org/crvs/CivilStatusAnnotationShape> a sh:NodeShape ;
    rdfs:label "CivilStatusAnnotation shape" ;
    sh:property [ sh:class <https://publicschema.org/crvs/CivilStatusRecord> ;
            sh:maxCount 1 ;
            sh:name "civil_status_record" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/civil_status_record> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "annotation_text" ;
            sh:path <https://publicschema.org/crvs/annotation_text> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "annotating_authority" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/annotating_authority> ],
        [ sh:datatype xsd:string ;
            sh:in ( "court_ordered_correction"^^xsd:string "nationality_change"^^xsd:string "name_change"^^xsd:string "gender_marker_change"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "annotation_type" ;
            sh:path <https://publicschema.org/crvs/annotation_type> ],
        [ sh:class <https://publicschema.org/crvs/VitalEvent> ;
            sh:maxCount 1 ;
            sh:name "triggering_event" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/triggering_event> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "annotation_date" ;
            sh:path <https://publicschema.org/crvs/annotation_date> ] ;
    sh:targetClass <https://publicschema.org/crvs/CivilStatusAnnotation> .

<https://publicschema.org/crvs/CivilStatusRecordShape> a sh:NodeShape ;
    rdfs:label "CivilStatusRecord shape" ;
    sh:property [ sh:class <https://publicschema.org/crvs/VitalEvent> ;
            sh:maxCount 1 ;
            sh:name "originating_event" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/originating_event> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "issuing_authority_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/issuing_authority_location> ],
        [ sh:class <https://publicschema.org/crvs/CivilStatusAnnotation> ;
            sh:name "annotations" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/annotations> ],
        [ sh:datatype xsd:string ;
            sh:in ( "birth"^^xsd:string "marriage"^^xsd:string "death"^^xsd:string "paternity_recognition"^^xsd:string "supplementary_judgment"^^xsd:string "court_ordered_substitute"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "record_type" ;
            sh:path <https://publicschema.org/crvs/record_type> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "person" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:person ] ;
    sh:targetClass <https://publicschema.org/crvs/CivilStatusRecord> .

<https://publicschema.org/crvs/DeathShape> a sh:NodeShape ;
    rdfs:label "Death shape" ;
    sh:property [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "informant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/informant> ],
        [ sh:class <https://publicschema.org/crvs/CRVSPerson> ;
            sh:maxCount 1 ;
            sh:name "deceased" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/deceased> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "cause_of_death_coding_system" ;
            sh:path <https://publicschema.org/crvs/cause_of_death_coding_system> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "event_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/event_location> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "medical_certifier" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/medical_certifier> ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "event_date_estimated" ;
            sh:path <https://publicschema.org/crvs/event_date_estimated> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "registrar" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registrar> ],
        [ sh:datatype xsd:string ;
            sh:in ( "physician_certified"^^xsd:string "verbal_autopsy"^^xsd:string "coroner"^^xsd:string "lay_reporting"^^xsd:string "other"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "cause_of_death_method" ;
            sh:path <https://publicschema.org/crvs/cause_of_death_method> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "registration_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registration_location> ],
        [ sh:datatype xsd:string ;
            sh:in ( "natural"^^xsd:string "accident"^^xsd:string "intentional_self_harm"^^xsd:string "assault"^^xsd:string "legal_intervention"^^xsd:string "war"^^xsd:string "pending_investigation"^^xsd:string "could_not_be_determined"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "manner_of_death" ;
            sh:path <https://publicschema.org/crvs/manner_of_death> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "registration_date" ;
            sh:path <https://publicschema.org/crvs/registration_date> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "cause_of_death_code" ;
            sh:path <https://publicschema.org/crvs/cause_of_death_code> ],
        [ sh:datatype xsd:string ;
            sh:in ( "current"^^xsd:string "late"^^xsd:string "court_ordered"^^xsd:string "reconstruction"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_type" ;
            sh:path <https://publicschema.org/crvs/registration_type> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:string ;
            sh:in ( "declared"^^xsd:string "pending_validation"^^xsd:string "registered"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "corrected"^^xsd:string "archived"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_status" ;
            sh:path <https://publicschema.org/crvs/registration_status> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "cause_of_death" ;
            sh:path <https://publicschema.org/crvs/cause_of_death> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "event_date" ;
            sh:path <https://publicschema.org/crvs/event_date> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "registration_number" ;
            sh:path <https://publicschema.org/crvs/registration_number> ],
        [ sh:datatype xsd:string ;
            sh:in ( "health_facility"^^xsd:string "home"^^xsd:string "en_route"^^xsd:string "other"^^xsd:string "unknown"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "place_type" ;
            sh:path <https://publicschema.org/crvs/place_type> ] ;
    sh:targetClass <https://publicschema.org/crvs/Death> .

<https://publicschema.org/crvs/DivorceShape> a sh:NodeShape ;
    rdfs:label "Divorce shape" ;
    sh:property [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "judgment_date" ;
            sh:path <https://publicschema.org/crvs/judgment_date> ],
        [ sh:class <https://publicschema.org/crvs/Marriage> ;
            sh:maxCount 1 ;
            sh:name "marriage_ref" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/marriage_ref> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "informant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/informant> ],
        [ sh:class <https://publicschema.org/crvs/CRVSPerson> ;
            sh:maxCount 1 ;
            sh:name "party_1" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/party_1> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "registration_number" ;
            sh:path <https://publicschema.org/crvs/registration_number> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "court" ;
            sh:path <https://publicschema.org/crvs/court> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "event_date" ;
            sh:path <https://publicschema.org/crvs/event_date> ],
        [ sh:datatype xsd:string ;
            sh:in ( "current"^^xsd:string "late"^^xsd:string "court_ordered"^^xsd:string "reconstruction"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_type" ;
            sh:path <https://publicschema.org/crvs/registration_type> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "event_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/event_location> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "judgment_reference" ;
            sh:path <https://publicschema.org/crvs/judgment_reference> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "registration_date" ;
            sh:path <https://publicschema.org/crvs/registration_date> ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "event_date_estimated" ;
            sh:path <https://publicschema.org/crvs/event_date_estimated> ],
        [ sh:class <https://publicschema.org/crvs/CRVSPerson> ;
            sh:maxCount 1 ;
            sh:name "party_2" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/party_2> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "registration_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registration_location> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "registrar" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registrar> ],
        [ sh:datatype xsd:string ;
            sh:in ( "declared"^^xsd:string "pending_validation"^^xsd:string "registered"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "corrected"^^xsd:string "archived"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_status" ;
            sh:path <https://publicschema.org/crvs/registration_status> ] ;
    sh:targetClass <https://publicschema.org/crvs/Divorce> .

<https://publicschema.org/crvs/FamilyRegisterShape> a sh:NodeShape ;
    rdfs:label "FamilyRegister shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "register_number" ;
            sh:path <https://publicschema.org/crvs/register_number> ],
        [ sh:class ps:Group ;
            sh:maxCount 1 ;
            sh:name "family" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/family> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "register_authority" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/register_authority> ],
        [ sh:datatype xsd:string ;
            sh:in ( "active"^^xsd:string "closed"^^xsd:string "split"^^xsd:string "merged"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "family_register_status" ;
            sh:path <https://publicschema.org/crvs/family_register_status> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "head_of_household" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/head_of_household> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "creation_date" ;
            sh:path <https://publicschema.org/crvs/creation_date> ] ;
    sh:targetClass <https://publicschema.org/crvs/FamilyRegister> .

<https://publicschema.org/crvs/FetalDeathShape> a sh:NodeShape ;
    rdfs:label "FetalDeath shape" ;
    sh:property [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "registration_date" ;
            sh:path <https://publicschema.org/crvs/registration_date> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "cause_of_fetal_death_coding_system" ;
            sh:path <https://publicschema.org/crvs/cause_of_fetal_death_coding_system> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "registrar" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registrar> ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "event_date_estimated" ;
            sh:path <https://publicschema.org/crvs/event_date_estimated> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "registration_number" ;
            sh:path <https://publicschema.org/crvs/registration_number> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "event_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/event_location> ],
        [ sh:datatype xsd:string ;
            sh:in ( "physician"^^xsd:string "midwife"^^xsd:string "nurse"^^xsd:string "traditional_birth_attendant"^^xsd:string "other"^^xsd:string "none"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "attendant_at_birth" ;
            sh:path <https://publicschema.org/crvs/attendant_at_birth> ],
        [ sh:datatype xsd:string ;
            sh:in ( "current"^^xsd:string "late"^^xsd:string "court_ordered"^^xsd:string "reconstruction"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_type" ;
            sh:path <https://publicschema.org/crvs/registration_type> ],
        [ sh:class <https://publicschema.org/crvs/Parent> ;
            sh:name "parents" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/parents> ],
        [ sh:datatype xsd:string ;
            sh:in ( "declared"^^xsd:string "pending_validation"^^xsd:string "registered"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "corrected"^^xsd:string "archived"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_status" ;
            sh:path <https://publicschema.org/crvs/registration_status> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "informant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/informant> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "cause_of_fetal_death" ;
            sh:path <https://publicschema.org/crvs/cause_of_fetal_death> ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "weight" ;
            sh:path <https://publicschema.org/crvs/weight> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "event_date" ;
            sh:path <https://publicschema.org/crvs/event_date> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "cause_of_fetal_death_code" ;
            sh:path <https://publicschema.org/crvs/cause_of_fetal_death_code> ],
        [ sh:datatype xsd:string ;
            sh:in ( "health_facility"^^xsd:string "home"^^xsd:string "en_route"^^xsd:string "other"^^xsd:string "unknown"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "place_type" ;
            sh:path <https://publicschema.org/crvs/place_type> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "medical_certifier" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/medical_certifier> ],
        [ sh:datatype xsd:integer ;
            sh:maxCount 1 ;
            sh:name "gestational_age" ;
            sh:path <https://publicschema.org/crvs/gestational_age> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "registration_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registration_location> ] ;
    sh:targetClass <https://publicschema.org/crvs/FetalDeath> .

<https://publicschema.org/crvs/LegitimationShape> a sh:NodeShape ;
    rdfs:label "Legitimation shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "registration_number" ;
            sh:path <https://publicschema.org/crvs/registration_number> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "judgment_date" ;
            sh:path <https://publicschema.org/crvs/judgment_date> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "child" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/child> ],
        [ sh:class <https://publicschema.org/crvs/Birth> ;
            sh:maxCount 1 ;
            sh:name "birth_ref" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/birth_ref> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "event_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/event_location> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "registration_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registration_location> ],
        [ sh:datatype xsd:string ;
            sh:in ( "current"^^xsd:string "late"^^xsd:string "court_ordered"^^xsd:string "reconstruction"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_type" ;
            sh:path <https://publicschema.org/crvs/registration_type> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "informant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/informant> ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "event_date_estimated" ;
            sh:path <https://publicschema.org/crvs/event_date_estimated> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "event_date" ;
            sh:path <https://publicschema.org/crvs/event_date> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "judgment_reference" ;
            sh:path <https://publicschema.org/crvs/judgment_reference> ],
        [ sh:datatype xsd:string ;
            sh:in ( "declared"^^xsd:string "pending_validation"^^xsd:string "registered"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "corrected"^^xsd:string "archived"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_status" ;
            sh:path <https://publicschema.org/crvs/registration_status> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "registrar" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registrar> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "court" ;
            sh:path <https://publicschema.org/crvs/court> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "registration_date" ;
            sh:path <https://publicschema.org/crvs/registration_date> ],
        [ sh:class <https://publicschema.org/crvs/Parent> ;
            sh:name "parents" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/parents> ] ;
    sh:targetClass <https://publicschema.org/crvs/Legitimation> .

<https://publicschema.org/crvs/MarriageShape> a sh:NodeShape ;
    rdfs:label "Marriage shape" ;
    sh:property [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "registrar" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registrar> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "registration_number" ;
            sh:path <https://publicschema.org/crvs/registration_number> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "registration_date" ;
            sh:path <https://publicschema.org/crvs/registration_date> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:string ;
            sh:in ( "declared"^^xsd:string "pending_validation"^^xsd:string "registered"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "corrected"^^xsd:string "archived"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_status" ;
            sh:path <https://publicschema.org/crvs/registration_status> ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "event_date_estimated" ;
            sh:path <https://publicschema.org/crvs/event_date_estimated> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "event_date" ;
            sh:path <https://publicschema.org/crvs/event_date> ],
        [ sh:class ps:Person ;
            sh:name "witnesses" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/witnesses> ],
        [ sh:class <https://publicschema.org/crvs/CRVSPerson> ;
            sh:maxCount 1 ;
            sh:name "party_1" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/party_1> ],
        [ sh:datatype xsd:string ;
            sh:in ( "current"^^xsd:string "late"^^xsd:string "court_ordered"^^xsd:string "reconstruction"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_type" ;
            sh:path <https://publicschema.org/crvs/registration_type> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "informant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/informant> ],
        [ sh:datatype xsd:string ;
            sh:in ( "civil"^^xsd:string "religious"^^xsd:string "customary"^^xsd:string "common_law"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "type_of_marriage" ;
            sh:path <https://publicschema.org/crvs/type_of_marriage> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "event_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/event_location> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "registration_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registration_location> ],
        [ sh:class <https://publicschema.org/crvs/CRVSPerson> ;
            sh:maxCount 1 ;
            sh:name "party_2" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/party_2> ] ;
    sh:targetClass <https://publicschema.org/crvs/Marriage> .

<https://publicschema.org/crvs/MarriageTerminationShape> a sh:NodeShape ;
    rdfs:label "MarriageTermination shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "judgment_reference" ;
            sh:path <https://publicschema.org/crvs/judgment_reference> ],
        [ sh:datatype xsd:string ;
            sh:in ( "current"^^xsd:string "late"^^xsd:string "court_ordered"^^xsd:string "reconstruction"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_type" ;
            sh:path <https://publicschema.org/crvs/registration_type> ],
        [ sh:class <https://publicschema.org/crvs/CRVSPerson> ;
            sh:maxCount 1 ;
            sh:name "party_1" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/party_1> ],
        [ sh:class <https://publicschema.org/crvs/CRVSPerson> ;
            sh:maxCount 1 ;
            sh:name "party_2" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/party_2> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "registrar" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registrar> ],
        [ sh:datatype xsd:string ;
            sh:in ( "declared"^^xsd:string "pending_validation"^^xsd:string "registered"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "corrected"^^xsd:string "archived"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_status" ;
            sh:path <https://publicschema.org/crvs/registration_status> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "court" ;
            sh:path <https://publicschema.org/crvs/court> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "judgment_date" ;
            sh:path <https://publicschema.org/crvs/judgment_date> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "event_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/event_location> ],
        [ sh:class <https://publicschema.org/crvs/Marriage> ;
            sh:maxCount 1 ;
            sh:name "marriage_ref" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/marriage_ref> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "registration_date" ;
            sh:path <https://publicschema.org/crvs/registration_date> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "informant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/informant> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "event_date_estimated" ;
            sh:path <https://publicschema.org/crvs/event_date_estimated> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "registration_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registration_location> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "event_date" ;
            sh:path <https://publicschema.org/crvs/event_date> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "registration_number" ;
            sh:path <https://publicschema.org/crvs/registration_number> ] ;
    sh:targetClass <https://publicschema.org/crvs/MarriageTermination> .

<https://publicschema.org/crvs/ParentShape> a sh:NodeShape ;
    rdfs:label "Parent shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:in ( "biological_mother"^^xsd:string "biological_father"^^xsd:string "legal_mother"^^xsd:string "legal_father"^^xsd:string "adoptive_mother"^^xsd:string "adoptive_father"^^xsd:string "surrogate_mother"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "parental_role" ;
            sh:path <https://publicschema.org/crvs/parental_role> ],
        [ sh:datatype xsd:string ;
            sh:in ( "literate"^^xsd:string "illiterate"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "literacy" ;
            sh:path ps:literacy ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "nationality" ;
            sh:path ps:nationality ],
        [ sh:datatype xsd:integer ;
            sh:maxCount 1 ;
            sh:name "age_at_event" ;
            sh:path <https://publicschema.org/crvs/age_at_event> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "place_of_usual_residence" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/place_of_usual_residence> ],
        [ sh:datatype xsd:string ;
            sh:in ( "employee"^^xsd:string "employer"^^xsd:string "own_account_worker"^^xsd:string "contributing_family_worker"^^xsd:string "cooperative_member"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "status_in_employment" ;
            sh:path ps:status_in_employment ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "religion" ;
            sh:path ps:religion ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "occupation" ;
            sh:path ps:occupation ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "person" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:person ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "industry" ;
            sh:path ps:industry ],
        [ sh:datatype xsd:string ;
            sh:in ( "employed"^^xsd:string "unemployed"^^xsd:string "outside_labour_force"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "employment_status" ;
            sh:path ps:employment_status ],
        [ sh:datatype xsd:string ;
            sh:in ( "early_childhood"^^xsd:string "primary"^^xsd:string "lower_secondary"^^xsd:string "upper_secondary"^^xsd:string "post_secondary_non_tertiary"^^xsd:string "short_cycle_tertiary"^^xsd:string "bachelor"^^xsd:string "master"^^xsd:string "doctoral"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "education_level" ;
            sh:path ps:education_level ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "ethnic_group" ;
            sh:path ps:ethnic_group ],
        [ sh:datatype xsd:string ;
            sh:in ( "never_married"^^xsd:string "married"^^xsd:string "widowed"^^xsd:string "divorced"^^xsd:string "legally_separated"^^xsd:string "consensual_union"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "marital_status" ;
            sh:path ps:marital_status ] ;
    sh:targetClass <https://publicschema.org/crvs/Parent> .

<https://publicschema.org/crvs/PaternityRecognitionShape> a sh:NodeShape ;
    rdfs:label "PaternityRecognition shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "judgment_reference" ;
            sh:path <https://publicschema.org/crvs/judgment_reference> ],
        [ sh:class <https://publicschema.org/crvs/Birth> ;
            sh:maxCount 1 ;
            sh:name "birth_ref" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/birth_ref> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "judgment_date" ;
            sh:path <https://publicschema.org/crvs/judgment_date> ],
        [ sh:class <https://publicschema.org/crvs/Parent> ;
            sh:maxCount 1 ;
            sh:name "recognizing_parent" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/recognizing_parent> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "registration_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registration_location> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "registration_number" ;
            sh:path <https://publicschema.org/crvs/registration_number> ],
        [ sh:datatype xsd:string ;
            sh:in ( "current"^^xsd:string "late"^^xsd:string "court_ordered"^^xsd:string "reconstruction"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_type" ;
            sh:path <https://publicschema.org/crvs/registration_type> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "informant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/informant> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "event_date" ;
            sh:path <https://publicschema.org/crvs/event_date> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:class <https://publicschema.org/crvs/Parent> ;
            sh:maxCount 1 ;
            sh:name "mother" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/mother> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "registrar" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registrar> ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "event_date_estimated" ;
            sh:path <https://publicschema.org/crvs/event_date_estimated> ],
        [ sh:datatype xsd:string ;
            sh:in ( "declared"^^xsd:string "pending_validation"^^xsd:string "registered"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "corrected"^^xsd:string "archived"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_status" ;
            sh:path <https://publicschema.org/crvs/registration_status> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "child" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/child> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "registration_date" ;
            sh:path <https://publicschema.org/crvs/registration_date> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "court" ;
            sh:path <https://publicschema.org/crvs/court> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "event_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/event_location> ] ;
    sh:targetClass <https://publicschema.org/crvs/PaternityRecognition> .

<https://publicschema.org/crvs/VitalEventShape> a sh:NodeShape ;
    rdfs:label "VitalEvent shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:in ( "declared"^^xsd:string "pending_validation"^^xsd:string "registered"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "corrected"^^xsd:string "archived"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_status" ;
            sh:path <https://publicschema.org/crvs/registration_status> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "registration_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registration_location> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "registration_number" ;
            sh:path <https://publicschema.org/crvs/registration_number> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "registration_date" ;
            sh:path <https://publicschema.org/crvs/registration_date> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "event_date" ;
            sh:path <https://publicschema.org/crvs/event_date> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "registrar" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/registrar> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "informant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/informant> ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "event_date_estimated" ;
            sh:path <https://publicschema.org/crvs/event_date_estimated> ],
        [ sh:datatype xsd:string ;
            sh:in ( "current"^^xsd:string "late"^^xsd:string "court_ordered"^^xsd:string "reconstruction"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "registration_type" ;
            sh:path <https://publicschema.org/crvs/registration_type> ],
        [ sh:class ps:Location ;
            sh:maxCount 1 ;
            sh:name "event_location" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/crvs/event_location> ] ;
    sh:targetClass <https://publicschema.org/crvs/VitalEvent> .

<https://publicschema.org/sp/AssessmentEventShape> a sh:NodeShape ;
    rdfs:label "AssessmentEvent shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "framework_used" ;
            sh:path <https://publicschema.org/sp/framework_used> ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "raw_score" ;
            sh:path <https://publicschema.org/sp/raw_score> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "assessed_entity" ;
            sh:path <https://publicschema.org/sp/assessed_entity> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "assessor" ;
            sh:path <https://publicschema.org/sp/assessor> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "assessment_date" ;
            sh:path ps:assessment_date ] ;
    sh:targetClass <https://publicschema.org/sp/AssessmentEvent> .

<https://publicschema.org/sp/AssessmentFrameworkShape> a sh:NodeShape ;
    rdfs:label "AssessmentFramework shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "name" ;
            sh:path ps:name ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "scoring_method" ;
            sh:path <https://publicschema.org/sp/scoring_method> ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "cutoff_score" ;
            sh:path <https://publicschema.org/sp/cutoff_score> ],
        [ sh:datatype xsd:string ;
            sh:name "data_sources" ;
            sh:path ps:data_sources ] ;
    sh:targetClass <https://publicschema.org/sp/AssessmentFramework> .

<https://publicschema.org/sp/BenefitScheduleShape> a sh:NodeShape ;
    rdfs:label "BenefitSchedule shape" ;
    sh:property [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "end_date" ;
            sh:path ps:end_date ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "benefit_description" ;
            sh:path <https://publicschema.org/sp/benefit_description> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "currency" ;
            sh:path ps:currency ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "frequency_rule" ;
            sh:path ps:frequency_rule ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "amount" ;
            sh:path ps:amount ],
        [ sh:datatype xsd:string ;
            sh:in ( "one_time"^^xsd:string "daily"^^xsd:string "weekly"^^xsd:string "every_two_weeks"^^xsd:string "monthly"^^xsd:string "quarterly"^^xsd:string "semi_annually"^^xsd:string "annually"^^xsd:string "as_needed"^^xsd:string "custom"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "frequency" ;
            sh:path ps:frequency ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "start_date" ;
            sh:path ps:start_date ],
        [ sh:maxCount 1 ;
            sh:name "program_ref" ;
            sh:nodeKind sh:IRI ;
            sh:path <https://publicschema.org/sp/program_ref> ],
        [ sh:datatype xsd:string ;
            sh:in ( "cash"^^xsd:string "voucher"^^xsd:string "in_kind"^^xsd:string "service"^^xsd:string "fee_waiver"^^xsd:string "insurance"^^xsd:string ) ;
            sh:name "benefit_modality" ;
            sh:path <https://publicschema.org/sp/benefit_modality> ] ;
    sh:targetClass <https://publicschema.org/sp/BenefitSchedule> .

<https://publicschema.org/sp/EligibilityDecisionShape> a sh:NodeShape ;
    rdfs:label "EligibilityDecision shape" ;
    sh:property [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "applicant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:applicant ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "decision_basis" ;
            sh:path ps:decision_basis ],
        [ sh:datatype xsd:string ;
            sh:in ( "eligible"^^xsd:string "ineligible"^^xsd:string "pending"^^xsd:string "under_review"^^xsd:string "conditional"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "eligibility_status" ;
            sh:path ps:eligibility_status ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "decision_date" ;
            sh:path ps:decision_date ],
        [ sh:maxCount 1 ;
            sh:name "program_ref" ;
            sh:nodeKind sh:IRI ;
            sh:path <https://publicschema.org/sp/program_ref> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "valid_until" ;
            sh:path ps:valid_until ] ;
    sh:targetClass <https://publicschema.org/sp/EligibilityDecision> .

<https://publicschema.org/sp/EnrollmentShape> a sh:NodeShape ;
    rdfs:label "Enrollment shape" ;
    sh:property [ sh:maxCount 1 ;
            sh:name "eligibility_decision_ref" ;
            sh:nodeKind sh:IRI ;
            sh:path <https://publicschema.org/sp/eligibility_decision_ref> ],
        [ sh:datatype xsd:string ;
            sh:in ( "waitlisted"^^xsd:string "active"^^xsd:string "suspended"^^xsd:string "closed"^^xsd:string "pending_verification"^^xsd:string "graduated"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "enrollment_status" ;
            sh:path ps:enrollment_status ],
        [ sh:maxCount 1 ;
            sh:name "program_ref" ;
            sh:nodeKind sh:IRI ;
            sh:path <https://publicschema.org/sp/program_ref> ],
        [ sh:datatype xsd:string ;
            sh:in ( "voluntary_withdrawal"^^xsd:string "non_compliance"^^xsd:string "ineligibility"^^xsd:string "death"^^xsd:string "program_end"^^xsd:string "relocation"^^xsd:string "duplicate"^^xsd:string "administrative"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "exit_reason" ;
            sh:path ps:exit_reason ],
        [ sh:class ps:Party ;
            sh:maxCount 1 ;
            sh:name "beneficiary" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:beneficiary ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "governing_jurisdiction" ;
            sh:path <https://publicschema.org/sp/governing_jurisdiction> ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:name "is_enrolled" ;
            sh:path <https://publicschema.org/sp/is_enrolled> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "exit_date" ;
            sh:path ps:exit_date ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "enrollment_date" ;
            sh:path ps:enrollment_date ] ;
    sh:targetClass <https://publicschema.org/sp/Enrollment> .

<https://publicschema.org/sp/EntitlementShape> a sh:NodeShape ;
    rdfs:label "Entitlement shape" ;
    sh:property [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "coverage_period_start" ;
            sh:path <https://publicschema.org/sp/coverage_period_start> ],
        [ sh:datatype xsd:string ;
            sh:in ( "cash"^^xsd:string "voucher"^^xsd:string "in_kind"^^xsd:string "service"^^xsd:string "fee_waiver"^^xsd:string "insurance"^^xsd:string ) ;
            sh:name "benefit_modality" ;
            sh:path <https://publicschema.org/sp/benefit_modality> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "currency" ;
            sh:path ps:currency ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "benefit_description" ;
            sh:path <https://publicschema.org/sp/benefit_description> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "coverage_period_end" ;
            sh:path <https://publicschema.org/sp/coverage_period_end> ],
        [ sh:maxCount 1 ;
            sh:name "schedule_ref" ;
            sh:nodeKind sh:IRI ;
            sh:path <https://publicschema.org/sp/schedule_ref> ],
        [ sh:maxCount 1 ;
            sh:name "enrollment_ref" ;
            sh:nodeKind sh:IRI ;
            sh:path ps:enrollment_ref ],
        [ sh:datatype xsd:decimal ;
            sh:maxCount 1 ;
            sh:name "amount" ;
            sh:path ps:amount ],
        [ sh:datatype xsd:string ;
            sh:in ( "pending"^^xsd:string "approved"^^xsd:string "suspended"^^xsd:string "rejected"^^xsd:string "cancelled"^^xsd:string "expired"^^xsd:string "partially_fulfilled"^^xsd:string "fulfilled"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "entitlement_status" ;
            sh:path <https://publicschema.org/sp/entitlement_status> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "document_expiry_date" ;
            sh:path <https://publicschema.org/sp/document_expiry_date> ] ;
    sh:targetClass <https://publicschema.org/sp/Entitlement> .

<https://publicschema.org/sp/GrievanceShape> a sh:NodeShape ;
    rdfs:label "Grievance shape" ;
    sh:property [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "resolution_date" ;
            sh:path ps:resolution_date ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "grievance_subject" ;
            sh:path <https://publicschema.org/sp/grievance_subject> ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "complainant" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/sp/complainant> ],
        [ sh:datatype xsd:string ;
            sh:in ( "exclusion_error"^^xsd:string "inclusion_error"^^xsd:string "payment_complaint"^^xsd:string "data_correction"^^xsd:string "appeal"^^xsd:string "service_quality"^^xsd:string "misconduct"^^xsd:string "information_request"^^xsd:string "other"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "grievance_type" ;
            sh:path <https://publicschema.org/sp/grievance_type> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "submission_date" ;
            sh:path ps:submission_date ],
        [ sh:datatype xsd:string ;
            sh:in ( "submitted"^^xsd:string "under_review"^^xsd:string "resolved"^^xsd:string "closed"^^xsd:string "escalated"^^xsd:string "rejected"^^xsd:string "withdrawn"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "grievance_status" ;
            sh:path <https://publicschema.org/sp/grievance_status> ] ;
    sh:targetClass <https://publicschema.org/sp/Grievance> .

<https://publicschema.org/sp/ProgramShape> a sh:NodeShape ;
    rdfs:label "Program shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:in ( "unconditional"^^xsd:string "conditional"^^xsd:string "soft_conditional"^^xsd:string "labelled"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "conditionality_type" ;
            sh:path <https://publicschema.org/sp/conditionality_type> ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "implementing_agency" ;
            sh:path <https://publicschema.org/sp/implementing_agency> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "start_date" ;
            sh:path ps:start_date ],
        [ sh:class ps:GeographicArea ;
            sh:maxCount 1 ;
            sh:name "coverage_area" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path <https://publicschema.org/sp/coverage_area> ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "end_date" ;
            sh:path ps:end_date ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "name" ;
            sh:path ps:name ],
        [ sh:datatype xsd:string ;
            sh:in ( "means_tested"^^xsd:string "proxy_means_tested"^^xsd:string "categorical"^^xsd:string "geographic"^^xsd:string "universal"^^xsd:string "community_based"^^xsd:string "self_targeting"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "targeting_approach" ;
            sh:path <https://publicschema.org/sp/targeting_approach> ] ;
    sh:targetClass <https://publicschema.org/sp/Program> .

<https://publicschema.org/sp/ReferralShape> a sh:NodeShape ;
    rdfs:label "Referral shape" ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "referring_program" ;
            sh:path ps:referring_program ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "receiving_program" ;
            sh:path ps:receiving_program ],
        [ sh:datatype xsd:string ;
            sh:in ( "pending"^^xsd:string "accepted"^^xsd:string "declined"^^xsd:string "completed"^^xsd:string "cancelled"^^xsd:string "expired"^^xsd:string ) ;
            sh:maxCount 1 ;
            sh:name "referral_status" ;
            sh:path ps:referral_status ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "record_id" ;
            sh:path ps:record_id ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:name "referral_reason" ;
            sh:path ps:referral_reason ],
        [ sh:datatype xsd:date ;
            sh:maxCount 1 ;
            sh:name "referral_date" ;
            sh:path ps:referral_date ],
        [ sh:class ps:Person ;
            sh:maxCount 1 ;
            sh:name "referred_person" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:path ps:referred_person ] ;
    sh:targetClass <https://publicschema.org/sp/Referral> .

