@prefix bizcodes: <https://example.org/bizcodes/> .
@prefix ks: <https://w3id.org/linkml/tests/kitchen_sink/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix schema: <http://schema.org/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ks:Concept a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <https://w3id.org/linkml/tests/core/id> ],
        [ sh:class ks:CodeSystem ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path ks:in_code_system ],
        [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <https://w3id.org/linkml/tests/core/name> ] ;
    sh:targetClass ks:Concept .

ks:Dataset a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class ks:Company ;
            sh:nodeKind sh:IRI ;
            sh:order 1 ;
            sh:path ks:companies ],
        [ sh:class <https://w3id.org/linkml/tests/core/Activity> ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path ks:activities ],
        [ sh:class ks:CodeSystem ;
            sh:nodeKind sh:IRI ;
            sh:order 3 ;
            sh:path ks:code_systems ],
        [ sh:class ks:Person ;
            sh:nodeKind sh:IRI ;
            sh:order 0 ;
            sh:path ks:persons ] ;
    sh:targetClass ks:Dataset .

ks:Event a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <http://www.w3.org/ns/prov#startedAtTime> ],
        [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <http://www.w3.org/ns/prov#endedAtTime> ],
        [ sh:maxCount 1 ;
            sh:order 2 ;
            sh:path ks:is_current ] ;
    sh:targetClass ks:Event .

ks:FakeClass a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path ks:test_attribute ] ;
    sh:targetClass ks:FakeClass .

ks:Friend a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <https://w3id.org/linkml/tests/core/name> ] ;
    sh:targetClass ks:Friend .

ks:HasAliases a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:order 0 ;
            sh:path skos:altLabel ] ;
    sh:targetClass ks:HasAliases .

ks:MarriageEvent a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 2 ;
            sh:path <http://www.w3.org/ns/prov#startedAtTime> ],
        [ sh:class ks:Place ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 1 ;
            sh:path ks:in_location ],
        [ sh:class ks:Person ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 0 ;
            sh:path ks:married_to ],
        [ sh:maxCount 1 ;
            sh:order 4 ;
            sh:path ks:is_current ],
        [ sh:maxCount 1 ;
            sh:order 3 ;
            sh:path <http://www.w3.org/ns/prov#endedAtTime> ] ;
    sh:targetClass ks:MarriageEvent .

ks:Organization a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <https://w3id.org/linkml/tests/core/name> ],
        [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <https://w3id.org/linkml/tests/core/id> ],
        [ sh:order 2 ;
            sh:path skos:altLabel ] ;
    sh:targetClass ks:Organization .

ks:Relationship a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <http://www.w3.org/ns/prov#endedAtTime> ],
        [ sh:maxCount 1 ;
            sh:order 2 ;
            sh:path ks:related_to ],
        [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <http://www.w3.org/ns/prov#startedAtTime> ],
        [ sh:maxCount 1 ;
            sh:order 3 ;
            sh:path ks:type ] ;
    sh:targetClass ks:Relationship .

ks:SubclassTest a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class ks:ClassWithSpaces ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNode ;
            sh:order 0 ;
            sh:path ks:slot_with_space_2 ],
        [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path ks:slot_with_space_1 ] ;
    sh:targetClass ks:SubclassTest .

ks:WithLocation a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class ks:Place ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 0 ;
            sh:path ks:in_location ] ;
    sh:targetClass ks:WithLocation .

ks:Address a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path ks:street ],
        [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path ks:city ] ;
    sh:targetClass ks:Address .

ks:BirthEvent a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 2 ;
            sh:path <http://www.w3.org/ns/prov#endedAtTime> ],
        [ sh:maxCount 1 ;
            sh:order 3 ;
            sh:path ks:is_current ],
        [ sh:class ks:Place ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 0 ;
            sh:path ks:in_location ],
        [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <http://www.w3.org/ns/prov#startedAtTime> ] ;
    sh:targetClass ks:BirthEvent .

ks:ClassWithSpaces a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path ks:slot_with_space_1 ] ;
    sh:targetClass ks:ClassWithSpaces .

