@prefix sh: . @prefix rdf: . @prefix rdfs: . @prefix dct: . @prefix pper: . @prefix egov: . @prefix fin: . @prefix kdp: . @prefix loca: . @prefix skos: . @prefix xsd: . @prefix schema: . @prefix dcat: . @prefix sha-rfo: . @prefix sha-egov: . @prefix sha-loca: . @prefix sha-generic: . sha-rfo:PhysicalPersonShape a sh:NodeShape ; kdp:xmlElementName "PhysicalPerson" ; sh:targetClass pper:PhysicalPerson ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:property sha-rfo:PhysicalPersonShape-givenName , sha-rfo:PhysicalPersonShape-prefferedGivenName , sha-rfo:PhysicalPersonShape-familyName , sha-rfo:PhysicalPersonShape-alternativeName , sha-rfo:PhysicalPersonShape-formattedName , sha-rfo:PhysicalPersonShape-legalName , sha-rfo:PhysicalPersonShape-otherName , sha-rfo:PhysicalPersonShape-birth , sha-rfo:PhysicalPersonShape-death , sha-rfo:PhysicalPersonShape-birthNumber , sha-rfo:PhysicalPersonShape-sex , sha-rfo:PhysicalPersonShape-maritalStatus , sha-rfo:PhysicalPersonShape-maritalStatusType , sha-rfo:PhysicalPersonShape-existentialStatus , sha-rfo:PhysicalPersonShape-existentialStatusType , sha-rfo:PhysicalPersonShape-civilDisability , sha-rfo:PhysicalPersonShape-civilDisabilityType , sha-rfo:PhysicalPersonShape-residence , sha-rfo:PhysicalPersonShape-occupationBan , sha-rfo:PhysicalPersonShape-residenceBan , sha-rfo:PhysicalPersonShape-citizenship , sha-rfo:PhysicalPersonShape-nationality , sha-rfo:PhysicalPersonShape-confessionType , sha-rfo:PhysicalPersonShape-occupationName , sha-rfo:PhysicalPersonShape-namePrefix , sha-rfo:PhysicalPersonShape-nameSuffix , sha-rfo:PhysicalPersonShape-personRelationship , sha-rfo:PhysicalPersonShape-identifier , sha-rfo:PhysicalPersonShape-recordIdentifier . # givenName sha-rfo:PhysicalPersonShape-givenName a sh:PropertyShape ; kdp:xmlElementName "GivenName" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:givenName ; sh:or ( [ sh:datatype xsd:string ; sh:minLength 1 ; sh:maxLength 255 ; ] [ sh:node sha-generic:RdfListOfStrigsShape ; ] ). # prefferedGivenName sha-rfo:PhysicalPersonShape-prefferedGivenName a sh:PropertyShape ; kdp:xmlElementName "PrefferedGivenName" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:prefferedGivenName ; sh:datatype xsd:string ; sh:minLength 1 ; sh:maxLength 255 . # familyName sha-rfo:PhysicalPersonShape-familyName a sh:PropertyShape ; kdp:xmlElementName "FamilyName" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:familyName ; sh:datatype xsd:string ; sh:minLength 1 ; sh:maxLength 255 . # alternativeName sha-rfo:PhysicalPersonShape-alternativeName a sh:PropertyShape ; kdp:xmlElementName "AlternativeName" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:alternativeName ; sh:datatype xsd:string ; sh:minLength 1 ; sh:maxLength 255 . # formattedName sha-rfo:PhysicalPersonShape-formattedName a sh:PropertyShape ; kdp:xmlElementName "FormattedName" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:formattedName ; sh:datatype xsd:string ; sh:minLength 1 ; sh:maxLength 1023 . # legalName sha-rfo:PhysicalPersonShape-legalName a sh:PropertyShape ; kdp:xmlElementName "LegalName" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:legalName ; sh:datatype xsd:string ; sh:minLength 1 ; sh:maxLength 1023 . # otherName sha-rfo:PhysicalPersonShape-otherName a sh:PropertyShape ; kdp:xmlElementName "OtherName" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:otherName ; sh:datatype xsd:string ; sh:minLength 1 ; sh:maxLength 1023 . # birth sha-rfo:PhysicalPersonShape-birth a sh:PropertyShape ; kdp:xmlElementName "Birth" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:birth ; sh:class pper:Birth ; sh:nodeKind sh:BlankNodeOrIRI ; sh:maxCount 1 . sha-rfo:BirthShape a sh:NodeShape ; rdfs:isDefinedBy sha-rfo:2025b ; sh:targetClass pper:Birth ; dct:subject ; sh:property sha-rfo:BirthShape-dateOfBirth , sha-rfo:BirthShape-yearOfBirth , sha-rfo:BirthShape-yearAndMonthOfBirth , sha-rfo:BirthShape-givenFamilyName , sha-rfo:BirthShape-placeOfBirth . sha-rfo:BirthShape-dateOfBirth a sh:PropertyShape ; kdp:xmlElementName "DateOfBirth" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:dateOfBirth ; sh:datatype xsd:date ; sh:maxCount 1 . sha-rfo:BirthShape-yearOfBirth a sh:PropertyShape ; kdp:xmlElementName "YearOfBirth" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:yearOfBirth ; sh:datatype xsd:gYear ; sh:maxCount 1 . sha-rfo:BirthShape-yearAndMonthOfBirth a sh:PropertyShape ; kdp:xmlElementName "YearAndMonthOfBirth" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:yearAndMonthOfBirth ; sh:datatype xsd:gYearMonth ; sh:maxCount 1 . # givenFamilyName sha-rfo:BirthShape-givenFamilyName a sh:PropertyShape ; kdp:xmlElementName "GivenFamilyName" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:givenFamilyName ; sh:datatype xsd:string ; sh:minLength 1 ; sh:maxLength 255 . sha-rfo:BirthShape-placeOfBirth a sh:PropertyShape ; kdp:xmlElementName "PlaceOfBirth" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:placeOfBirth ; sh:class loca:Location ; sh:nodeKind sh:BlankNodeOrIRI ; sh:maxCount 1 . # death sha-rfo:PhysicalPersonShape-death a sh:PropertyShape ; kdp:xmlElementName "Death" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:death ; sh:class pper:Death ; sh:nodeKind sh:BlankNodeOrIRI ; sh:maxCount 1 . sha-rfo:DeathShape a sh:NodeShape ; rdfs:isDefinedBy sha-rfo:2025b ; sh:targetClass pper:Death ; dct:subject ; sh:property sha-rfo:DeathShape-dateOfDeath , sha-rfo:DeathShape-yearOfDeath , sha-rfo:DeathShape-yearAndMonthOfDeath , sha-rfo:DeathShape-placeOfDeath . sha-rfo:DeathShape-dateOfDeath a sh:PropertyShape ; kdp:xmlElementName "DateOfDeath" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:dateOfDeath ; sh:datatype xsd:date ; sh:maxCount 1 . sha-rfo:DeathShape-yearOfDeath a sh:PropertyShape ; kdp:xmlElementName "YearOfDeath" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:yearOfDeath ; sh:datatype xsd:gYear ; sh:maxCount 1 . sha-rfo:DeathShape-yearAndMonthOfDeath a sh:PropertyShape ; kdp:xmlElementName "YearAndMonthOfDeath" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:yearAndMonthOfDeath ; sh:datatype xsd:gYearMonth ; sh:maxCount 1 . sha-rfo:DeathShape-placeOfDeath a sh:PropertyShape ; kdp:xmlElementName "PlaceOfDeath" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:placeOfDeath ; sh:class loca:Location ; sh:nodeKind sh:BlankNodeOrIRI ; sh:maxCount 1 . # birthNumber sha-rfo:PhysicalPersonShape-birthNumber a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:birthNumber ; sh:class pper:BirthNumber ; sh:nodeKind sh:BlankNodeOrIRI ; sh:maxCount 1 . sha-rfo:BirthNumberShape a sh:NodeShape ; rdfs:isDefinedBy sha-rfo:2025b ; sh:targetClass pper:BirthNumber ; dct:subject ; sh:property sha-rfo:BirthNumberShape-birthNumberCode . sha-rfo:BirthNumberShape-birthNumberCode a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; kdp:xmlElementName "BirthNumber" ; sh:path pper:birthNumberCode ; sh:datatype xsd:string ; sh:pattern "[0-9]{6}/[0-9]{3,4}" ; sh:minCount 1 ; sh:maxCount 1 . # sex sha-rfo:PhysicalPersonShape-sex a sh:PropertyShape ; kdp:xmlElementName "Sex" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:sex ; sh:class pper:Sex ; sh:nodeKind sh:IRI ; sh:maxCount 1 . sha-rfo:SexShape a sh:NodeShape ; rdfs:isDefinedBy sha-rfo:2025b ; sh:targetClass pper:Sex ; dct:subject ; dct:source . # maritalStatus sha-rfo:PhysicalPersonShape-maritalStatus a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:maritalStatus ; sh:class pper:MaritalStatus ; sh:nodeKind sh:BlankNodeOrIRI ; sh:maxCount 1 . sha-rfo:MaritalStatusShape a sh:NodeShape ; rdfs:isDefinedBy sha-rfo:2025b ; sh:targetClass pper:MaritalStatus ; dct:subject ; sh:property sha-egov:ThingWithValidity-timeValidity , sha-rfo:MaritalStatus-type . # maritalStatusType sha-rfo:MaritalStatus-type a sh:PropertyShape ; kdp:xmlElementName "MaritalStatus" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path dct:type ; sh:class pper:MaritalStatusType ; sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 . sha-rfo:MaritalStatusTypeShape a sh:NodeShape ; sh:targetClass pper:MaritalStatusType ; dct:subject ; dct:source ; rdfs:isDefinedBy sha-rfo:2025b . # marritalStatusType sha-rfo:PhysicalPersonShape-maritalStatusType a sh:PropertyShape ; kdp:xmlElementName "MaritalStatus" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:maritalStatusType ; sh:class pper:MaritalStatusType ; sh:nodeKind sh:IRI ; sh:maxCount 1 . # existentialStatus sha-rfo:PhysicalPersonShape-existentialStatus a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:existentialStatus ; sh:class pper:ExistentialStatus ; sh:nodeKind sh:BlankNodeOrIRI ; sh:maxCount 1 . sha-rfo:ExistentialStatus a sh:NodeShape ; sh:targetClass pper:ExistentialStatus ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:property sha-egov:ThingWithValidity-timeValidity , sha-rfo:ExistentialStatus-type . sha-rfo:ExistentialStatus-type a sh:PropertyShape ; kdp:xmlElementName "PersonStatus" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path dct:type ; sh:class pper:ExistentialStatusType ; sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 . sha-rfo:ExistentialStatusTypeShape a sh:NodeShape ; rdfs:isDefinedBy sha-rfo:2025b ; sh:targetClass pper:ExistentialStatusType ; dct:subject ; dct:source . # existentialStatusType sha-rfo:PhysicalPersonShape-existentialStatusType a sh:PropertyShape ; kdp:xmlElementName "PersonStatus" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:existentialStatusType ; sh:class pper:ExistentialStatusType ; sh:nodeKind sh:IRI ; sh:maxCount 1 . # civilDisability sha-rfo:PhysicalPersonShape-civilDisability a sh:PropertyShape ; kdp:xmlElementName "CivilDisability" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:civilDisability ; sh:class pper:CivilDisability ; sh:nodeKind sh:BlankNodeOrIRI . sha-rfo:CivilDisability a sh:NodeShape ; sh:targetClass pper:CivilDisability ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:property sha-egov:ThingWithValidity-timeValidity , sha-rfo:CivilDisability-type . # we are not able to assign xmlElementName BeginningOfCivilDisability, TerminationOfCivilDisability sha-rfo:CivilDisability-type a sh:PropertyShape ; kdp:xmlElementName "TypeOfCivilDisability" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path dct:type ; sh:class pper:CivilDisabilityType ; sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 . sha-rfo:CivilDisabilityTypeShape a sh:NodeShape ; sh:targetClass pper:CivilDisabilityType ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; dct:source . # civilDisabilityType sha-rfo:PhysicalPersonShape-civilDisabilityType a sh:PropertyShape ; kdp:xmlElementName "TypeOfCivilDisability" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:civilDisabilityType ; sh:class pper:CivilDisabilityType ; sh:nodeKind sh:IRI . # occupationBan sha-rfo:PhysicalPersonShape-occupationBan a sh:PropertyShape ; kdp:xmlElementName "OccupationBan" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:occupationBan ; sh:class pper:OccupationBan ; sh:nodeKind sh:BlankNodeOrIRI . sha-rfo:OccupationBan a sh:NodeShape ; sh:targetClass pper:OccupationBan ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:property sha-egov:ThingWithValidity-timeValidity , sha-rfo:Occupation-type . # we are not able to assign xmlElementName BeginningOfOccupationBan, TerminationOfOccupationBan sha-rfo:Occupation-type a sh:PropertyShape ; kdp:xmlElementName "TypeOfOccupation" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path dct:type ; sh:class pper:OccupationType ; sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 . sha-rfo:OccupationTypeShape a sh:NodeShape ; sh:targetClass pper:OccupationType ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; dct:source . # residence sha-rfo:PhysicalPersonShape-residence a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:residence ; sh:class pper:Residence ; sh:nodeKind sh:BlankNodeOrIRI . sha-rfo:ResidenceShape a sh:NodeShape ; sh:targetClass pper:Residence ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:property sha-egov:ThingWithValidity-timeValidity , sha-loca:ThingWithPhysicalAddress-physicalAddress . # residenceBan sha-rfo:PhysicalPersonShape-residenceBan a sh:PropertyShape ; kdp:xmlElementName "ResidenceBan" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:residenceBan ; sh:class pper:ResidenceBan ; sh:nodeKind sh:BlankNodeOrIRI . sha-rfo:ResidenceBanShape a sh:NodeShape ; sh:targetClass pper:ResidenceBan ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:property sha-egov:ThingWithValidity-timeValidity , sha-rfo:ResidenceBan-bannedResidence . # we are not able to assign xmlElementName BeginningOfResidenceBan, TerminationOfResidenceBan sha-rfo:ResidenceBan-bannedResidence a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:bannedResidence ; sh:class pper:Residence ; sh:nodeKind sh:BlankNodeOrIRI ; sh:minCount 1 . # citizenship sha-rfo:PhysicalPersonShape-citizenship a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:citizenship ; sh:class loca:UNCountry ; sh:nodeKind sh:IRI . # nationality sha-rfo:PhysicalPersonShape-nationality a sh:PropertyShape ; kdp:xmlElementName "Nationality" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:nationality ; sh:class pper:Nationality ; sh:nodeKind sh:IRI ; sh:maxCount 1 . sha-rfo:NationalityShape a sh:NodeShape ; sh:targetClass pper:Nationality ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; dct:source . # confessionType sha-rfo:PhysicalPersonShape-confessionType a sh:PropertyShape ; kdp:xmlElementName "Confession" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:confessionType ; sh:class pper:ConfessionType ; sh:nodeKind sh:IRI . sha-rfo:ConfessionTypeShape a sh:NodeShape ; sh:targetClass pper:ConfessionType ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:property sha-rfo:ConfessionType-notation . sha-rfo:ConfessionType-notation a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path skos:notation ; sh:datatype xsd:string . sha-rfo:PhysicalPersonShape-occupationName a sh:PropertyShape ; kdp:xmlElementName "OccupationName" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:occupationName ; sh:datatype xsd:string ; sh:minLength 1 ; sh:maxLength 255 . # namePrefix sha-rfo:PhysicalPersonShape-namePrefix a sh:PropertyShape ; kdp:xmlElementName "Affix" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:namePrefix ; sh:class pper:NamePrefix ; sh:nodeKind sh:BlankNodeOrIRI . sha-rfo:NamePrefix a sh:NodeShape ; sh:targetClass pper:NamePrefix ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:property sha-egov:ThingWithValidity-timeValidity , sha-rfo:NamePrefix-type . sha-rfo:NamePrefix-type a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; kdp:xmlElementName "TypeOfNamePrefix" ; sh:path dct:type ; sh:class pper:NamePrefixType ; sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 . sha-rfo:NamePrefixTypeShape a sh:NodeShape ; sh:targetClass pper:NamePrefixType ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; dct:source . # nameSuffix sha-rfo:PhysicalPersonShape-nameSuffix a sh:PropertyShape ; kdp:xmlElementName "Affix" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:nameSuffix ; sh:class pper:NameSuffix ; sh:nodeKind sh:BlankNodeOrIRI . sha-rfo:NameSuffix a sh:NodeShape ; sh:targetClass pper:NameSuffix ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:property sha-egov:ThingWithValidity-timeValidity , sha-rfo:NameSuffix-type . sha-rfo:NameSuffix-type a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path dct:type ; kdp:xmlElementName "TypeOfNameSuffix" ; sh:class pper:NameSuffixType ; sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 . sha-rfo:NameSuffixTypeShape a sh:NodeShape ; sh:targetClass pper:NameSuffixType ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; dct:source . # personRelationship sha-rfo:PhysicalPersonShape-personRelationship a sh:PropertyShape ; kdp:xmlElementName "RelatedPerson" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:personRelationship ; sh:class pper:PersonRelationship ; sh:nodeKind sh:BlankNodeOrIRI . sha-rfo:PersonRelationshipShape a sh:NodeShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:targetClass pper:PersonRelationship ; sh:property sha-egov:ThingWithValidity-timeValidity , sha-rfo:PersonRelationship-domain , sha-rfo:PersonRelationship-range , sha-rfo:PersonRelationship-type . sha-rfo:PersonRelationship-domain a sh:PropertyShape ; kdp:xmlElementName "PhysicalPerson" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:personRelationshipDomain ; sh:class pper:PhysicalPerson ; sh:nodeKind sh:BlankNodeOrIRI ; sh:maxCount 1 . sha-rfo:PersonRelationship-range a sh:PropertyShape ; kdp:xmlElementName "PhysicalPerson" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:personRelationshipRange ; sh:class pper:PhysicalPerson ; sh:nodeKind sh:BlankNodeOrIRI ; sh:maxCount 1 . sha-rfo:PersonRelationship-type a sh:PropertyShape ; kdp:xmlElementName "TypeOfRelation" ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path dct:type ; sh:class pper:PersonRelationshipType ; sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 . sha-rfo:PersonRelationshipTypeShape a sh:NodeShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:targetClass pper:PersonRelationshipType ; dct:source . # simple identifiers sha-rfo:PhysicalPersonShape-identifier a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:identifier ; sh:datatype xsd:string ; sh:maxCount 1 . sha-rfo:PhysicalPersonShape-recordIdentifier a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-rfo:2025b ; sh:path pper:recordIdentifier ; sh:datatype xsd:string ; sh:maxCount 1 . # ThingWithValidity from eGov sha-egov:ThingWithValidityShape a sh:NodeShape ; rdfs:isDefinedBy sha-egov: ; sh:targetClass egov:ThingWithValidity ; sh:property sha-egov:ThingWithValidity-timeValidity . sha-egov:ThingWithValidity-timeValidity a sh:PropertyShape ; rdfs:isDefinedBy sha-egov: ; sh:path egov:timeValidity ; sh:class dct:PeriodOfTime ; sh:node sha-egov:TimeValidityShape ; sh:nodeKind sh:BlankNodeOrIRI ; sh:minCount 1 ; sh:maxCount 1 . sha-egov:TimeValidityShape a sh:NodeShape ; rdfs:isDefinedBy sha-egov: ; sh:property sha-egov:TimeValidity-startDate , sha-egov:TimeValidity-endDate . sha-egov:TimeValidity-startDate a sh:PropertyShape ; rdfs:isDefinedBy sha-egov: ; sh:path dcat:startDate ; sh:datatype xsd:date ; sh:maxCount 1 . sha-egov:TimeValidity-endDate a sh:PropertyShape ; rdfs:isDefinedBy sha-egov: ; sh:path dcat:endDate ; sh:datatype xsd:date ; sh:maxCount 1 . sha-loca:ThingWithPhysicalAddressShape a sh:NodeShape ; rdfs:isDefinedBy sha-egov: ; sh:targetClass loca:ThingWithPhysicalAddress ; sh:property sha-loca:ThingWithPhysicalAddress-physicalAddress . sha-loca:ThingWithPhysicalAddress-physicalAddress a sh:PropertyShape ; dct:subject ; rdfs:isDefinedBy sha-egov: ; sh:path loca:physicalAddress ; sh:class loca:PhysicalAddress ; sh:nodeKind sh:BlankNodeOrIRI ; sh:maxCount 1 . sha-generic:RdfListOfStrigsShape a sh:NodeShape ; sh:order 1; rdfs:isDefinedBy sha-generic: ; sh:closed true ; sh:property [ sh:path rdf:first ; sh:datatype xsd:string ; ] ; sh:property [ sh:path rdf:rest ; sh:or ( [ sh:node sha-generic:RdfListOfStrigsShape ] # Ensures rdf:rest is a valid list [ sh:hasValue rdf:nil ] # Allows for an empty list ) ; ] .