ks:DiagnosisConcept a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class ks:CodeSystem ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path ks:in_code_system ],
        [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <https://w3id.org/linkml/tests/core/id> ],
        [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <https://w3id.org/linkml/tests/core/name> ] ;
    sh:targetClass ks:DiagnosisConcept .

ks:EmploymentEvent a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 2 ;
            sh:path <http://www.w3.org/ns/prov#startedAtTime> ],
        [ sh:class ks:Company ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 0 ;
            sh:path ks:employed_at ],
        [ sh:in ( bizcodes:001 bizcodes:002 bizcodes:003 bizcodes:004 ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path ks:type ],
        [ sh:maxCount 1 ;
            sh:order 3 ;
            sh:path <http://www.w3.org/ns/prov#endedAtTime> ],
        [ sh:maxCount 1 ;
            sh:order 4 ;
            sh:path ks:is_current ] ;
    sh:targetClass ks:EmploymentEvent .

ks:FamilialRelationship a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <http://www.w3.org/ns/prov#startedAtTime> ],
        [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <http://www.w3.org/ns/prov#endedAtTime> ],
        [ sh:in ( "SIBLING_OF" "PARENT_OF" "CHILD_OF" ) ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:order 3 ;
            sh:path ks:type ],
        [ sh:class ks:Person ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path ks:related_to ] ;
    sh:targetClass ks:FamilialRelationship .

ks:MedicalEvent a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 3 ;
            sh:path <http://www.w3.org/ns/prov#startedAtTime> ],
        [ sh:class ks:DiagnosisConcept ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 1 ;
            sh:path ks:diagnosis ],
        [ sh:maxCount 1 ;
            sh:order 4 ;
            sh:path <http://www.w3.org/ns/prov#endedAtTime> ],
        [ sh:class ks:Place ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 0 ;
            sh:path ks:in_location ],
        [ sh:maxCount 1 ;
            sh:order 5 ;
            sh:path ks:is_current ],
        [ sh:class ks:ProcedureConcept ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path ks:procedure ] ;
    sh:targetClass ks:MedicalEvent .

ks:ProcedureConcept a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <https://w3id.org/linkml/tests/core/name> ],
        [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <https://w3id.org/linkml/tests/core/id> ],
        [ sh:class ks:CodeSystem ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path ks:in_code_system ] ;
    sh:targetClass ks:ProcedureConcept .

<http://www.w3.org/ns/prov#Agent> a sh:NodeShape ;
    sh:closed true ;
    sh:description "a provence-generating agent" ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class <http://www.w3.org/ns/prov#Agent> ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 1 ;
            sh:path <http://www.w3.org/ns/prov#actedOnBehalfOf> ],
        [ sh:class <https://w3id.org/linkml/tests/core/Activity> ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path <http://www.w3.org/ns/prov#wasInformedBy> ],
        [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <https://w3id.org/linkml/tests/core/id> ] ;
    sh:targetClass <http://www.w3.org/ns/prov#Agent> .

ks:Company a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class ks:Person ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 0 ;
            sh:path schema:ceo ],
        [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <https://w3id.org/linkml/tests/core/id> ],
        [ sh:maxCount 1 ;
            sh:order 2 ;
            sh:path <https://w3id.org/linkml/tests/core/name> ],
        [ sh:order 3 ;
            sh:path skos:altLabel ] ;
    sh:targetClass ks:Company .

<https://w3id.org/linkml/tests/core/Activity> a sh:NodeShape ;
    sh:closed true ;
    sh:description "a provence-generating activity" ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class <https://w3id.org/linkml/tests/core/Activity> ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 3 ;
            sh:path <http://www.w3.org/ns/prov#wasInformedBy> ],
        [ sh:maxCount 1 ;
            sh:order 6 ;
            sh:path <https://w3id.org/linkml/tests/core/description> ],
        [ sh:class <http://www.w3.org/ns/prov#Agent> ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 4 ;
            sh:path <http://www.w3.org/ns/prov#wasAssociatedWith> ],
        [ sh:maxCount 1 ;
            sh:order 2 ;
            sh:path <http://www.w3.org/ns/prov#endedAtTime> ],
        [ sh:maxCount 1 ;
            sh:order 5 ;
            sh:path <http://www.w3.org/ns/prov#used> ],
        [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <http://www.w3.org/ns/prov#startedAtTime> ],
        [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <https://w3id.org/linkml/tests/core/id> ] ;
    sh:targetClass <https://w3id.org/linkml/tests/core/Activity> .

ks:CodeSystem a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <https://w3id.org/linkml/tests/core/id> ],
        [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <https://w3id.org/linkml/tests/core/name> ] ;
    sh:targetClass ks:CodeSystem .

ks:Person a sh:NodeShape ;
    sh:closed true ;
    sh:description "A person, living or dead" ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:order 8 ;
            sh:path skos:altLabel ],
        [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <https://w3id.org/linkml/tests/core/name> ;
            sh:pattern "^\\S+ \\S+" ],
        [ sh:class ks:Address ;
            sh:nodeKind sh:BlankNode ;
            sh:order 6 ;
            sh:path ks:addresses ],
        [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <https://w3id.org/linkml/tests/core/id> ],
        [ sh:class ks:MedicalEvent ;
            sh:nodeKind sh:BlankNode ;
            sh:order 4 ;
            sh:path ks:has_medical_history ],
        [ sh:class ks:BirthEvent ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNode ;
            sh:order 7 ;
            sh:path ks:has_birth_event ],
        [ sh:class ks:EmploymentEvent ;
            sh:nodeKind sh:BlankNode ;
            sh:order 2 ;
            sh:path ks:has_employment_history ],
        [ sh:class ks:FamilialRelationship ;
            sh:nodeKind sh:BlankNode ;
            sh:order 3 ;
            sh:path ks:has_familial_relationships ],
        [ sh:description "number of years since birth" ;
            sh:maxCount 1 ;
            sh:maxInclusive 999 ;
            sh:minInclusive 0 ;
            sh:order 5 ;
            sh:path ks:age_in_years ] ;
    sh:targetClass ks:Person .

ks:Place a sh:NodeShape ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:maxCount 1 ;
            sh:order 0 ;
            sh:path <https://w3id.org/linkml/tests/core/id> ],
        [ sh:order 2 ;
            sh:path skos:altLabel ],
        [ sh:maxCount 1 ;
            sh:order 1 ;
            sh:path <https://w3id.org/linkml/tests/core/name> ] ;
    sh:targetClass ks:Place .

