PREFIX rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:  <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl:   <http://www.w3.org/2002/07/owl#>
PREFIX xsd:   <http://www.w3.org/2001/XMLSchema#>
PREFIX dc:    <http://purl.org/dc/elements/1.1/>
PREFIX skos:  <http://www.w3.org/2004/02/skos/core#>
PREFIX cdi:   <http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/>
PREFIX ucmis: <http://ddialliance.org/Specification/UCMIS/1.0/RDF>
PREFIX sh: <http://www.w3.org/ns/shacl#>

# class Activity
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::Activity
<#Activity> a sh:NodeShape;
    sh:targetClass cdi:Activity;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Activity";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Activity
			  cdi:Step
			 ) ;
    ];
    # attributes
    sh:property <#Activity-definition>;
    sh:property <#Activity-description>;
    sh:property <#Activity-displayLabel>;
    sh:property <#Activity-entityProduced>;
    sh:property <#Activity-entityUsed>;
    sh:property <#Activity-identifier>;
    sh:property <#Activity-name>;
    sh:property <#Activity-standardModelMapping>;
    # associations from Activity
    sh:property <#Activity_has_Step>;
    sh:property <#Activity_hasInternal_ControlLogic>;
    sh:property <#Activity_hasSubActivity_Activity>;
    # associations to Activity
    sh:property <#rev_Activity_hasSubActivity_Activity>;
    sh:property <#rev_ControlLogic_invokes_Activity>;
    sh:property <#rev_ProcessingAgent_performs_Activity>;
    sh:property <#rev_SequencePosition_indexes_Activity>;



.

<#Activity-definition> a sh:PropertyShape ;
    sh:path cdi:Activity-definition;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#Activity-description> a sh:PropertyShape ;
    sh:path cdi:Activity-description;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#Activity-displayLabel> a sh:PropertyShape ;
    sh:path cdi:Activity-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#Activity-entityProduced> a sh:PropertyShape ;
    sh:path cdi:Activity-entityProduced;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Reference
      
    ) ]];
.
<#Activity-entityUsed> a sh:PropertyShape ;
    sh:path cdi:Activity-entityUsed;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Reference
      
    ) ]];
.
<#Activity-identifier> a sh:PropertyShape ;
    sh:path cdi:Activity-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#Activity-name> a sh:PropertyShape ;
    sh:path cdi:Activity-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#Activity-standardModelMapping> a sh:PropertyShape ;
    sh:path cdi:Activity-standardModelMapping;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Reference
      
    ) ]];
.

<#Activity_has_Step> a sh:PropertyShape ;
    sh:path cdi:Activity_has_Step;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Step
      
    ) ]];
.
<#rev_Activity_has_Step> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Activity_has_Step ];
.
<#Activity_hasInternal_ControlLogic> a sh:PropertyShape ;
    sh:path cdi:Activity_hasInternal_ControlLogic;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlLogic
        cdi:DeterministicImperative
        cdi:ConditionalControlLogic
        cdi:Sequence
        cdi:NonDeterministicDeclarative
        cdi:RuleBasedScheduling
        cdi:TemporalConstraints
        cdi:AllenIntervalAlgebra
        cdi:TemporalControlConstruct
      
    ) ]];
.
<#rev_Activity_hasInternal_ControlLogic> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Activity_hasInternal_ControlLogic ];
.
<#Activity_hasSubActivity_Activity> a sh:PropertyShape ;
    sh:path cdi:Activity_hasSubActivity_Activity;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Activity
        cdi:Step
      
    ) ]];
.
<#rev_Activity_hasSubActivity_Activity> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Activity_hasSubActivity_Activity ];
    sh:maxCount 1;
.

# class Agent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Agents::Agent
<#Agent> a sh:NodeShape;
    sh:targetClass cdi:Agent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Agent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Agent
			  cdi:Individual
			  cdi:Machine
			  cdi:Organization
			  cdi:ProcessingAgent
			  cdi:Curator
			  cdi:Service
			 ) ;
    ];
    # attributes
    sh:property <#Agent-catalogDetails>;
    sh:property <#Agent-identifier>;
    sh:property <#Agent-image>;
    sh:property <#Agent-purpose>;
    # associations from Agent
    # associations to Agent
    sh:property <#rev_AgentListing_has_Agent>;
    sh:property <#rev_AgentListing_isMaintainedBy_Agent>;
    sh:property <#rev_AgentPosition_indexes_Agent>;
    sh:property <#rev_AgentRelationship_hasSource_Agent>;
    sh:property <#rev_AgentRelationship_hasTarget_Agent>;
    sh:property <#rev_AuthorizationSource_has_Agent>;
    sh:property <#rev_ClassificationIndex_hasContact_Agent>;
    sh:property <#rev_ClassificationIndex_isMaintainedBy_Agent>;
    sh:property <#rev_ClassificationSeries_isOwnedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_hasContact_Agent>;
    sh:property <#rev_CorrespondenceTable_isMaintainedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_isOwnedBy_Agent>;



.

<#Agent-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:Agent-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#Agent-identifier> a sh:PropertyShape ;
    sh:path cdi:Agent-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#Agent-image> a sh:PropertyShape ;
    sh:path cdi:Agent-image;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PrivateImage
      
    ) ]];
.
<#Agent-purpose> a sh:PropertyShape ;
    sh:path cdi:Agent-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.


# class AgentListing
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Agents::AgentListing
<#AgentListing> a sh:NodeShape;
    sh:targetClass cdi:AgentListing;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AgentListing";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:AgentListing
			 ) ;
    ];
    # attributes
    sh:property <#AgentListing-allowsDuplicates>;
    sh:property <#AgentListing-identifier>;
    sh:property <#AgentListing-name>;
    sh:property <#AgentListing-purpose>;
    # associations from AgentListing
    sh:property <#AgentListing_has_Agent>;
    sh:property <#AgentListing_has_AgentPosition>;
    sh:property <#AgentListing_isDefinedBy_Concept>;
    sh:property <#AgentListing_isMaintainedBy_Agent>;
    # associations to AgentListing
    sh:property <#rev_AgentStructure_structures_AgentListing>;



.

<#AgentListing-allowsDuplicates> a sh:PropertyShape ;
    sh:path cdi:AgentListing-allowsDuplicates;
    sh:datatype xsd:boolean;
    sh:minCount 1;
    sh:maxCount 1;
.
<#AgentListing-identifier> a sh:PropertyShape ;
    sh:path cdi:AgentListing-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#AgentListing-name> a sh:PropertyShape ;
    sh:path cdi:AgentListing-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#AgentListing-purpose> a sh:PropertyShape ;
    sh:path cdi:AgentListing-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.

<#AgentListing_has_Agent> a sh:PropertyShape ;
    sh:path cdi:AgentListing_has_Agent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Agent
        cdi:Individual
        cdi:Machine
        cdi:Organization
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
.
<#rev_AgentListing_has_Agent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:AgentListing_has_Agent ];
.
<#AgentListing_has_AgentPosition> a sh:PropertyShape ;
    sh:path cdi:AgentListing_has_AgentPosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:AgentPosition
      
    ) ]];
.
<#rev_AgentListing_has_AgentPosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:AgentListing_has_AgentPosition ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#AgentListing_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:AgentListing_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_AgentListing_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:AgentListing_isDefinedBy_Concept ];
.
<#AgentListing_isMaintainedBy_Agent> a sh:PropertyShape ;
    sh:path cdi:AgentListing_isMaintainedBy_Agent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Agent
        cdi:Individual
        cdi:Machine
        cdi:Organization
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
    sh:maxCount 1;
.
<#rev_AgentListing_isMaintainedBy_Agent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:AgentListing_isMaintainedBy_Agent ];
.

# class AgentPosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Agents::AgentPosition
<#AgentPosition> a sh:NodeShape;
    sh:targetClass cdi:AgentPosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AgentPosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:AgentPosition
			 ) ;
    ];
    # attributes
    sh:property <#AgentPosition-identifier>;
    sh:property <#AgentPosition-value>;
    # associations from AgentPosition
    sh:property <#AgentPosition_indexes_Agent>;
    # associations to AgentPosition
    sh:property <#rev_AgentListing_has_AgentPosition>;



.

<#AgentPosition-identifier> a sh:PropertyShape ;
    sh:path cdi:AgentPosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#AgentPosition-value> a sh:PropertyShape ;
    sh:path cdi:AgentPosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#AgentPosition_indexes_Agent> a sh:PropertyShape ;
    sh:path cdi:AgentPosition_indexes_Agent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Agent
        cdi:Individual
        cdi:Machine
        cdi:Organization
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
    sh:maxCount 1;
.
<#rev_AgentPosition_indexes_Agent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:AgentPosition_indexes_Agent ];
.

# class AgentRelationship
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Agents::AgentRelationship
<#AgentRelationship> a sh:NodeShape;
    sh:targetClass cdi:AgentRelationship;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AgentRelationship";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:AgentRelationship
			 ) ;
    ];
    # attributes
    sh:property <#AgentRelationship-effectiveDates>;
    sh:property <#AgentRelationship-identifier>;
    sh:property <#AgentRelationship-semantics>;
    # associations from AgentRelationship
    sh:property <#AgentRelationship_hasSource_Agent>;
    sh:property <#AgentRelationship_hasTarget_Agent>;
    # associations to AgentRelationship
    sh:property <#rev_AgentStructure_has_AgentRelationship>;



.

<#AgentRelationship-effectiveDates> a sh:PropertyShape ;
    sh:path cdi:AgentRelationship-effectiveDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.
<#AgentRelationship-identifier> a sh:PropertyShape ;
    sh:path cdi:AgentRelationship-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#AgentRelationship-semantics> a sh:PropertyShape ;
    sh:path cdi:AgentRelationship-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#AgentRelationship_hasSource_Agent> a sh:PropertyShape ;
    sh:path cdi:AgentRelationship_hasSource_Agent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Agent
        cdi:Individual
        cdi:Machine
        cdi:Organization
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_AgentRelationship_hasSource_Agent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:AgentRelationship_hasSource_Agent ];
.
<#AgentRelationship_hasTarget_Agent> a sh:PropertyShape ;
    sh:path cdi:AgentRelationship_hasTarget_Agent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Agent
        cdi:Individual
        cdi:Machine
        cdi:Organization
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_AgentRelationship_hasTarget_Agent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:AgentRelationship_hasTarget_Agent ];
.

# class AgentStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Agents::AgentStructure
<#AgentStructure> a sh:NodeShape;
    sh:targetClass cdi:AgentStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AgentStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:AgentStructure
			 ) ;
    ];
    # attributes
    sh:property <#AgentStructure-effectiveDates>;
    sh:property <#AgentStructure-identifier>;
    sh:property <#AgentStructure-name>;
    sh:property <#AgentStructure-privacy>;
    sh:property <#AgentStructure-purpose>;
    sh:property <#AgentStructure-semantics>;
    sh:property <#AgentStructure-specification>;
    sh:property <#AgentStructure-topology>;
    sh:property <#AgentStructure-totality>;
    # associations from AgentStructure
    sh:property <#AgentStructure_has_AgentRelationship>;
    sh:property <#AgentStructure_structures_AgentListing>;
    # associations to AgentStructure



.

<#AgentStructure-effectiveDates> a sh:PropertyShape ;
    sh:path cdi:AgentStructure-effectiveDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.
<#AgentStructure-identifier> a sh:PropertyShape ;
    sh:path cdi:AgentStructure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#AgentStructure-name> a sh:PropertyShape ;
    sh:path cdi:AgentStructure-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#AgentStructure-privacy> a sh:PropertyShape ;
    sh:path cdi:AgentStructure-privacy;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#AgentStructure-purpose> a sh:PropertyShape ;
    sh:path cdi:AgentStructure-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#AgentStructure-semantics> a sh:PropertyShape ;
    sh:path cdi:AgentStructure-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#AgentStructure-specification> a sh:PropertyShape ;
    sh:path cdi:AgentStructure-specification;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StructureSpecification
      
    ) ]];
    sh:maxCount 1;
.
<#AgentStructure-topology> a sh:PropertyShape ;
    sh:path cdi:AgentStructure-topology;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#AgentStructure-totality> a sh:PropertyShape ;
    sh:path cdi:AgentStructure-totality;
    sh:node <#StructureExtent>
    ;
    sh:maxCount 1;
.

<#AgentStructure_has_AgentRelationship> a sh:PropertyShape ;
    sh:path cdi:AgentStructure_has_AgentRelationship;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:AgentRelationship
      
    ) ]];
.
<#rev_AgentStructure_has_AgentRelationship> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:AgentStructure_has_AgentRelationship ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#AgentStructure_structures_AgentListing> a sh:PropertyShape ;
    sh:path cdi:AgentStructure_structures_AgentListing;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:AgentListing
      
    ) ]];
    sh:maxCount 1;
.
<#rev_AgentStructure_structures_AgentListing> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:AgentStructure_structures_AgentListing ];
.

# class AllenIntervalAlgebra
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::AllenIntervalAlgebra
<#AllenIntervalAlgebra> a sh:NodeShape;
    sh:targetClass cdi:AllenIntervalAlgebra;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AllenIntervalAlgebra";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:AllenIntervalAlgebra
			 ) ;
    ];
    # attributes
    sh:property <#AllenIntervalAlgebra-temporalIntervalRelation>;
    # associations from AllenIntervalAlgebra
    # associations to AllenIntervalAlgebra

    # ---- superclass: TemporalConstraints
    # attributes
    # associations from TemporalConstraints
    # associations to TemporalConstraints

    # ---- superclass: NonDeterministicDeclarative
    # attributes
    # associations from NonDeterministicDeclarative
    # associations to NonDeterministicDeclarative

    # ---- superclass: ControlLogic
    # attributes
    sh:property <#ControlLogic-description>;
    sh:property <#ControlLogic-displayLabel>;
    sh:property <#ControlLogic-identifier>;
    sh:property <#ControlLogic-name>;
    sh:property <#ControlLogic-workflow>;
    # associations from ControlLogic
    sh:property <#ControlLogic_has_InformationFlowDefinition>;
    sh:property <#ControlLogic_hasSubControlLogic_ControlLogic>;
    sh:property <#ControlLogic_informs_ProcessingAgent>;
    sh:property <#ControlLogic_invokes_Activity>;
    # associations to ControlLogic
    sh:property <#rev_Activity_hasInternal_ControlLogic>;
    sh:property <#rev_ControlLogic_hasSubControlLogic_ControlLogic>;









.

<#AllenIntervalAlgebra-temporalIntervalRelation> a sh:PropertyShape ;
    sh:path cdi:AllenIntervalAlgebra-temporalIntervalRelation;
    sh:node <#TemporalRelation>
    ;
    sh:minCount 1;
    sh:maxCount 1;
.


# class AttributeComponent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::AttributeComponent
<#AttributeComponent> a sh:NodeShape;
    sh:targetClass cdi:AttributeComponent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AttributeComponent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:AttributeComponent
			 ) ;
    ];
    # attributes
    # associations from AttributeComponent
    sh:property <#AttributeComponent_qualifies_DataStructureComponent>;
    # associations to AttributeComponent

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;





.


<#AttributeComponent_qualifies_DataStructureComponent> a sh:PropertyShape ;
    sh:path cdi:AttributeComponent_qualifies_DataStructureComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataStructureComponent
        cdi:AttributeComponent
        cdi:ContextualComponent
        cdi:DataStructure
        cdi:DimensionalDataStructure
        cdi:KeyValueStructure
        cdi:LongDataStructure
        cdi:WideDataStructure
        cdi:DimensionComponent
        cdi:IdentifierComponent
        cdi:MeasureComponent
        cdi:QualifiedMeasure
        cdi:SyntheticIdComponent
        cdi:VariableDescriptorComponent
        cdi:VariableValueComponent
      
    ) ]];
.
<#rev_AttributeComponent_qualifies_DataStructureComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:AttributeComponent_qualifies_DataStructureComponent ];
.

# class AuthorizationSource
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::AuthorizationSource
<#AuthorizationSource> a sh:NodeShape;
    sh:targetClass cdi:AuthorizationSource;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AuthorizationSource";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:AuthorizationSource
			 ) ;
    ];
    # attributes
    sh:property <#AuthorizationSource-authorizationDate>;
    sh:property <#AuthorizationSource-catalogDetails>;
    sh:property <#AuthorizationSource-identifier>;
    sh:property <#AuthorizationSource-legalMandate>;
    sh:property <#AuthorizationSource-purpose>;
    sh:property <#AuthorizationSource-statementOfAuthorization>;
    # associations from AuthorizationSource
    sh:property <#AuthorizationSource_has_Agent>;
    # associations to AuthorizationSource
    sh:property <#rev_ClassificationItem_hasRulingBy_AuthorizationSource>;



.

<#AuthorizationSource-authorizationDate> a sh:PropertyShape ;
    sh:path cdi:AuthorizationSource-authorizationDate;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CombinedDate
      
    ) ]];
    sh:maxCount 1;
.
<#AuthorizationSource-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:AuthorizationSource-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#AuthorizationSource-identifier> a sh:PropertyShape ;
    sh:path cdi:AuthorizationSource-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#AuthorizationSource-legalMandate> a sh:PropertyShape ;
    sh:path cdi:AuthorizationSource-legalMandate;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#AuthorizationSource-purpose> a sh:PropertyShape ;
    sh:path cdi:AuthorizationSource-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#AuthorizationSource-statementOfAuthorization> a sh:PropertyShape ;
    sh:path cdi:AuthorizationSource-statementOfAuthorization;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.

<#AuthorizationSource_has_Agent> a sh:PropertyShape ;
    sh:path cdi:AuthorizationSource_has_Agent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Agent
        cdi:Individual
        cdi:Machine
        cdi:Organization
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
.
<#rev_AuthorizationSource_has_Agent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:AuthorizationSource_has_Agent ];
.

# class Category
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::Category
<#Category> a sh:NodeShape;
    sh:targetClass cdi:Category;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Category";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Category
			 ) ;
    ];
    # attributes
    sh:property <#Category-descriptiveText>;
    # associations from Category
    # associations to Category
    sh:property <#rev_CategoryPosition_indexes_Category>;
    sh:property <#rev_CategoryRelationship_hasSource_Category>;
    sh:property <#rev_CategoryRelationship_hasTarget_Category>;
    sh:property <#rev_CategorySet_has_Category>;
    sh:property <#rev_CategoryStatistic_for_Category>;
    sh:property <#rev_ClassificationItem_denotes_Category>;
    sh:property <#rev_Code_denotes_Category>;
    sh:property <#rev_Notation_represents_Category>;

    # ---- superclass: Concept
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;





.

<#Category-descriptiveText> a sh:PropertyShape ;
    sh:path cdi:Category-descriptiveText;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.


# class CategoryPosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::CategoryPosition
<#CategoryPosition> a sh:NodeShape;
    sh:targetClass cdi:CategoryPosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CategoryPosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CategoryPosition
			 ) ;
    ];
    # attributes
    sh:property <#CategoryPosition-identifier>;
    sh:property <#CategoryPosition-value>;
    # associations from CategoryPosition
    sh:property <#CategoryPosition_indexes_Category>;
    # associations to CategoryPosition
    sh:property <#rev_CategorySet_has_CategoryPosition>;



.

<#CategoryPosition-identifier> a sh:PropertyShape ;
    sh:path cdi:CategoryPosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#CategoryPosition-value> a sh:PropertyShape ;
    sh:path cdi:CategoryPosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#CategoryPosition_indexes_Category> a sh:PropertyShape ;
    sh:path cdi:CategoryPosition_indexes_Category;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Category
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_CategoryPosition_indexes_Category> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CategoryPosition_indexes_Category ];
.

# class CategoryRelationStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::CategoryRelationStructure
<#CategoryRelationStructure> a sh:NodeShape;
    sh:targetClass cdi:CategoryRelationStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CategoryRelationStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CategoryRelationStructure
			 ) ;
    ];
    # attributes
    sh:property <#CategoryRelationStructure-identifier>;
    sh:property <#CategoryRelationStructure-name>;
    sh:property <#CategoryRelationStructure-purpose>;
    sh:property <#CategoryRelationStructure-semantics>;
    sh:property <#CategoryRelationStructure-specification>;
    sh:property <#CategoryRelationStructure-topology>;
    sh:property <#CategoryRelationStructure-totality>;
    # associations from CategoryRelationStructure
    sh:property <#CategoryRelationStructure_has_CategoryRelationship>;
    sh:property <#CategoryRelationStructure_structures_CategorySet>;
    # associations to CategoryRelationStructure



.

<#CategoryRelationStructure-identifier> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationStructure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#CategoryRelationStructure-name> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationStructure-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#CategoryRelationStructure-purpose> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationStructure-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#CategoryRelationStructure-semantics> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationStructure-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#CategoryRelationStructure-specification> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationStructure-specification;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StructureSpecification
      
    ) ]];
    sh:maxCount 1;
.
<#CategoryRelationStructure-topology> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationStructure-topology;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#CategoryRelationStructure-totality> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationStructure-totality;
    sh:node <#StructureExtent>
    ;
    sh:maxCount 1;
.

<#CategoryRelationStructure_has_CategoryRelationship> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationStructure_has_CategoryRelationship;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CategoryRelationship
      
    ) ]];
.
<#rev_CategoryRelationStructure_has_CategoryRelationship> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CategoryRelationStructure_has_CategoryRelationship ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#CategoryRelationStructure_structures_CategorySet> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationStructure_structures_CategorySet;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CategorySet
      
    ) ]];
    sh:maxCount 1;
.
<#rev_CategoryRelationStructure_structures_CategorySet> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CategoryRelationStructure_structures_CategorySet ];
.

# class CategoryRelationship
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::CategoryRelationship
<#CategoryRelationship> a sh:NodeShape;
    sh:targetClass cdi:CategoryRelationship;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CategoryRelationship";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CategoryRelationship
			 ) ;
    ];
    # attributes
    sh:property <#CategoryRelationship-identifier>;
    sh:property <#CategoryRelationship-semantics>;
    # associations from CategoryRelationship
    sh:property <#CategoryRelationship_hasSource_Category>;
    sh:property <#CategoryRelationship_hasTarget_Category>;
    # associations to CategoryRelationship
    sh:property <#rev_CategoryRelationStructure_has_CategoryRelationship>;



.

<#CategoryRelationship-identifier> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationship-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#CategoryRelationship-semantics> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationship-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#CategoryRelationship_hasSource_Category> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationship_hasSource_Category;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Category
      
    ) ]];
.
<#rev_CategoryRelationship_hasSource_Category> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CategoryRelationship_hasSource_Category ];
.
<#CategoryRelationship_hasTarget_Category> a sh:PropertyShape ;
    sh:path cdi:CategoryRelationship_hasTarget_Category;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Category
      
    ) ]];
.
<#rev_CategoryRelationship_hasTarget_Category> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CategoryRelationship_hasTarget_Category ];
.

# class CategorySet
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::CategorySet
<#CategorySet> a sh:NodeShape;
    sh:targetClass cdi:CategorySet;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CategorySet";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CategorySet
			 ) ;
    ];
    # attributes
    # associations from CategorySet
    sh:property <#CategorySet_has_Category>;
    sh:property <#CategorySet_has_CategoryPosition>;
    # associations to CategorySet
    sh:property <#rev_CategoryRelationStructure_structures_CategorySet>;
    sh:property <#rev_EnumerationDomain_references_CategorySet>;

    # ---- superclass: ConceptSystem
    # attributes
    sh:property <#ConceptSystem-allowsDuplicates>;
    sh:property <#ConceptSystem-catalogDetails>;
    sh:property <#ConceptSystem-externalDefinition>;
    sh:property <#ConceptSystem-identifier>;
    sh:property <#ConceptSystem-name>;
    sh:property <#ConceptSystem-purpose>;
    # associations from ConceptSystem
    sh:property <#ConceptSystem_has_Concept>;
    sh:property <#ConceptSystem_isDefinedBy_Concept>;
    # associations to ConceptSystem
    sh:property <#rev_ConceptStructure_structures_ConceptSystem>;
    sh:property <#rev_ConceptSystemCorrespondence_maps_ConceptSystem>;
    sh:property <#rev_ConceptualDomain_takesConceptsFrom_ConceptSystem>;





.


<#CategorySet_has_Category> a sh:PropertyShape ;
    sh:path cdi:CategorySet_has_Category;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Category
      
    ) ]];
.
<#rev_CategorySet_has_Category> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CategorySet_has_Category ];
.
<#CategorySet_has_CategoryPosition> a sh:PropertyShape ;
    sh:path cdi:CategorySet_has_CategoryPosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CategoryPosition
      
    ) ]];
.
<#rev_CategorySet_has_CategoryPosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CategorySet_has_CategoryPosition ];
    sh:minCount 1;
    sh:maxCount 1;
.

# class CategoryStatistic
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::CategoryStatistic
<#CategoryStatistic> a sh:NodeShape;
    sh:targetClass cdi:CategoryStatistic;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CategoryStatistic";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CategoryStatistic
			 ) ;
    ];
    # attributes
    sh:property <#CategoryStatistic-identifier>;
    sh:property <#CategoryStatistic-statistic>;
    sh:property <#CategoryStatistic-typeOfCategoryStatistic>;
    # associations from CategoryStatistic
    sh:property <#CategoryStatistic_appliesTo_InstanceVariable>;
    sh:property <#CategoryStatistic_for_Category>;
    # associations to CategoryStatistic



.

<#CategoryStatistic-identifier> a sh:PropertyShape ;
    sh:path cdi:CategoryStatistic-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#CategoryStatistic-statistic> a sh:PropertyShape ;
    sh:path cdi:CategoryStatistic-statistic;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Statistic
      
    ) ]];
.
<#CategoryStatistic-typeOfCategoryStatistic> a sh:PropertyShape ;
    sh:path cdi:CategoryStatistic-typeOfCategoryStatistic;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#CategoryStatistic_appliesTo_InstanceVariable> a sh:PropertyShape ;
    sh:path cdi:CategoryStatistic_appliesTo_InstanceVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
      
    ) ]];
    sh:minCount 1;
.
<#rev_CategoryStatistic_appliesTo_InstanceVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CategoryStatistic_appliesTo_InstanceVariable ];
.
<#CategoryStatistic_for_Category> a sh:PropertyShape ;
    sh:path cdi:CategoryStatistic_for_Category;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Category
      
    ) ]];
    sh:maxCount 1;
.
<#rev_CategoryStatistic_for_Category> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CategoryStatistic_for_Category ];
.

# class ClassificationFamily
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ClassificationFamily
<#ClassificationFamily> a sh:NodeShape;
    sh:targetClass cdi:ClassificationFamily;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ClassificationFamily";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ClassificationFamily
			 ) ;
    ];
    # attributes
    sh:property <#ClassificationFamily-catalogDetails>;
    sh:property <#ClassificationFamily-identifier>;
    sh:property <#ClassificationFamily-name>;
    sh:property <#ClassificationFamily-purpose>;
    # associations from ClassificationFamily
    sh:property <#ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#ClassificationFamily_groups_ClassificationSeries>;
    sh:property <#ClassificationFamily_uses_ClassificationIndex>;
    # associations to ClassificationFamily



.

<#ClassificationFamily-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:ClassificationFamily-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationFamily-identifier> a sh:PropertyShape ;
    sh:path cdi:ClassificationFamily-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationFamily-name> a sh:PropertyShape ;
    sh:path cdi:ClassificationFamily-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#ClassificationFamily-purpose> a sh:PropertyShape ;
    sh:path cdi:ClassificationFamily-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.

<#ClassificationFamily_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:ClassificationFamily_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_ClassificationFamily_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationFamily_isDefinedBy_Concept ];
.
<#ClassificationFamily_groups_ClassificationSeries> a sh:PropertyShape ;
    sh:path cdi:ClassificationFamily_groups_ClassificationSeries;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationSeries
      
    ) ]];
.
<#rev_ClassificationFamily_groups_ClassificationSeries> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationFamily_groups_ClassificationSeries ];
    sh:maxCount 1;
.
<#ClassificationFamily_uses_ClassificationIndex> a sh:PropertyShape ;
    sh:path cdi:ClassificationFamily_uses_ClassificationIndex;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationIndex
      
    ) ]];
.
<#rev_ClassificationFamily_uses_ClassificationIndex> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationFamily_uses_ClassificationIndex ];
.

# class ClassificationIndex
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ClassificationIndex
<#ClassificationIndex> a sh:NodeShape;
    sh:targetClass cdi:ClassificationIndex;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ClassificationIndex";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ClassificationIndex
			 ) ;
    ];
    # attributes
    sh:property <#ClassificationIndex-allowsDuplicates>;
    sh:property <#ClassificationIndex-availableLanguage>;
    sh:property <#ClassificationIndex-catalogDetails>;
    sh:property <#ClassificationIndex-codingInstruction>;
    sh:property <#ClassificationIndex-corrections>;
    sh:property <#ClassificationIndex-identifier>;
    sh:property <#ClassificationIndex-name>;
    sh:property <#ClassificationIndex-purpose>;
    sh:property <#ClassificationIndex-releaseDate>;
    # associations from ClassificationIndex
    sh:property <#ClassificationIndex_hasContact_Agent>;
    sh:property <#ClassificationIndex_isMaintainedBy_Agent>;
    sh:property <#ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#ClassificationIndex_has_ClassificationIndexEntry>;
    sh:property <#ClassificationIndex_has_ClassificationIndexEntryPosition>;
    # associations to ClassificationIndex
    sh:property <#rev_ClassificationFamily_uses_ClassificationIndex>;
    sh:property <#rev_StatisticalClassification_isIndexedBy_ClassificationIndex>;



.

<#ClassificationIndex-allowsDuplicates> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex-allowsDuplicates;
    sh:datatype xsd:boolean;
    sh:minCount 1;
    sh:maxCount 1;
.
<#ClassificationIndex-availableLanguage> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex-availableLanguage;
    sh:datatype xsd:language;
.
<#ClassificationIndex-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationIndex-codingInstruction> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex-codingInstruction;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CommandCode
      
    ) ]];
.
<#ClassificationIndex-corrections> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex-corrections;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.
<#ClassificationIndex-identifier> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationIndex-name> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#ClassificationIndex-purpose> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationIndex-releaseDate> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex-releaseDate;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CombinedDate
      
    ) ]];
    sh:maxCount 1;
.

<#ClassificationIndex_hasContact_Agent> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex_hasContact_Agent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Agent
        cdi:Individual
        cdi:Machine
        cdi:Organization
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
.
<#rev_ClassificationIndex_hasContact_Agent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationIndex_hasContact_Agent ];
.
<#ClassificationIndex_isMaintainedBy_Agent> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex_isMaintainedBy_Agent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Agent
        cdi:Individual
        cdi:Machine
        cdi:Organization
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ClassificationIndex_isMaintainedBy_Agent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationIndex_isMaintainedBy_Agent ];
.
<#ClassificationIndex_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_ClassificationIndex_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationIndex_isDefinedBy_Concept ];
.
<#ClassificationIndex_has_ClassificationIndexEntry> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex_has_ClassificationIndexEntry;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationIndexEntry
      
    ) ]];
.
<#rev_ClassificationIndex_has_ClassificationIndexEntry> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationIndex_has_ClassificationIndexEntry ];
.
<#ClassificationIndex_has_ClassificationIndexEntryPosition> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndex_has_ClassificationIndexEntryPosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationIndexEntryPosition
      
    ) ]];
.
<#rev_ClassificationIndex_has_ClassificationIndexEntryPosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationIndex_has_ClassificationIndexEntryPosition ];
    sh:minCount 1;
    sh:maxCount 1;
.

# class ClassificationIndexEntry
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ClassificationIndexEntry
<#ClassificationIndexEntry> a sh:NodeShape;
    sh:targetClass cdi:ClassificationIndexEntry;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ClassificationIndexEntry";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ClassificationIndexEntry
			 ) ;
    ];
    # attributes
    sh:property <#ClassificationIndexEntry-catalogDetails>;
    sh:property <#ClassificationIndexEntry-codingInstruction>;
    sh:property <#ClassificationIndexEntry-entry>;
    sh:property <#ClassificationIndexEntry-identifier>;
    sh:property <#ClassificationIndexEntry-validDates>;
    # associations from ClassificationIndexEntry
    # associations to ClassificationIndexEntry
    sh:property <#rev_ClassificationIndex_has_ClassificationIndexEntry>;
    sh:property <#rev_ClassificationIndexEntryPosition_indexes_ClassificationIndexEntry>;



.

<#ClassificationIndexEntry-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndexEntry-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationIndexEntry-codingInstruction> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndexEntry-codingInstruction;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CommandCode
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationIndexEntry-entry> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndexEntry-entry;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationIndexEntry-identifier> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndexEntry-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationIndexEntry-validDates> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndexEntry-validDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.


# class ClassificationIndexEntryPosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ClassificationIndexEntryPosition
<#ClassificationIndexEntryPosition> a sh:NodeShape;
    sh:targetClass cdi:ClassificationIndexEntryPosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ClassificationIndexEntryPosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ClassificationIndexEntryPosition
			 ) ;
    ];
    # attributes
    sh:property <#ClassificationIndexEntryPosition-identifier>;
    sh:property <#ClassificationIndexEntryPosition-value>;
    # associations from ClassificationIndexEntryPosition
    sh:property <#ClassificationIndexEntryPosition_indexes_ClassificationIndexEntry>;
    # associations to ClassificationIndexEntryPosition
    sh:property <#rev_ClassificationIndex_has_ClassificationIndexEntryPosition>;



.

<#ClassificationIndexEntryPosition-identifier> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndexEntryPosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationIndexEntryPosition-value> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndexEntryPosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#ClassificationIndexEntryPosition_indexes_ClassificationIndexEntry> a sh:PropertyShape ;
    sh:path cdi:ClassificationIndexEntryPosition_indexes_ClassificationIndexEntry;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationIndexEntry
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_ClassificationIndexEntryPosition_indexes_ClassificationIndexEntry> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationIndexEntryPosition_indexes_ClassificationIndexEntry ];
.

# class ClassificationItem
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ClassificationItem
<#ClassificationItem> a sh:NodeShape;
    sh:targetClass cdi:ClassificationItem;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ClassificationItem";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ClassificationItem
			 ) ;
    ];
    # attributes
    sh:property <#ClassificationItem-changeFromPreviousVersion>;
    sh:property <#ClassificationItem-changeLog>;
    sh:property <#ClassificationItem-explanatoryNotes>;
    sh:property <#ClassificationItem-futureNotes>;
    sh:property <#ClassificationItem-identifier>;
    sh:property <#ClassificationItem-isGenerated>;
    sh:property <#ClassificationItem-isValid>;
    sh:property <#ClassificationItem-name>;
    sh:property <#ClassificationItem-validDates>;
    # associations from ClassificationItem
    sh:property <#ClassificationItem_denotes_Category>;
    sh:property <#ClassificationItem_uses_Notation>;
    sh:property <#ClassificationItem_excludes_ClassificationItem>;
    sh:property <#ClassificationItem_hasRulingBy_AuthorizationSource>;
    # associations to ClassificationItem
    sh:property <#rev_ClassificationItem_excludes_ClassificationItem>;
    sh:property <#rev_ClassificationItemPosition_indexes_ClassificationItem>;
    sh:property <#rev_ClassificationItemRelationship_hasSource_ClassificationItem>;
    sh:property <#rev_ClassificationItemRelationship_hasTarget_ClassificationItem>;
    sh:property <#rev_Level_groups_ClassificationItem>;
    sh:property <#rev_StatisticalClassification_has_ClassificationItem>;



.

<#ClassificationItem-changeFromPreviousVersion> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem-changeFromPreviousVersion;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationItem-changeLog> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem-changeLog;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationItem-explanatoryNotes> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem-explanatoryNotes;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.
<#ClassificationItem-futureNotes> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem-futureNotes;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.
<#ClassificationItem-identifier> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationItem-isGenerated> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem-isGenerated;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#ClassificationItem-isValid> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem-isValid;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#ClassificationItem-name> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#ClassificationItem-validDates> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem-validDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.

<#ClassificationItem_denotes_Category> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem_denotes_Category;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Category
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_ClassificationItem_denotes_Category> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationItem_denotes_Category ];
.
<#ClassificationItem_uses_Notation> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem_uses_Notation;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Notation
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_ClassificationItem_uses_Notation> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationItem_uses_Notation ];
.
<#ClassificationItem_excludes_ClassificationItem> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem_excludes_ClassificationItem;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationItem
      
    ) ]];
.
<#rev_ClassificationItem_excludes_ClassificationItem> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationItem_excludes_ClassificationItem ];
.
<#ClassificationItem_hasRulingBy_AuthorizationSource> a sh:PropertyShape ;
    sh:path cdi:ClassificationItem_hasRulingBy_AuthorizationSource;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:AuthorizationSource
      
    ) ]];
.
<#rev_ClassificationItem_hasRulingBy_AuthorizationSource> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationItem_hasRulingBy_AuthorizationSource ];
.

# class ClassificationItemPosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ClassificationItemPosition
<#ClassificationItemPosition> a sh:NodeShape;
    sh:targetClass cdi:ClassificationItemPosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ClassificationItemPosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ClassificationItemPosition
			 ) ;
    ];
    # attributes
    sh:property <#ClassificationItemPosition-identifier>;
    sh:property <#ClassificationItemPosition-value>;
    # associations from ClassificationItemPosition
    sh:property <#ClassificationItemPosition_indexes_ClassificationItem>;
    # associations to ClassificationItemPosition
    sh:property <#rev_StatisticalClassification_has_ClassificationItemPosition>;



.

<#ClassificationItemPosition-identifier> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemPosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationItemPosition-value> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemPosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#ClassificationItemPosition_indexes_ClassificationItem> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemPosition_indexes_ClassificationItem;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationItem
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ClassificationItemPosition_indexes_ClassificationItem> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationItemPosition_indexes_ClassificationItem ];
.

# class ClassificationItemRelationship
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ClassificationItemRelationship
<#ClassificationItemRelationship> a sh:NodeShape;
    sh:targetClass cdi:ClassificationItemRelationship;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ClassificationItemRelationship";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ClassificationItemRelationship
			 ) ;
    ];
    # attributes
    sh:property <#ClassificationItemRelationship-identifier>;
    sh:property <#ClassificationItemRelationship-semantics>;
    # associations from ClassificationItemRelationship
    sh:property <#ClassificationItemRelationship_hasSource_ClassificationItem>;
    sh:property <#ClassificationItemRelationship_hasTarget_ClassificationItem>;
    # associations to ClassificationItemRelationship
    sh:property <#rev_ClassificationItemStructure_has_ClassificationItemRelationship>;



.

<#ClassificationItemRelationship-identifier> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemRelationship-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationItemRelationship-semantics> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemRelationship-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#ClassificationItemRelationship_hasSource_ClassificationItem> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemRelationship_hasSource_ClassificationItem;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationItem
      
    ) ]];
.
<#rev_ClassificationItemRelationship_hasSource_ClassificationItem> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationItemRelationship_hasSource_ClassificationItem ];
.
<#ClassificationItemRelationship_hasTarget_ClassificationItem> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemRelationship_hasTarget_ClassificationItem;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationItem
      
    ) ]];
.
<#rev_ClassificationItemRelationship_hasTarget_ClassificationItem> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationItemRelationship_hasTarget_ClassificationItem ];
.

# class ClassificationItemStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ClassificationItemStructure
<#ClassificationItemStructure> a sh:NodeShape;
    sh:targetClass cdi:ClassificationItemStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ClassificationItemStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ClassificationItemStructure
			 ) ;
    ];
    # attributes
    sh:property <#ClassificationItemStructure-displayLabel>;
    sh:property <#ClassificationItemStructure-identifier>;
    sh:property <#ClassificationItemStructure-name>;
    sh:property <#ClassificationItemStructure-purpose>;
    sh:property <#ClassificationItemStructure-semantics>;
    sh:property <#ClassificationItemStructure-specification>;
    sh:property <#ClassificationItemStructure-topology>;
    sh:property <#ClassificationItemStructure-totality>;
    # associations from ClassificationItemStructure
    sh:property <#ClassificationItemStructure_has_ClassificationItemRelationship>;
    sh:property <#ClassificationItemStructure_structures_StatisticalClassification>;
    # associations to ClassificationItemStructure



.

<#ClassificationItemStructure-displayLabel> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemStructure-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#ClassificationItemStructure-identifier> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemStructure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationItemStructure-name> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemStructure-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#ClassificationItemStructure-purpose> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemStructure-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationItemStructure-semantics> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemStructure-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationItemStructure-specification> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemStructure-specification;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StructureSpecification
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationItemStructure-topology> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemStructure-topology;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationItemStructure-totality> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemStructure-totality;
    sh:node <#StructureExtent>
    ;
    sh:maxCount 1;
.

<#ClassificationItemStructure_has_ClassificationItemRelationship> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemStructure_has_ClassificationItemRelationship;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationItemRelationship
      
    ) ]];
.
<#rev_ClassificationItemStructure_has_ClassificationItemRelationship> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationItemStructure_has_ClassificationItemRelationship ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#ClassificationItemStructure_structures_StatisticalClassification> a sh:PropertyShape ;
    sh:path cdi:ClassificationItemStructure_structures_StatisticalClassification;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StatisticalClassification
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ClassificationItemStructure_structures_StatisticalClassification> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationItemStructure_structures_StatisticalClassification ];
.

# class ClassificationPosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ClassificationPosition
<#ClassificationPosition> a sh:NodeShape;
    sh:targetClass cdi:ClassificationPosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ClassificationPosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ClassificationPosition
			 ) ;
    ];
    # attributes
    sh:property <#ClassificationPosition-identifier>;
    sh:property <#ClassificationPosition-value>;
    # associations from ClassificationPosition
    sh:property <#ClassificationPosition_indexes_StatisticalClassification>;
    # associations to ClassificationPosition
    sh:property <#rev_ClassificationSeries_has_ClassificationPosition>;



.

<#ClassificationPosition-identifier> a sh:PropertyShape ;
    sh:path cdi:ClassificationPosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationPosition-value> a sh:PropertyShape ;
    sh:path cdi:ClassificationPosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#ClassificationPosition_indexes_StatisticalClassification> a sh:PropertyShape ;
    sh:path cdi:ClassificationPosition_indexes_StatisticalClassification;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StatisticalClassification
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ClassificationPosition_indexes_StatisticalClassification> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationPosition_indexes_StatisticalClassification ];
.

# class ClassificationSeries
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ClassificationSeries
<#ClassificationSeries> a sh:NodeShape;
    sh:targetClass cdi:ClassificationSeries;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ClassificationSeries";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ClassificationSeries
			 ) ;
    ];
    # attributes
    sh:property <#ClassificationSeries-allowsDuplicates>;
    sh:property <#ClassificationSeries-catalogDetails>;
    sh:property <#ClassificationSeries-context>;
    sh:property <#ClassificationSeries-identifier>;
    sh:property <#ClassificationSeries-keyword>;
    sh:property <#ClassificationSeries-name>;
    sh:property <#ClassificationSeries-objectsOrUnitsClassified>;
    sh:property <#ClassificationSeries-purpose>;
    sh:property <#ClassificationSeries-subject>;
    # associations from ClassificationSeries
    sh:property <#ClassificationSeries_isOwnedBy_Agent>;
    sh:property <#ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#ClassificationSeries_has_ClassificationPosition>;
    sh:property <#ClassificationSeries_has_StatisticalClassification>;
    # associations to ClassificationSeries
    sh:property <#rev_ClassificationFamily_groups_ClassificationSeries>;
    sh:property <#rev_ClassificationSeriesStructure_structures_ClassificationSeries>;



.

<#ClassificationSeries-allowsDuplicates> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries-allowsDuplicates;
    sh:datatype xsd:boolean;
    sh:minCount 1;
    sh:maxCount 1;
.
<#ClassificationSeries-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationSeries-context> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries-context;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationSeries-identifier> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationSeries-keyword> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries-keyword;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
.
<#ClassificationSeries-name> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#ClassificationSeries-objectsOrUnitsClassified> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries-objectsOrUnitsClassified;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationSeries-purpose> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationSeries-subject> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries-subject;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
.

<#ClassificationSeries_isOwnedBy_Agent> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries_isOwnedBy_Agent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Agent
        cdi:Individual
        cdi:Machine
        cdi:Organization
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
.
<#rev_ClassificationSeries_isOwnedBy_Agent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationSeries_isOwnedBy_Agent ];
.
<#ClassificationSeries_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_ClassificationSeries_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationSeries_isDefinedBy_Concept ];
.
<#ClassificationSeries_has_ClassificationPosition> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries_has_ClassificationPosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationPosition
      
    ) ]];
.
<#rev_ClassificationSeries_has_ClassificationPosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationSeries_has_ClassificationPosition ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#ClassificationSeries_has_StatisticalClassification> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeries_has_StatisticalClassification;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StatisticalClassification
      
    ) ]];
.
<#rev_ClassificationSeries_has_StatisticalClassification> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationSeries_has_StatisticalClassification ];
    sh:maxCount 1;
.

# class ClassificationSeriesStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ClassificationSeriesStructure
<#ClassificationSeriesStructure> a sh:NodeShape;
    sh:targetClass cdi:ClassificationSeriesStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ClassificationSeriesStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ClassificationSeriesStructure
			 ) ;
    ];
    # attributes
    sh:property <#ClassificationSeriesStructure-identifier>;
    sh:property <#ClassificationSeriesStructure-name>;
    sh:property <#ClassificationSeriesStructure-purpose>;
    sh:property <#ClassificationSeriesStructure-semantics>;
    sh:property <#ClassificationSeriesStructure-specification>;
    sh:property <#ClassificationSeriesStructure-topology>;
    sh:property <#ClassificationSeriesStructure-totality>;
    # associations from ClassificationSeriesStructure
    sh:property <#ClassificationSeriesStructure_has_StatisticalClassificationRelationship>;
    sh:property <#ClassificationSeriesStructure_structures_ClassificationSeries>;
    # associations to ClassificationSeriesStructure



.

<#ClassificationSeriesStructure-identifier> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeriesStructure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationSeriesStructure-name> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeriesStructure-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#ClassificationSeriesStructure-purpose> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeriesStructure-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationSeriesStructure-semantics> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeriesStructure-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationSeriesStructure-specification> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeriesStructure-specification;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StructureSpecification
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationSeriesStructure-topology> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeriesStructure-topology;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ClassificationSeriesStructure-totality> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeriesStructure-totality;
    sh:node <#StructureExtent>
    ;
    sh:maxCount 1;
.

<#ClassificationSeriesStructure_has_StatisticalClassificationRelationship> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeriesStructure_has_StatisticalClassificationRelationship;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StatisticalClassificationRelationship
      
    ) ]];
.
<#rev_ClassificationSeriesStructure_has_StatisticalClassificationRelationship> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationSeriesStructure_has_StatisticalClassificationRelationship ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#ClassificationSeriesStructure_structures_ClassificationSeries> a sh:PropertyShape ;
    sh:path cdi:ClassificationSeriesStructure_structures_ClassificationSeries;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationSeries
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ClassificationSeriesStructure_structures_ClassificationSeries> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ClassificationSeriesStructure_structures_ClassificationSeries ];
.

# class Code
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::Code
<#Code> a sh:NodeShape;
    sh:targetClass cdi:Code;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Code";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Code
			 ) ;
    ];
    # attributes
    sh:property <#Code-identifier>;
    # associations from Code
    sh:property <#Code_denotes_Category>;
    sh:property <#Code_uses_Notation>;
    # associations to Code
    sh:property <#rev_CodeList_has_Code>;
    sh:property <#rev_CodePosition_indexes_Code>;
    sh:property <#rev_CodeRelationship_hasSource_Code>;
    sh:property <#rev_CodeRelationship_hasTarget_Code>;



.

<#Code-identifier> a sh:PropertyShape ;
    sh:path cdi:Code-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#Code_denotes_Category> a sh:PropertyShape ;
    sh:path cdi:Code_denotes_Category;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Category
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_Code_denotes_Category> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Code_denotes_Category ];
.
<#Code_uses_Notation> a sh:PropertyShape ;
    sh:path cdi:Code_uses_Notation;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Notation
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_Code_uses_Notation> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Code_uses_Notation ];
.

# class CodeList
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::CodeList
<#CodeList> a sh:NodeShape;
    sh:targetClass cdi:CodeList;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CodeList";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CodeList
			 ) ;
    ];
    # attributes
    sh:property <#CodeList-allowsDuplicates>;
    # associations from CodeList
    sh:property <#CodeList_has_Code>;
    sh:property <#CodeList_has_CodePosition>;
    # associations to CodeList
    sh:property <#rev_DimensionalKeyMember_hasValueFrom_CodeList>;
    sh:property <#rev_CodeListStructure_structures_CodeList>;

    # ---- superclass: EnumerationDomain
    # attributes
    sh:property <#EnumerationDomain-identifier>;
    sh:property <#EnumerationDomain-name>;
    sh:property <#EnumerationDomain-purpose>;
    # associations from EnumerationDomain
    sh:property <#EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#EnumerationDomain_references_CategorySet>;
    sh:property <#EnumerationDomain_uses_LevelStructure>;
    # associations to EnumerationDomain
    sh:property <#rev_SentinelValueDomain_takesValuesFrom_EnumerationDomain>;
    sh:property <#rev_SubstantiveValueDomain_takesValuesFrom_EnumerationDomain>;





.

<#CodeList-allowsDuplicates> a sh:PropertyShape ;
    sh:path cdi:CodeList-allowsDuplicates;
    sh:datatype xsd:boolean;
    sh:minCount 1;
    sh:maxCount 1;
.

<#CodeList_has_Code> a sh:PropertyShape ;
    sh:path cdi:CodeList_has_Code;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Code
      
    ) ]];
.
<#rev_CodeList_has_Code> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CodeList_has_Code ];
.
<#CodeList_has_CodePosition> a sh:PropertyShape ;
    sh:path cdi:CodeList_has_CodePosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CodePosition
      
    ) ]];
.
<#rev_CodeList_has_CodePosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CodeList_has_CodePosition ];
    sh:minCount 1;
    sh:maxCount 1;
.

# class CodeListStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::CodeListStructure
<#CodeListStructure> a sh:NodeShape;
    sh:targetClass cdi:CodeListStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CodeListStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CodeListStructure
			 ) ;
    ];
    # attributes
    sh:property <#CodeListStructure-identifier>;
    sh:property <#CodeListStructure-name>;
    sh:property <#CodeListStructure-purpose>;
    sh:property <#CodeListStructure-semantics>;
    sh:property <#CodeListStructure-specification>;
    sh:property <#CodeListStructure-topology>;
    sh:property <#CodeListStructure-totality>;
    # associations from CodeListStructure
    sh:property <#CodeListStructure_has_CodeRelationship>;
    sh:property <#CodeListStructure_structures_CodeList>;
    # associations to CodeListStructure



.

<#CodeListStructure-identifier> a sh:PropertyShape ;
    sh:path cdi:CodeListStructure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#CodeListStructure-name> a sh:PropertyShape ;
    sh:path cdi:CodeListStructure-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#CodeListStructure-purpose> a sh:PropertyShape ;
    sh:path cdi:CodeListStructure-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#CodeListStructure-semantics> a sh:PropertyShape ;
    sh:path cdi:CodeListStructure-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#CodeListStructure-specification> a sh:PropertyShape ;
    sh:path cdi:CodeListStructure-specification;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StructureSpecification
      
    ) ]];
    sh:maxCount 1;
.
<#CodeListStructure-topology> a sh:PropertyShape ;
    sh:path cdi:CodeListStructure-topology;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#CodeListStructure-totality> a sh:PropertyShape ;
    sh:path cdi:CodeListStructure-totality;
    sh:node <#StructureExtent>
    ;
    sh:maxCount 1;
.

<#CodeListStructure_has_CodeRelationship> a sh:PropertyShape ;
    sh:path cdi:CodeListStructure_has_CodeRelationship;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CodeRelationship
      
    ) ]];
.
<#rev_CodeListStructure_has_CodeRelationship> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CodeListStructure_has_CodeRelationship ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#CodeListStructure_structures_CodeList> a sh:PropertyShape ;
    sh:path cdi:CodeListStructure_structures_CodeList;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CodeList
      
    ) ]];
    sh:maxCount 1;
.
<#rev_CodeListStructure_structures_CodeList> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CodeListStructure_structures_CodeList ];
    sh:maxCount 1;
.

# class CodePosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::CodePosition
<#CodePosition> a sh:NodeShape;
    sh:targetClass cdi:CodePosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CodePosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CodePosition
			 ) ;
    ];
    # attributes
    sh:property <#CodePosition-identifier>;
    sh:property <#CodePosition-value>;
    # associations from CodePosition
    sh:property <#CodePosition_indexes_Code>;
    # associations to CodePosition
    sh:property <#rev_CodeList_has_CodePosition>;



.

<#CodePosition-identifier> a sh:PropertyShape ;
    sh:path cdi:CodePosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#CodePosition-value> a sh:PropertyShape ;
    sh:path cdi:CodePosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#CodePosition_indexes_Code> a sh:PropertyShape ;
    sh:path cdi:CodePosition_indexes_Code;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Code
      
    ) ]];
    sh:maxCount 1;
.
<#rev_CodePosition_indexes_Code> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CodePosition_indexes_Code ];
.

# class CodeRelationship
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::CodeRelationship
<#CodeRelationship> a sh:NodeShape;
    sh:targetClass cdi:CodeRelationship;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CodeRelationship";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CodeRelationship
			 ) ;
    ];
    # attributes
    sh:property <#CodeRelationship-identifier>;
    sh:property <#CodeRelationship-semantics>;
    # associations from CodeRelationship
    sh:property <#CodeRelationship_hasSource_Code>;
    sh:property <#CodeRelationship_hasTarget_Code>;
    # associations to CodeRelationship
    sh:property <#rev_CodeListStructure_has_CodeRelationship>;



.

<#CodeRelationship-identifier> a sh:PropertyShape ;
    sh:path cdi:CodeRelationship-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#CodeRelationship-semantics> a sh:PropertyShape ;
    sh:path cdi:CodeRelationship-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#CodeRelationship_hasSource_Code> a sh:PropertyShape ;
    sh:path cdi:CodeRelationship_hasSource_Code;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Code
      
    ) ]];
.
<#rev_CodeRelationship_hasSource_Code> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CodeRelationship_hasSource_Code ];
.
<#CodeRelationship_hasTarget_Code> a sh:PropertyShape ;
    sh:path cdi:CodeRelationship_hasTarget_Code;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Code
      
    ) ]];
.
<#rev_CodeRelationship_hasTarget_Code> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CodeRelationship_hasTarget_Code ];
.

# class ComponentPosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::ComponentPosition
<#ComponentPosition> a sh:NodeShape;
    sh:targetClass cdi:ComponentPosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ComponentPosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ComponentPosition
			 ) ;
    ];
    # attributes
    sh:property <#ComponentPosition-identifier>;
    sh:property <#ComponentPosition-value>;
    # associations from ComponentPosition
    sh:property <#ComponentPosition_indexes_DataStructureComponent>;
    # associations to ComponentPosition
    sh:property <#rev_DataStructure_has_ComponentPosition>;



.

<#ComponentPosition-identifier> a sh:PropertyShape ;
    sh:path cdi:ComponentPosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ComponentPosition-value> a sh:PropertyShape ;
    sh:path cdi:ComponentPosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#ComponentPosition_indexes_DataStructureComponent> a sh:PropertyShape ;
    sh:path cdi:ComponentPosition_indexes_DataStructureComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataStructureComponent
        cdi:AttributeComponent
        cdi:ContextualComponent
        cdi:DataStructure
        cdi:DimensionalDataStructure
        cdi:KeyValueStructure
        cdi:LongDataStructure
        cdi:WideDataStructure
        cdi:DimensionComponent
        cdi:IdentifierComponent
        cdi:MeasureComponent
        cdi:QualifiedMeasure
        cdi:SyntheticIdComponent
        cdi:VariableDescriptorComponent
        cdi:VariableValueComponent
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ComponentPosition_indexes_DataStructureComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ComponentPosition_indexes_DataStructureComponent ];
.

# class Concept
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::Concept
<#Concept> a sh:NodeShape;
    sh:targetClass cdi:Concept;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Concept";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Concept
			  cdi:Category
			  cdi:ConceptualValue
			  cdi:DimensionalKeyDefinitionMember
			  cdi:KeyDefinitionMember
			  cdi:ConceptualVariable
			  cdi:RepresentedVariable
			  cdi:InstanceVariable
			  cdi:DescriptorVariable
			  cdi:ReferenceVariable
			  cdi:UnitType
			  cdi:Universe
			  cdi:Population
			 ) ;
    ];
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;



.

<#Concept-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:Concept-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#Concept-definition> a sh:PropertyShape ;
    sh:path cdi:Concept-definition;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#Concept-displayLabel> a sh:PropertyShape ;
    sh:path cdi:Concept-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#Concept-externalDefinition> a sh:PropertyShape ;
    sh:path cdi:Concept-externalDefinition;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Reference
      
    ) ]];
    sh:maxCount 1;
.
<#Concept-identifier> a sh:PropertyShape ;
    sh:path cdi:Concept-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#Concept-name> a sh:PropertyShape ;
    sh:path cdi:Concept-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.

<#Concept_uses_Concept> a sh:PropertyShape ;
    sh:path cdi:Concept_uses_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_Concept_uses_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Concept_uses_Concept ];
.

# class ConceptMap
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::ConceptMap
<#ConceptMap> a sh:NodeShape;
    sh:targetClass cdi:ConceptMap;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ConceptMap";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ConceptMap
			 ) ;
    ];
    # attributes
    sh:property <#ConceptMap-correspondence>;
    sh:property <#ConceptMap-displayLabel>;
    sh:property <#ConceptMap-identifier>;
    sh:property <#ConceptMap-usage>;
    sh:property <#ConceptMap-validDates>;
    # associations from ConceptMap
    sh:property <#ConceptMap_hasSource_Concept>;
    sh:property <#ConceptMap_hasTarget_Concept>;
    # associations to ConceptMap
    sh:property <#rev_ConceptSystemCorrespondence_has_ConceptMap>;
    sh:property <#rev_CorrespondenceTable_has_ConceptMap>;



.

<#ConceptMap-correspondence> a sh:PropertyShape ;
    sh:path cdi:ConceptMap-correspondence;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CorrespondenceDefinition
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptMap-displayLabel> a sh:PropertyShape ;
    sh:path cdi:ConceptMap-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptMap-identifier> a sh:PropertyShape ;
    sh:path cdi:ConceptMap-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptMap-usage> a sh:PropertyShape ;
    sh:path cdi:ConceptMap-usage;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptMap-validDates> a sh:PropertyShape ;
    sh:path cdi:ConceptMap-validDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.

<#ConceptMap_hasSource_Concept> a sh:PropertyShape ;
    sh:path cdi:ConceptMap_hasSource_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
    sh:minCount 1;
.
<#rev_ConceptMap_hasSource_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptMap_hasSource_Concept ];
.
<#ConceptMap_hasTarget_Concept> a sh:PropertyShape ;
    sh:path cdi:ConceptMap_hasTarget_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
    sh:minCount 1;
.
<#rev_ConceptMap_hasTarget_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptMap_hasTarget_Concept ];
.

# class ConceptRelationship
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::ConceptRelationship
<#ConceptRelationship> a sh:NodeShape;
    sh:targetClass cdi:ConceptRelationship;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ConceptRelationship";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ConceptRelationship
			 ) ;
    ];
    # attributes
    sh:property <#ConceptRelationship-identifier>;
    sh:property <#ConceptRelationship-semantics>;
    # associations from ConceptRelationship
    sh:property <#ConceptRelationship_hasSource_Concept>;
    sh:property <#ConceptRelationship_hasTarget_Concept>;
    # associations to ConceptRelationship
    sh:property <#rev_ConceptStructure_has_ConceptRelationship>;



.

<#ConceptRelationship-identifier> a sh:PropertyShape ;
    sh:path cdi:ConceptRelationship-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptRelationship-semantics> a sh:PropertyShape ;
    sh:path cdi:ConceptRelationship-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#ConceptRelationship_hasSource_Concept> a sh:PropertyShape ;
    sh:path cdi:ConceptRelationship_hasSource_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_ConceptRelationship_hasSource_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptRelationship_hasSource_Concept ];
.
<#ConceptRelationship_hasTarget_Concept> a sh:PropertyShape ;
    sh:path cdi:ConceptRelationship_hasTarget_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_ConceptRelationship_hasTarget_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptRelationship_hasTarget_Concept ];
.

# class ConceptStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::ConceptStructure
<#ConceptStructure> a sh:NodeShape;
    sh:targetClass cdi:ConceptStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ConceptStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ConceptStructure
			 ) ;
    ];
    # attributes
    sh:property <#ConceptStructure-identifier>;
    sh:property <#ConceptStructure-name>;
    sh:property <#ConceptStructure-purpose>;
    sh:property <#ConceptStructure-semantics>;
    sh:property <#ConceptStructure-specification>;
    sh:property <#ConceptStructure-topology>;
    sh:property <#ConceptStructure-totality>;
    # associations from ConceptStructure
    sh:property <#ConceptStructure_has_ConceptRelationship>;
    sh:property <#ConceptStructure_structures_ConceptSystem>;
    # associations to ConceptStructure



.

<#ConceptStructure-identifier> a sh:PropertyShape ;
    sh:path cdi:ConceptStructure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptStructure-name> a sh:PropertyShape ;
    sh:path cdi:ConceptStructure-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#ConceptStructure-purpose> a sh:PropertyShape ;
    sh:path cdi:ConceptStructure-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptStructure-semantics> a sh:PropertyShape ;
    sh:path cdi:ConceptStructure-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptStructure-specification> a sh:PropertyShape ;
    sh:path cdi:ConceptStructure-specification;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StructureSpecification
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptStructure-topology> a sh:PropertyShape ;
    sh:path cdi:ConceptStructure-topology;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptStructure-totality> a sh:PropertyShape ;
    sh:path cdi:ConceptStructure-totality;
    sh:node <#StructureExtent>
    ;
    sh:maxCount 1;
.

<#ConceptStructure_has_ConceptRelationship> a sh:PropertyShape ;
    sh:path cdi:ConceptStructure_has_ConceptRelationship;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptRelationship
      
    ) ]];
.
<#rev_ConceptStructure_has_ConceptRelationship> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptStructure_has_ConceptRelationship ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#ConceptStructure_structures_ConceptSystem> a sh:PropertyShape ;
    sh:path cdi:ConceptStructure_structures_ConceptSystem;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptSystem
        cdi:CategorySet
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ConceptStructure_structures_ConceptSystem> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptStructure_structures_ConceptSystem ];
.

# class ConceptSystem
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::ConceptSystem
<#ConceptSystem> a sh:NodeShape;
    sh:targetClass cdi:ConceptSystem;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ConceptSystem";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ConceptSystem
			  cdi:CategorySet
			 ) ;
    ];
    # attributes
    sh:property <#ConceptSystem-allowsDuplicates>;
    sh:property <#ConceptSystem-catalogDetails>;
    sh:property <#ConceptSystem-externalDefinition>;
    sh:property <#ConceptSystem-identifier>;
    sh:property <#ConceptSystem-name>;
    sh:property <#ConceptSystem-purpose>;
    # associations from ConceptSystem
    sh:property <#ConceptSystem_has_Concept>;
    sh:property <#ConceptSystem_isDefinedBy_Concept>;
    # associations to ConceptSystem
    sh:property <#rev_ConceptStructure_structures_ConceptSystem>;
    sh:property <#rev_ConceptSystemCorrespondence_maps_ConceptSystem>;
    sh:property <#rev_ConceptualDomain_takesConceptsFrom_ConceptSystem>;



.

<#ConceptSystem-allowsDuplicates> a sh:PropertyShape ;
    sh:path cdi:ConceptSystem-allowsDuplicates;
    sh:datatype xsd:boolean;
    sh:minCount 1;
    sh:maxCount 1;
.
<#ConceptSystem-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:ConceptSystem-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptSystem-externalDefinition> a sh:PropertyShape ;
    sh:path cdi:ConceptSystem-externalDefinition;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Reference
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptSystem-identifier> a sh:PropertyShape ;
    sh:path cdi:ConceptSystem-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptSystem-name> a sh:PropertyShape ;
    sh:path cdi:ConceptSystem-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#ConceptSystem-purpose> a sh:PropertyShape ;
    sh:path cdi:ConceptSystem-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.

<#ConceptSystem_has_Concept> a sh:PropertyShape ;
    sh:path cdi:ConceptSystem_has_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_ConceptSystem_has_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptSystem_has_Concept ];
.
<#ConceptSystem_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:ConceptSystem_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_ConceptSystem_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptSystem_isDefinedBy_Concept ];
.

# class ConceptSystemCorrespondence
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::ConceptSystemCorrespondence
<#ConceptSystemCorrespondence> a sh:NodeShape;
    sh:targetClass cdi:ConceptSystemCorrespondence;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ConceptSystemCorrespondence";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ConceptSystemCorrespondence
			 ) ;
    ];
    # attributes
    sh:property <#ConceptSystemCorrespondence-catalogDetails>;
    sh:property <#ConceptSystemCorrespondence-displayLabel>;
    sh:property <#ConceptSystemCorrespondence-identifier>;
    sh:property <#ConceptSystemCorrespondence-purpose>;
    sh:property <#ConceptSystemCorrespondence-usage>;
    # associations from ConceptSystemCorrespondence
    sh:property <#ConceptSystemCorrespondence_has_ConceptMap>;
    sh:property <#ConceptSystemCorrespondence_maps_ConceptSystem>;
    # associations to ConceptSystemCorrespondence



.

<#ConceptSystemCorrespondence-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:ConceptSystemCorrespondence-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptSystemCorrespondence-displayLabel> a sh:PropertyShape ;
    sh:path cdi:ConceptSystemCorrespondence-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#ConceptSystemCorrespondence-identifier> a sh:PropertyShape ;
    sh:path cdi:ConceptSystemCorrespondence-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptSystemCorrespondence-purpose> a sh:PropertyShape ;
    sh:path cdi:ConceptSystemCorrespondence-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptSystemCorrespondence-usage> a sh:PropertyShape ;
    sh:path cdi:ConceptSystemCorrespondence-usage;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.

<#ConceptSystemCorrespondence_has_ConceptMap> a sh:PropertyShape ;
    sh:path cdi:ConceptSystemCorrespondence_has_ConceptMap;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptMap
      
    ) ]];
.
<#rev_ConceptSystemCorrespondence_has_ConceptMap> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptSystemCorrespondence_has_ConceptMap ];
    sh:maxCount 1;
.
<#ConceptSystemCorrespondence_maps_ConceptSystem> a sh:PropertyShape ;
    sh:path cdi:ConceptSystemCorrespondence_maps_ConceptSystem;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptSystem
        cdi:CategorySet
      
    ) ]];
    sh:minCount 2;
.
<#rev_ConceptSystemCorrespondence_maps_ConceptSystem> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptSystemCorrespondence_maps_ConceptSystem ];
.

# class ConceptualDomain
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::ConceptualDomain
<#ConceptualDomain> a sh:NodeShape;
    sh:targetClass cdi:ConceptualDomain;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ConceptualDomain";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ConceptualDomain
			  cdi:SentinelConceptualDomain
			  cdi:SubstantiveConceptualDomain
			 ) ;
    ];
    # attributes
    sh:property <#ConceptualDomain-catalogDetails>;
    sh:property <#ConceptualDomain-displayLabel>;
    sh:property <#ConceptualDomain-identifier>;
    # associations from ConceptualDomain
    sh:property <#ConceptualDomain_isDescribedBy_ValueAndConceptDescription>;
    sh:property <#ConceptualDomain_takesConceptsFrom_ConceptSystem>;
    # associations to ConceptualDomain
    sh:property <#rev_ConceptualValue_hasConceptFrom_ConceptualDomain>;



.

<#ConceptualDomain-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:ConceptualDomain-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptualDomain-displayLabel> a sh:PropertyShape ;
    sh:path cdi:ConceptualDomain-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#ConceptualDomain-identifier> a sh:PropertyShape ;
    sh:path cdi:ConceptualDomain-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#ConceptualDomain_isDescribedBy_ValueAndConceptDescription> a sh:PropertyShape ;
    sh:path cdi:ConceptualDomain_isDescribedBy_ValueAndConceptDescription;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ValueAndConceptDescription
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ConceptualDomain_isDescribedBy_ValueAndConceptDescription> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptualDomain_isDescribedBy_ValueAndConceptDescription ];
.
<#ConceptualDomain_takesConceptsFrom_ConceptSystem> a sh:PropertyShape ;
    sh:path cdi:ConceptualDomain_takesConceptsFrom_ConceptSystem;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptSystem
        cdi:CategorySet
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ConceptualDomain_takesConceptsFrom_ConceptSystem> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptualDomain_takesConceptsFrom_ConceptSystem ];
.

# class ConceptualValue
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::ConceptualValue
<#ConceptualValue> a sh:NodeShape;
    sh:targetClass cdi:ConceptualValue;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ConceptualValue";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ConceptualValue
			  cdi:DimensionalKeyDefinitionMember
			  cdi:KeyDefinitionMember
			 ) ;
    ];
    # attributes
    # associations from ConceptualValue
    sh:property <#ConceptualValue_hasConceptFrom_ConceptualDomain>;
    # associations to ConceptualValue
    sh:property <#rev_Datum_denotes_ConceptualValue>;
    sh:property <#rev_InstanceValue_represents_ConceptualValue>;

    # ---- superclass: Concept
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;





.


<#ConceptualValue_hasConceptFrom_ConceptualDomain> a sh:PropertyShape ;
    sh:path cdi:ConceptualValue_hasConceptFrom_ConceptualDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptualDomain
        cdi:SentinelConceptualDomain
        cdi:SubstantiveConceptualDomain
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_ConceptualValue_hasConceptFrom_ConceptualDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptualValue_hasConceptFrom_ConceptualDomain ];
.

# class ConceptualVariable
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::ConceptualVariable
<#ConceptualVariable> a sh:NodeShape;
    sh:targetClass cdi:ConceptualVariable;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ConceptualVariable";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ConceptualVariable
			  cdi:RepresentedVariable
			  cdi:InstanceVariable
			  cdi:DescriptorVariable
			  cdi:ReferenceVariable
			 ) ;
    ];
    # attributes
    sh:property <#ConceptualVariable-descriptiveText>;
    sh:property <#ConceptualVariable-unitOfMeasureKind>;
    # associations from ConceptualVariable
    sh:property <#ConceptualVariable_measures_UnitType>;
    sh:property <#ConceptualVariable_takesSentinelConceptsFrom_SentinelConceptualDomain>;
    sh:property <#ConceptualVariable_takesSubstantiveConceptsFrom_SubstantiveConceptualDomain>;
    # associations to ConceptualVariable
    sh:property <#rev_VariableCollection_has_ConceptualVariable>;
    sh:property <#rev_VariablePosition_indexes_ConceptualVariable>;
    sh:property <#rev_VariableRelationship_hasSource_ConceptualVariable>;
    sh:property <#rev_VariableRelationship_hasTarget_ConceptualVariable>;

    # ---- superclass: Concept
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;





.

<#ConceptualVariable-descriptiveText> a sh:PropertyShape ;
    sh:path cdi:ConceptualVariable-descriptiveText;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ConceptualVariable-unitOfMeasureKind> a sh:PropertyShape ;
    sh:path cdi:ConceptualVariable-unitOfMeasureKind;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#ConceptualVariable_measures_UnitType> a sh:PropertyShape ;
    sh:path cdi:ConceptualVariable_measures_UnitType;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ConceptualVariable_measures_UnitType> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptualVariable_measures_UnitType ];
.
<#ConceptualVariable_takesSentinelConceptsFrom_SentinelConceptualDomain> a sh:PropertyShape ;
    sh:path cdi:ConceptualVariable_takesSentinelConceptsFrom_SentinelConceptualDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:SentinelConceptualDomain
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ConceptualVariable_takesSentinelConceptsFrom_SentinelConceptualDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptualVariable_takesSentinelConceptsFrom_SentinelConceptualDomain ];
.
<#ConceptualVariable_takesSubstantiveConceptsFrom_SubstantiveConceptualDomain> a sh:PropertyShape ;
    sh:path cdi:ConceptualVariable_takesSubstantiveConceptsFrom_SubstantiveConceptualDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:SubstantiveConceptualDomain
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ConceptualVariable_takesSubstantiveConceptsFrom_SubstantiveConceptualDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ConceptualVariable_takesSubstantiveConceptsFrom_SubstantiveConceptualDomain ];
.

# class ConditionalControlLogic
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::ConditionalControlLogic
<#ConditionalControlLogic> a sh:NodeShape;
    sh:targetClass cdi:ConditionalControlLogic;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ConditionalControlLogic";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ConditionalControlLogic
			 ) ;
    ];
    # attributes
    sh:property <#ConditionalControlLogic-condition>;
    sh:property <#ConditionalControlLogic-construct>;
    # associations from ConditionalControlLogic
    # associations to ConditionalControlLogic
    sh:property <#rev_Rule_hasPrecondition_ConditionalControlLogic>;

    # ---- superclass: DeterministicImperative
    # attributes
    # associations from DeterministicImperative
    # associations to DeterministicImperative

    # ---- superclass: ControlLogic
    # attributes
    sh:property <#ControlLogic-description>;
    sh:property <#ControlLogic-displayLabel>;
    sh:property <#ControlLogic-identifier>;
    sh:property <#ControlLogic-name>;
    sh:property <#ControlLogic-workflow>;
    # associations from ControlLogic
    sh:property <#ControlLogic_has_InformationFlowDefinition>;
    sh:property <#ControlLogic_hasSubControlLogic_ControlLogic>;
    sh:property <#ControlLogic_informs_ProcessingAgent>;
    sh:property <#ControlLogic_invokes_Activity>;
    # associations to ControlLogic
    sh:property <#rev_Activity_hasInternal_ControlLogic>;
    sh:property <#rev_ControlLogic_hasSubControlLogic_ControlLogic>;







.

<#ConditionalControlLogic-condition> a sh:PropertyShape ;
    sh:path cdi:ConditionalControlLogic-condition;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CommandCode
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#ConditionalControlLogic-construct> a sh:PropertyShape ;
    sh:path cdi:ConditionalControlLogic-construct;
    sh:node <#ControlConstruct>
    ;
    sh:minCount 1;
    sh:maxCount 1;
.


# class ContextualComponent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::ContextualComponent
<#ContextualComponent> a sh:NodeShape;
    sh:targetClass cdi:ContextualComponent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ContextualComponent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ContextualComponent
			 ) ;
    ];
    # attributes
    # associations from ContextualComponent
    # associations to ContextualComponent

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;





.



# class ControlLogic
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::ControlLogic
<#ControlLogic> a sh:NodeShape;
    sh:targetClass cdi:ControlLogic;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ControlLogic";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ControlLogic
			  cdi:DeterministicImperative
			  cdi:ConditionalControlLogic
			  cdi:Sequence
			  cdi:NonDeterministicDeclarative
			  cdi:RuleBasedScheduling
			  cdi:TemporalConstraints
			  cdi:AllenIntervalAlgebra
			  cdi:TemporalControlConstruct
			 ) ;
    ];
    # attributes
    sh:property <#ControlLogic-description>;
    sh:property <#ControlLogic-displayLabel>;
    sh:property <#ControlLogic-identifier>;
    sh:property <#ControlLogic-name>;
    sh:property <#ControlLogic-workflow>;
    # associations from ControlLogic
    sh:property <#ControlLogic_has_InformationFlowDefinition>;
    sh:property <#ControlLogic_hasSubControlLogic_ControlLogic>;
    sh:property <#ControlLogic_informs_ProcessingAgent>;
    sh:property <#ControlLogic_invokes_Activity>;
    # associations to ControlLogic
    sh:property <#rev_Activity_hasInternal_ControlLogic>;
    sh:property <#rev_ControlLogic_hasSubControlLogic_ControlLogic>;



.

<#ControlLogic-description> a sh:PropertyShape ;
    sh:path cdi:ControlLogic-description;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ControlLogic-displayLabel> a sh:PropertyShape ;
    sh:path cdi:ControlLogic-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#ControlLogic-identifier> a sh:PropertyShape ;
    sh:path cdi:ControlLogic-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ControlLogic-name> a sh:PropertyShape ;
    sh:path cdi:ControlLogic-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#ControlLogic-workflow> a sh:PropertyShape ;
    sh:path cdi:ControlLogic-workflow;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#ControlLogic_has_InformationFlowDefinition> a sh:PropertyShape ;
    sh:path cdi:ControlLogic_has_InformationFlowDefinition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InformationFlowDefinition
      
    ) ]];
.
<#rev_ControlLogic_has_InformationFlowDefinition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ControlLogic_has_InformationFlowDefinition ];
.
<#ControlLogic_hasSubControlLogic_ControlLogic> a sh:PropertyShape ;
    sh:path cdi:ControlLogic_hasSubControlLogic_ControlLogic;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlLogic
        cdi:DeterministicImperative
        cdi:ConditionalControlLogic
        cdi:Sequence
        cdi:NonDeterministicDeclarative
        cdi:RuleBasedScheduling
        cdi:TemporalConstraints
        cdi:AllenIntervalAlgebra
        cdi:TemporalControlConstruct
      
    ) ]];
.
<#rev_ControlLogic_hasSubControlLogic_ControlLogic> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ControlLogic_hasSubControlLogic_ControlLogic ];
    sh:maxCount 1;
.
<#ControlLogic_informs_ProcessingAgent> a sh:PropertyShape ;
    sh:path cdi:ControlLogic_informs_ProcessingAgent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
.
<#rev_ControlLogic_informs_ProcessingAgent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ControlLogic_informs_ProcessingAgent ];
.
<#ControlLogic_invokes_Activity> a sh:PropertyShape ;
    sh:path cdi:ControlLogic_invokes_Activity;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Activity
        cdi:Step
      
    ) ]];
    sh:minCount 1;
.
<#rev_ControlLogic_invokes_Activity> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ControlLogic_invokes_Activity ];
.

# class CorrespondenceTable
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::CorrespondenceTable
<#CorrespondenceTable> a sh:NodeShape;
    sh:targetClass cdi:CorrespondenceTable;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CorrespondenceTable";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CorrespondenceTable
			 ) ;
    ];
    # attributes
    sh:property <#CorrespondenceTable-catalogDetails>;
    sh:property <#CorrespondenceTable-effectiveDates>;
    sh:property <#CorrespondenceTable-identifier>;
    # associations from CorrespondenceTable
    sh:property <#CorrespondenceTable_hasContact_Agent>;
    sh:property <#CorrespondenceTable_isMaintainedBy_Agent>;
    sh:property <#CorrespondenceTable_isOwnedBy_Agent>;
    sh:property <#CorrespondenceTable_has_ConceptMap>;
    sh:property <#CorrespondenceTable_hasSource_Level>;
    sh:property <#CorrespondenceTable_hasTarget_Level>;
    sh:property <#CorrespondenceTable_mapsTo_StatisticalClassification>;
    # associations to CorrespondenceTable



.

<#CorrespondenceTable-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceTable-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#CorrespondenceTable-effectiveDates> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceTable-effectiveDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.
<#CorrespondenceTable-identifier> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceTable-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#CorrespondenceTable_hasContact_Agent> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceTable_hasContact_Agent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Agent
        cdi:Individual
        cdi:Machine
        cdi:Organization
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
.
<#rev_CorrespondenceTable_hasContact_Agent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CorrespondenceTable_hasContact_Agent ];
.
<#CorrespondenceTable_isMaintainedBy_Agent> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceTable_isMaintainedBy_Agent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Agent
        cdi:Individual
        cdi:Machine
        cdi:Organization
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
    sh:maxCount 1;
.
<#rev_CorrespondenceTable_isMaintainedBy_Agent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CorrespondenceTable_isMaintainedBy_Agent ];
.
<#CorrespondenceTable_isOwnedBy_Agent> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceTable_isOwnedBy_Agent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Agent
        cdi:Individual
        cdi:Machine
        cdi:Organization
        cdi:ProcessingAgent
        cdi:Curator
        cdi:Service
      
    ) ]];
.
<#rev_CorrespondenceTable_isOwnedBy_Agent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CorrespondenceTable_isOwnedBy_Agent ];
.
<#CorrespondenceTable_has_ConceptMap> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceTable_has_ConceptMap;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptMap
      
    ) ]];
.
<#rev_CorrespondenceTable_has_ConceptMap> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CorrespondenceTable_has_ConceptMap ];
    sh:maxCount 1;
.
<#CorrespondenceTable_hasSource_Level> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceTable_hasSource_Level;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Level
      
    ) ]];
    sh:maxCount 1;
.
<#rev_CorrespondenceTable_hasSource_Level> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CorrespondenceTable_hasSource_Level ];
.
<#CorrespondenceTable_hasTarget_Level> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceTable_hasTarget_Level;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Level
      
    ) ]];
    sh:maxCount 1;
.
<#rev_CorrespondenceTable_hasTarget_Level> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CorrespondenceTable_hasTarget_Level ];
.
<#CorrespondenceTable_mapsTo_StatisticalClassification> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceTable_mapsTo_StatisticalClassification;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StatisticalClassification
      
    ) ]];
    sh:minCount 2;
.
<#rev_CorrespondenceTable_mapsTo_StatisticalClassification> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:CorrespondenceTable_mapsTo_StatisticalClassification ];
.

# class Curator
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::Curator
<#Curator> a sh:NodeShape;
    sh:targetClass cdi:Curator;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Curator";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Curator
			 ) ;
    ];
    # attributes
    # associations from Curator
    # associations to Curator
    sh:property <#rev_RuleBasedScheduling_has_Curator>;

    # ---- superclass: ProcessingAgent
    # attributes
    # associations from ProcessingAgent
    sh:property <#ProcessingAgent_operatesOn_ProductionEnvironment>;
    sh:property <#ProcessingAgent_performs_Activity>;
    # associations to ProcessingAgent
    sh:property <#rev_ControlLogic_informs_ProcessingAgent>;

    # ---- superclass: Agent
    # attributes
    sh:property <#Agent-catalogDetails>;
    sh:property <#Agent-identifier>;
    sh:property <#Agent-image>;
    sh:property <#Agent-purpose>;
    # associations from Agent
    # associations to Agent
    sh:property <#rev_AgentListing_has_Agent>;
    sh:property <#rev_AgentListing_isMaintainedBy_Agent>;
    sh:property <#rev_AgentPosition_indexes_Agent>;
    sh:property <#rev_AgentRelationship_hasSource_Agent>;
    sh:property <#rev_AgentRelationship_hasTarget_Agent>;
    sh:property <#rev_AuthorizationSource_has_Agent>;
    sh:property <#rev_ClassificationIndex_hasContact_Agent>;
    sh:property <#rev_ClassificationIndex_isMaintainedBy_Agent>;
    sh:property <#rev_ClassificationSeries_isOwnedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_hasContact_Agent>;
    sh:property <#rev_CorrespondenceTable_isMaintainedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_isOwnedBy_Agent>;







.



# class DataPoint
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::DataPoint
<#DataPoint> a sh:NodeShape;
    sh:targetClass cdi:DataPoint;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataPoint";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DataPoint
			 ) ;
    ];
    # attributes
    sh:property <#DataPoint-catalogDetails>;
    sh:property <#DataPoint-identifier>;
    # associations from DataPoint
    sh:property <#DataPoint_isDescribedBy_InstanceVariable>;
    sh:property <#DataPoint_correspondsTo_DataStructureComponent>;
    # associations to DataPoint
    sh:property <#rev_DataPointPosition_indexes_DataPoint>;
    sh:property <#rev_DataPointRelationship_hasSource_DataPoint>;
    sh:property <#rev_DataPointRelationship_hasTarget_DataPoint>;
    sh:property <#rev_DataSet_has_DataPoint>;
    sh:property <#rev_InstanceValue_isStoredIn_DataPoint>;
    sh:property <#rev_Key_identifies_DataPoint>;
    sh:property <#rev_PhysicalRecordSegment_has_DataPoint>;
    sh:property <#rev_ValueMapping_formats_DataPoint>;



.

<#DataPoint-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:DataPoint-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#DataPoint-identifier> a sh:PropertyShape ;
    sh:path cdi:DataPoint-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#DataPoint_isDescribedBy_InstanceVariable> a sh:PropertyShape ;
    sh:path cdi:DataPoint_isDescribedBy_InstanceVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_DataPoint_isDescribedBy_InstanceVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataPoint_isDescribedBy_InstanceVariable ];
.
<#DataPoint_correspondsTo_DataStructureComponent> a sh:PropertyShape ;
    sh:path cdi:DataPoint_correspondsTo_DataStructureComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataStructureComponent
        cdi:AttributeComponent
        cdi:ContextualComponent
        cdi:DataStructure
        cdi:DimensionalDataStructure
        cdi:KeyValueStructure
        cdi:LongDataStructure
        cdi:WideDataStructure
        cdi:DimensionComponent
        cdi:IdentifierComponent
        cdi:MeasureComponent
        cdi:QualifiedMeasure
        cdi:SyntheticIdComponent
        cdi:VariableDescriptorComponent
        cdi:VariableValueComponent
      
    ) ]];
.
<#rev_DataPoint_correspondsTo_DataStructureComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataPoint_correspondsTo_DataStructureComponent ];
.

# class DataPointPosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::DataPointPosition
<#DataPointPosition> a sh:NodeShape;
    sh:targetClass cdi:DataPointPosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataPointPosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DataPointPosition
			 ) ;
    ];
    # attributes
    sh:property <#DataPointPosition-identifier>;
    sh:property <#DataPointPosition-value>;
    # associations from DataPointPosition
    sh:property <#DataPointPosition_indexes_DataPoint>;
    # associations to DataPointPosition
    sh:property <#rev_PhysicalRecordSegment_has_DataPointPosition>;



.

<#DataPointPosition-identifier> a sh:PropertyShape ;
    sh:path cdi:DataPointPosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#DataPointPosition-value> a sh:PropertyShape ;
    sh:path cdi:DataPointPosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#DataPointPosition_indexes_DataPoint> a sh:PropertyShape ;
    sh:path cdi:DataPointPosition_indexes_DataPoint;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataPoint
      
    ) ]];
    sh:maxCount 1;
.
<#rev_DataPointPosition_indexes_DataPoint> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataPointPosition_indexes_DataPoint ];
.

# class DataPointRelationship
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::DataPointRelationship
<#DataPointRelationship> a sh:NodeShape;
    sh:targetClass cdi:DataPointRelationship;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataPointRelationship";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DataPointRelationship
			 ) ;
    ];
    # attributes
    sh:property <#DataPointRelationship-identifier>;
    sh:property <#DataPointRelationship-semantics>;
    # associations from DataPointRelationship
    sh:property <#DataPointRelationship_hasSource_DataPoint>;
    sh:property <#DataPointRelationship_hasTarget_DataPoint>;
    # associations to DataPointRelationship
    sh:property <#rev_PhysicalRecordSegmentStructure_has_DataPointRelationship>;



.

<#DataPointRelationship-identifier> a sh:PropertyShape ;
    sh:path cdi:DataPointRelationship-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#DataPointRelationship-semantics> a sh:PropertyShape ;
    sh:path cdi:DataPointRelationship-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#DataPointRelationship_hasSource_DataPoint> a sh:PropertyShape ;
    sh:path cdi:DataPointRelationship_hasSource_DataPoint;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataPoint
      
    ) ]];
.
<#rev_DataPointRelationship_hasSource_DataPoint> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataPointRelationship_hasSource_DataPoint ];
.
<#DataPointRelationship_hasTarget_DataPoint> a sh:PropertyShape ;
    sh:path cdi:DataPointRelationship_hasTarget_DataPoint;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataPoint
      
    ) ]];
.
<#rev_DataPointRelationship_hasTarget_DataPoint> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataPointRelationship_hasTarget_DataPoint ];
.

# class DataSet
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::DataSet
<#DataSet> a sh:NodeShape;
    sh:targetClass cdi:DataSet;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataSet";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DataSet
			  cdi:DimensionalDataSet
			  cdi:KeyValueDataStore
			  cdi:LongDataSet
			  cdi:WideDataSet
			 ) ;
    ];
    # attributes
    sh:property <#DataSet-catalogDetails>;
    sh:property <#DataSet-identifier>;
    # associations from DataSet
    sh:property <#DataSet_has_DataPoint>;
    sh:property <#DataSet_has_Key>;
    sh:property <#DataSet_isStructuredBy_DataStructure>;
    # associations to DataSet
    sh:property <#rev_LogicalRecord_organizes_DataSet>;
    sh:property <#rev_PhysicalDataSet_correspondsTo_DataSet>;



.

<#DataSet-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:DataSet-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#DataSet-identifier> a sh:PropertyShape ;
    sh:path cdi:DataSet-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#DataSet_has_DataPoint> a sh:PropertyShape ;
    sh:path cdi:DataSet_has_DataPoint;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataPoint
      
    ) ]];
.
<#rev_DataSet_has_DataPoint> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataSet_has_DataPoint ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#DataSet_has_Key> a sh:PropertyShape ;
    sh:path cdi:DataSet_has_Key;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Key
        cdi:DimensionalKey
        cdi:InstanceKey
        cdi:LongKey
        cdi:WideKey
      
    ) ]];
.
<#rev_DataSet_has_Key> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataSet_has_Key ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#DataSet_isStructuredBy_DataStructure> a sh:PropertyShape ;
    sh:path cdi:DataSet_isStructuredBy_DataStructure;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataStructure
        cdi:DimensionalDataStructure
        cdi:KeyValueStructure
        cdi:LongDataStructure
        cdi:WideDataStructure
      
    ) ]];
.
<#rev_DataSet_isStructuredBy_DataStructure> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataSet_isStructuredBy_DataStructure ];
.

# class DataStore
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::DataStore
<#DataStore> a sh:NodeShape;
    sh:targetClass cdi:DataStore;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataStore";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DataStore
			 ) ;
    ];
    # attributes
    sh:property <#DataStore-aboutMissing>;
    sh:property <#DataStore-allowsDuplicates>;
    sh:property <#DataStore-catalogDetails>;
    sh:property <#DataStore-characterSet>;
    sh:property <#DataStore-dataStoreType>;
    sh:property <#DataStore-identifier>;
    sh:property <#DataStore-name>;
    sh:property <#DataStore-purpose>;
    sh:property <#DataStore-recordCount>;
    # associations from DataStore
    sh:property <#DataStore_isDefinedBy_Concept>;
    sh:property <#DataStore_has_LogicalRecord>;
    sh:property <#DataStore_has_LogicalRecordPosition>;
    sh:property <#DataStore_has_RecordRelation>;
    # associations to DataStore
    sh:property <#rev_LogicalRecordRelationStructure_structures_DataStore>;
    sh:property <#rev_PhysicalDataSet_formats_DataStore>;



.

<#DataStore-aboutMissing> a sh:PropertyShape ;
    sh:path cdi:DataStore-aboutMissing;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#DataStore-allowsDuplicates> a sh:PropertyShape ;
    sh:path cdi:DataStore-allowsDuplicates;
    sh:datatype xsd:boolean;
    sh:minCount 1;
    sh:maxCount 1;
.
<#DataStore-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:DataStore-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#DataStore-characterSet> a sh:PropertyShape ;
    sh:path cdi:DataStore-characterSet;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#DataStore-dataStoreType> a sh:PropertyShape ;
    sh:path cdi:DataStore-dataStoreType;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#DataStore-identifier> a sh:PropertyShape ;
    sh:path cdi:DataStore-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#DataStore-name> a sh:PropertyShape ;
    sh:path cdi:DataStore-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#DataStore-purpose> a sh:PropertyShape ;
    sh:path cdi:DataStore-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#DataStore-recordCount> a sh:PropertyShape ;
    sh:path cdi:DataStore-recordCount;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.

<#DataStore_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:DataStore_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_DataStore_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataStore_isDefinedBy_Concept ];
.
<#DataStore_has_LogicalRecord> a sh:PropertyShape ;
    sh:path cdi:DataStore_has_LogicalRecord;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LogicalRecord
      
    ) ]];
.
<#rev_DataStore_has_LogicalRecord> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataStore_has_LogicalRecord ];
.
<#DataStore_has_LogicalRecordPosition> a sh:PropertyShape ;
    sh:path cdi:DataStore_has_LogicalRecordPosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LogicalRecordPosition
      
    ) ]];
.
<#rev_DataStore_has_LogicalRecordPosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataStore_has_LogicalRecordPosition ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#DataStore_has_RecordRelation> a sh:PropertyShape ;
    sh:path cdi:DataStore_has_RecordRelation;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:RecordRelation
      
    ) ]];
    sh:maxCount 1;
.
<#rev_DataStore_has_RecordRelation> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataStore_has_RecordRelation ];
.

# class DataStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::DataStructure
<#DataStructure> a sh:NodeShape;
    sh:targetClass cdi:DataStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DataStructure
			  cdi:DimensionalDataStructure
			  cdi:KeyValueStructure
			  cdi:LongDataStructure
			  cdi:WideDataStructure
			 ) ;
    ];
    # attributes
    # associations from DataStructure
    sh:property <#DataStructure_has_ComponentPosition>;
    sh:property <#DataStructure_has_DataStructureComponent>;
    sh:property <#DataStructure_has_ForeignKey>;
    sh:property <#DataStructure_has_PrimaryKey>;
    # associations to DataStructure
    sh:property <#rev_DataSet_isStructuredBy_DataStructure>;
    sh:property <#rev_PhysicalDataSetStructure_correspondsTo_DataStructure>;

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;





.


<#DataStructure_has_ComponentPosition> a sh:PropertyShape ;
    sh:path cdi:DataStructure_has_ComponentPosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ComponentPosition
      
    ) ]];
.
<#rev_DataStructure_has_ComponentPosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataStructure_has_ComponentPosition ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#DataStructure_has_DataStructureComponent> a sh:PropertyShape ;
    sh:path cdi:DataStructure_has_DataStructureComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataStructureComponent
        cdi:AttributeComponent
        cdi:ContextualComponent
        cdi:DataStructure
        cdi:DimensionalDataStructure
        cdi:KeyValueStructure
        cdi:LongDataStructure
        cdi:WideDataStructure
        cdi:DimensionComponent
        cdi:IdentifierComponent
        cdi:MeasureComponent
        cdi:QualifiedMeasure
        cdi:SyntheticIdComponent
        cdi:VariableDescriptorComponent
        cdi:VariableValueComponent
      
    ) ]];
.
<#rev_DataStructure_has_DataStructureComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataStructure_has_DataStructureComponent ];
    sh:maxCount 1;
.
<#DataStructure_has_ForeignKey> a sh:PropertyShape ;
    sh:path cdi:DataStructure_has_ForeignKey;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ForeignKey
      
    ) ]];
.
<#rev_DataStructure_has_ForeignKey> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataStructure_has_ForeignKey ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#DataStructure_has_PrimaryKey> a sh:PropertyShape ;
    sh:path cdi:DataStructure_has_PrimaryKey;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PrimaryKey
      
    ) ]];
    sh:maxCount 1;
.
<#rev_DataStructure_has_PrimaryKey> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataStructure_has_PrimaryKey ];
    sh:minCount 1;
    sh:maxCount 1;
.

# class DataStructureComponent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::DataStructureComponent
<#DataStructureComponent> a sh:NodeShape;
    sh:targetClass cdi:DataStructureComponent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DataStructureComponent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DataStructureComponent
			  cdi:AttributeComponent
			  cdi:ContextualComponent
			  cdi:DataStructure
			  cdi:DimensionalDataStructure
			  cdi:KeyValueStructure
			  cdi:LongDataStructure
			  cdi:WideDataStructure
			  cdi:DimensionComponent
			  cdi:IdentifierComponent
			  cdi:MeasureComponent
			  cdi:QualifiedMeasure
			  cdi:SyntheticIdComponent
			  cdi:VariableDescriptorComponent
			  cdi:VariableValueComponent
			 ) ;
    ];
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;



.

<#DataStructureComponent-identifier> a sh:PropertyShape ;
    sh:path cdi:DataStructureComponent-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#DataStructureComponent-semantic> a sh:PropertyShape ;
    sh:path cdi:DataStructureComponent-semantic;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PairedControlledVocabularyEntry
      
    ) ]];
.
<#DataStructureComponent-specialization> a sh:PropertyShape ;
    sh:path cdi:DataStructureComponent-specialization;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:SpecializationRole
        cdi:GeoRole
        cdi:TimeRole
      
    ) ]];
    sh:maxCount 1;
.

<#DataStructureComponent_isDefinedBy_RepresentedVariable> a sh:PropertyShape ;
    sh:path cdi:DataStructureComponent_isDefinedBy_RepresentedVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
      
    ) ]];
    sh:maxCount 1;
.
<#rev_DataStructureComponent_isDefinedBy_RepresentedVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DataStructureComponent_isDefinedBy_RepresentedVariable ];
.

# class Datum
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Datum
<#Datum> a sh:NodeShape;
    sh:targetClass cdi:Datum;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Datum";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Datum
			  cdi:RevisableDatum
			 ) ;
    ];
    # attributes
    sh:property <#Datum-catalogDetails>;
    sh:property <#Datum-identifier>;
    # associations from Datum
    sh:property <#Datum_isBoundedBy_InstanceVariable>;
    sh:property <#Datum_denotes_ConceptualValue>;
    sh:property <#Datum_uses_InstanceValue>;
    sh:property <#Datum_uses_Notation>;
    # associations to Datum



.

<#Datum-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:Datum-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#Datum-identifier> a sh:PropertyShape ;
    sh:path cdi:Datum-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#Datum_isBoundedBy_InstanceVariable> a sh:PropertyShape ;
    sh:path cdi:Datum_isBoundedBy_InstanceVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
      
    ) ]];
    sh:minCount 1;
.
<#rev_Datum_isBoundedBy_InstanceVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Datum_isBoundedBy_InstanceVariable ];
.
<#Datum_denotes_ConceptualValue> a sh:PropertyShape ;
    sh:path cdi:Datum_denotes_ConceptualValue;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_Datum_denotes_ConceptualValue> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Datum_denotes_ConceptualValue ];
.
<#Datum_uses_InstanceValue> a sh:PropertyShape ;
    sh:path cdi:Datum_uses_InstanceValue;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InstanceValue
        cdi:KeyMember
        cdi:Descriptor
        cdi:DimensionalKeyMember
        cdi:LongMainKeyMember
        cdi:MainKeyMember
        cdi:WideKeyMember
        cdi:ReferenceValue
      
    ) ]];
    sh:minCount 1;
.
<#rev_Datum_uses_InstanceValue> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Datum_uses_InstanceValue ];
.
<#Datum_uses_Notation> a sh:PropertyShape ;
    sh:path cdi:Datum_uses_Notation;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Notation
      
    ) ]];
    sh:maxCount 1;
.
<#rev_Datum_uses_Notation> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Datum_uses_Notation ];
.

# class Descriptor
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::Descriptor
<#Descriptor> a sh:NodeShape;
    sh:targetClass cdi:Descriptor;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Descriptor";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Descriptor
			 ) ;
    ];
    # attributes
    # associations from Descriptor
    sh:property <#Descriptor_hasValueFrom_DescriptorValueDomain>;
    sh:property <#Descriptor_identifies_ReferenceVariable>;
    sh:property <#Descriptor_refersTo_ReferenceValue>;
    # associations to Descriptor

    # ---- superclass: KeyMember
    # attributes
    # associations from KeyMember
    sh:property <#KeyMember_isBasedOn_DataStructureComponent>;
    # associations to KeyMember
    sh:property <#rev_Key_has_KeyMember>;

    # ---- superclass: InstanceValue
    # attributes
    sh:property <#InstanceValue-content>;
    sh:property <#InstanceValue-identifier>;
    sh:property <#InstanceValue-whiteSpace>;
    # associations from InstanceValue
    sh:property <#InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#InstanceValue_isStoredIn_DataPoint>;
    sh:property <#InstanceValue_represents_ConceptualValue>;
    # associations to InstanceValue
    sh:property <#rev_Datum_uses_InstanceValue>;
    sh:property <#rev_InstanceKey_has_InstanceValue>;







.


<#Descriptor_hasValueFrom_DescriptorValueDomain> a sh:PropertyShape ;
    sh:path cdi:Descriptor_hasValueFrom_DescriptorValueDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DescriptorValueDomain
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_Descriptor_hasValueFrom_DescriptorValueDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Descriptor_hasValueFrom_DescriptorValueDomain ];
.
<#Descriptor_identifies_ReferenceVariable> a sh:PropertyShape ;
    sh:path cdi:Descriptor_identifies_ReferenceVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ReferenceVariable
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_Descriptor_identifies_ReferenceVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Descriptor_identifies_ReferenceVariable ];
.
<#Descriptor_refersTo_ReferenceValue> a sh:PropertyShape ;
    sh:path cdi:Descriptor_refersTo_ReferenceValue;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ReferenceValue
      
    ) ]];
    sh:minCount 1;
.
<#rev_Descriptor_refersTo_ReferenceValue> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Descriptor_refersTo_ReferenceValue ];
    sh:minCount 1;
    sh:maxCount 1;
.

# class DescriptorValueDomain
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::DescriptorValueDomain
<#DescriptorValueDomain> a sh:NodeShape;
    sh:targetClass cdi:DescriptorValueDomain;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DescriptorValueDomain";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DescriptorValueDomain
			 ) ;
    ];
    # attributes
    # associations from DescriptorValueDomain
    # associations to DescriptorValueDomain
    sh:property <#rev_Descriptor_hasValueFrom_DescriptorValueDomain>;
    sh:property <#rev_DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain>;

    # ---- superclass: SubstantiveValueDomain
    # attributes
    # associations from SubstantiveValueDomain
    sh:property <#SubstantiveValueDomain_takesConceptsFrom_SubstantiveConceptualDomain>;
    sh:property <#SubstantiveValueDomain_isDescribedBy_ValueAndConceptDescription>;
    sh:property <#SubstantiveValueDomain_takesValuesFrom_EnumerationDomain>;
    # associations to SubstantiveValueDomain
    sh:property <#rev_RepresentedVariable_takesSubstantiveValuesFrom_SubstantiveValueDomain>;
    sh:property <#rev_MainKeyMember_hasValueFrom_SubstantiveValueDomain>;

    # ---- superclass: ValueDomain
    # attributes
    sh:property <#ValueDomain-catalogDetails>;
    sh:property <#ValueDomain-displayLabel>;
    sh:property <#ValueDomain-identifier>;
    sh:property <#ValueDomain-recommendedDataType>;
    # associations from ValueDomain
    # associations to ValueDomain
    sh:property <#rev_InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#rev_DimensionComponent_isStructuredBy_ValueDomain>;







.



# class DescriptorVariable
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::DescriptorVariable
<#DescriptorVariable> a sh:NodeShape;
    sh:targetClass cdi:DescriptorVariable;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DescriptorVariable";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DescriptorVariable
			 ) ;
    ];
    # attributes
    # associations from DescriptorVariable
    sh:property <#DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain>;
    # associations to DescriptorVariable
    sh:property <#rev_VariableDescriptorComponent_isDefinedBy_DescriptorVariable>;

    # ---- superclass: InstanceVariable
    # attributes
    sh:property <#InstanceVariable-physicalDataType>;
    sh:property <#InstanceVariable-platformType>;
    sh:property <#InstanceVariable-source>;
    sh:property <#InstanceVariable-variableFunction>;
    # associations from InstanceVariable
    sh:property <#InstanceVariable_has_PhysicalSegmentLayout>;
    sh:property <#InstanceVariable_has_ValueMapping>;
    # associations to InstanceVariable
    sh:property <#rev_CategoryStatistic_appliesTo_InstanceVariable>;
    sh:property <#rev_DataPoint_isDescribedBy_InstanceVariable>;
    sh:property <#rev_Datum_isBoundedBy_InstanceVariable>;
    sh:property <#rev_InstanceVariableMap_hasSource_InstanceVariable>;
    sh:property <#rev_InstanceVariableMap_hasTarget_InstanceVariable>;
    sh:property <#rev_LogicalRecord_has_InstanceVariable>;
    sh:property <#rev_PhysicalDataSet_has_InstanceVariable>;

    # ---- superclass: RepresentedVariable
    # attributes
    sh:property <#RepresentedVariable-describedUnitOfMeasure>;
    sh:property <#RepresentedVariable-hasIntendedDataType>;
    sh:property <#RepresentedVariable-simpleUnitOfMeasure>;
    # associations from RepresentedVariable
    sh:property <#RepresentedVariable_takesSentinelValuesFrom_SentinelValueDomain>;
    sh:property <#RepresentedVariable_takesSubstantiveValuesFrom_SubstantiveValueDomain>;
    # associations to RepresentedVariable
    sh:property <#rev_DataStructureComponent_isDefinedBy_RepresentedVariable>;

    # ---- superclass: ConceptualVariable
    # attributes
    sh:property <#ConceptualVariable-descriptiveText>;
    sh:property <#ConceptualVariable-unitOfMeasureKind>;
    # associations from ConceptualVariable
    sh:property <#ConceptualVariable_measures_UnitType>;
    sh:property <#ConceptualVariable_takesSentinelConceptsFrom_SentinelConceptualDomain>;
    sh:property <#ConceptualVariable_takesSubstantiveConceptsFrom_SubstantiveConceptualDomain>;
    # associations to ConceptualVariable
    sh:property <#rev_VariableCollection_has_ConceptualVariable>;
    sh:property <#rev_VariablePosition_indexes_ConceptualVariable>;
    sh:property <#rev_VariableRelationship_hasSource_ConceptualVariable>;
    sh:property <#rev_VariableRelationship_hasTarget_ConceptualVariable>;

    # ---- superclass: Concept
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;











.


<#DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain> a sh:PropertyShape ;
    sh:path cdi:DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DescriptorValueDomain
      
    ) ]];
    sh:maxCount 1;
.
<#rev_DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DescriptorVariable_takesSubstantiveValuesFrom_DescriptorValueDomain ];
.

# class DeterministicImperative
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::DeterministicImperative
<#DeterministicImperative> a sh:NodeShape;
    sh:targetClass cdi:DeterministicImperative;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DeterministicImperative";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DeterministicImperative
			  cdi:ConditionalControlLogic
			  cdi:Sequence
			 ) ;
    ];
    # attributes
    # associations from DeterministicImperative
    # associations to DeterministicImperative

    # ---- superclass: ControlLogic
    # attributes
    sh:property <#ControlLogic-description>;
    sh:property <#ControlLogic-displayLabel>;
    sh:property <#ControlLogic-identifier>;
    sh:property <#ControlLogic-name>;
    sh:property <#ControlLogic-workflow>;
    # associations from ControlLogic
    sh:property <#ControlLogic_has_InformationFlowDefinition>;
    sh:property <#ControlLogic_hasSubControlLogic_ControlLogic>;
    sh:property <#ControlLogic_informs_ProcessingAgent>;
    sh:property <#ControlLogic_invokes_Activity>;
    # associations to ControlLogic
    sh:property <#rev_Activity_hasInternal_ControlLogic>;
    sh:property <#rev_ControlLogic_hasSubControlLogic_ControlLogic>;





.



# class DimensionComponent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::DimensionComponent
<#DimensionComponent> a sh:NodeShape;
    sh:targetClass cdi:DimensionComponent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DimensionComponent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DimensionComponent
			 ) ;
    ];
    # attributes
    sh:property <#DimensionComponent-categoricalAdditivity>;
    # associations from DimensionComponent
    sh:property <#DimensionComponent_isStructuredBy_ValueDomain>;
    # associations to DimensionComponent
    sh:property <#rev_DimensionGroup_has_DimensionComponent>;

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;





.

<#DimensionComponent-categoricalAdditivity> a sh:PropertyShape ;
    sh:path cdi:DimensionComponent-categoricalAdditivity;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.

<#DimensionComponent_isStructuredBy_ValueDomain> a sh:PropertyShape ;
    sh:path cdi:DimensionComponent_isStructuredBy_ValueDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ValueDomain
        cdi:ReferenceValueDomain
        cdi:SentinelValueDomain
        cdi:SubstantiveValueDomain
        cdi:DescriptorValueDomain
      
    ) ]];
    sh:maxCount 1;
.
<#rev_DimensionComponent_isStructuredBy_ValueDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DimensionComponent_isStructuredBy_ValueDomain ];
.

# class DimensionGroup
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Dimensional::DimensionGroup
<#DimensionGroup> a sh:NodeShape;
    sh:targetClass cdi:DimensionGroup;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DimensionGroup";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DimensionGroup
			 ) ;
    ];
    # attributes
    sh:property <#DimensionGroup-identifier>;
    sh:property <#DimensionGroup-name>;
    # associations from DimensionGroup
    sh:property <#DimensionGroup_has_DimensionComponent>;
    # associations to DimensionGroup
    sh:property <#rev_DimensionalDataStructure_uses_DimensionGroup>;



.

<#DimensionGroup-identifier> a sh:PropertyShape ;
    sh:path cdi:DimensionGroup-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#DimensionGroup-name> a sh:PropertyShape ;
    sh:path cdi:DimensionGroup-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.

<#DimensionGroup_has_DimensionComponent> a sh:PropertyShape ;
    sh:path cdi:DimensionGroup_has_DimensionComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DimensionComponent
      
    ) ]];
    sh:minCount 1;
.
<#rev_DimensionGroup_has_DimensionComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DimensionGroup_has_DimensionComponent ];
.

# class DimensionalDataSet
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Dimensional::DimensionalDataSet
<#DimensionalDataSet> a sh:NodeShape;
    sh:targetClass cdi:DimensionalDataSet;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DimensionalDataSet";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DimensionalDataSet
			 ) ;
    ];
    # attributes
    sh:property <#DimensionalDataSet-name>;
    # associations from DimensionalDataSet
    sh:property <#DimensionalDataSet_represents_ScopedMeasure>;
    # associations to DimensionalDataSet

    # ---- superclass: DataSet
    # attributes
    sh:property <#DataSet-catalogDetails>;
    sh:property <#DataSet-identifier>;
    # associations from DataSet
    sh:property <#DataSet_has_DataPoint>;
    sh:property <#DataSet_has_Key>;
    sh:property <#DataSet_isStructuredBy_DataStructure>;
    # associations to DataSet
    sh:property <#rev_LogicalRecord_organizes_DataSet>;
    sh:property <#rev_PhysicalDataSet_correspondsTo_DataSet>;





.

<#DimensionalDataSet-name> a sh:PropertyShape ;
    sh:path cdi:DimensionalDataSet-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.

<#DimensionalDataSet_represents_ScopedMeasure> a sh:PropertyShape ;
    sh:path cdi:DimensionalDataSet_represents_ScopedMeasure;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ScopedMeasure
      
    ) ]];
.
<#rev_DimensionalDataSet_represents_ScopedMeasure> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DimensionalDataSet_represents_ScopedMeasure ];
.

# class DimensionalDataStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Dimensional::DimensionalDataStructure
<#DimensionalDataStructure> a sh:NodeShape;
    sh:targetClass cdi:DimensionalDataStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DimensionalDataStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DimensionalDataStructure
			 ) ;
    ];
    # attributes
    # associations from DimensionalDataStructure
    sh:property <#DimensionalDataStructure_uses_DimensionGroup>;
    # associations to DimensionalDataStructure

    # ---- superclass: DataStructure
    # attributes
    # associations from DataStructure
    sh:property <#DataStructure_has_ComponentPosition>;
    sh:property <#DataStructure_has_DataStructureComponent>;
    sh:property <#DataStructure_has_ForeignKey>;
    sh:property <#DataStructure_has_PrimaryKey>;
    # associations to DataStructure
    sh:property <#rev_DataSet_isStructuredBy_DataStructure>;
    sh:property <#rev_PhysicalDataSetStructure_correspondsTo_DataStructure>;

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;







.


<#DimensionalDataStructure_uses_DimensionGroup> a sh:PropertyShape ;
    sh:path cdi:DimensionalDataStructure_uses_DimensionGroup;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DimensionGroup
      
    ) ]];
.
<#rev_DimensionalDataStructure_uses_DimensionGroup> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DimensionalDataStructure_uses_DimensionGroup ];
.

# class DimensionalKey
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Dimensional::DimensionalKey
<#DimensionalKey> a sh:NodeShape;
    sh:targetClass cdi:DimensionalKey;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DimensionalKey";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DimensionalKey
			 ) ;
    ];
    # attributes
    # associations from DimensionalKey
    # associations to DimensionalKey

    # ---- superclass: Key
    # attributes
    sh:property <#Key-identifier>;
    # associations from Key
    sh:property <#Key_correspondsTo_Unit>;
    sh:property <#Key_correspondsTo_Universe>;
    sh:property <#Key_has_KeyMember>;
    sh:property <#Key_identifies_DataPoint>;
    sh:property <#Key_represents_KeyDefinition>;
    # associations to Key
    sh:property <#rev_DataSet_has_Key>;





.



# class DimensionalKeyDefinition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Dimensional::DimensionalKeyDefinition
<#DimensionalKeyDefinition> a sh:NodeShape;
    sh:targetClass cdi:DimensionalKeyDefinition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DimensionalKeyDefinition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DimensionalKeyDefinition
			 ) ;
    ];
    # attributes
    # associations from DimensionalKeyDefinition
    # associations to DimensionalKeyDefinition
    sh:property <#rev_ScopedMeasure_circumscribes_DimensionalKeyDefinition>;

    # ---- superclass: KeyDefinition
    # attributes
    sh:property <#KeyDefinition-identifier>;
    # associations from KeyDefinition
    sh:property <#KeyDefinition_correspondsTo_Unit>;
    sh:property <#KeyDefinition_correspondsTo_Universe>;
    sh:property <#KeyDefinition_has_KeyDefinitionMember>;
    # associations to KeyDefinition
    sh:property <#rev_Key_represents_KeyDefinition>;





.



# class DimensionalKeyDefinitionMember
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Dimensional::DimensionalKeyDefinitionMember
<#DimensionalKeyDefinitionMember> a sh:NodeShape;
    sh:targetClass cdi:DimensionalKeyDefinitionMember;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DimensionalKeyDefinitionMember";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DimensionalKeyDefinitionMember
			 ) ;
    ];
    # attributes
    # associations from DimensionalKeyDefinitionMember
    sh:property <#DimensionalKeyDefinitionMember_isRepresentedBy_DimensionalKeyMember>;
    # associations to DimensionalKeyDefinitionMember

    # ---- superclass: ConceptualValue
    # attributes
    # associations from ConceptualValue
    sh:property <#ConceptualValue_hasConceptFrom_ConceptualDomain>;
    # associations to ConceptualValue
    sh:property <#rev_Datum_denotes_ConceptualValue>;
    sh:property <#rev_InstanceValue_represents_ConceptualValue>;

    # ---- superclass: Concept
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;







.


<#DimensionalKeyDefinitionMember_isRepresentedBy_DimensionalKeyMember> a sh:PropertyShape ;
    sh:path cdi:DimensionalKeyDefinitionMember_isRepresentedBy_DimensionalKeyMember;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DimensionalKeyMember
      
    ) ]];
    sh:minCount 1;
.
<#rev_DimensionalKeyDefinitionMember_isRepresentedBy_DimensionalKeyMember> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DimensionalKeyDefinitionMember_isRepresentedBy_DimensionalKeyMember ];
    sh:maxCount 1;
.

# class DimensionalKeyMember
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Dimensional::DimensionalKeyMember
<#DimensionalKeyMember> a sh:NodeShape;
    sh:targetClass cdi:DimensionalKeyMember;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DimensionalKeyMember";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DimensionalKeyMember
			 ) ;
    ];
    # attributes
    # associations from DimensionalKeyMember
    sh:property <#DimensionalKeyMember_hasValueFrom_CodeList>;
    # associations to DimensionalKeyMember
    sh:property <#rev_DimensionalKeyDefinitionMember_isRepresentedBy_DimensionalKeyMember>;

    # ---- superclass: KeyMember
    # attributes
    # associations from KeyMember
    sh:property <#KeyMember_isBasedOn_DataStructureComponent>;
    # associations to KeyMember
    sh:property <#rev_Key_has_KeyMember>;

    # ---- superclass: InstanceValue
    # attributes
    sh:property <#InstanceValue-content>;
    sh:property <#InstanceValue-identifier>;
    sh:property <#InstanceValue-whiteSpace>;
    # associations from InstanceValue
    sh:property <#InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#InstanceValue_isStoredIn_DataPoint>;
    sh:property <#InstanceValue_represents_ConceptualValue>;
    # associations to InstanceValue
    sh:property <#rev_Datum_uses_InstanceValue>;
    sh:property <#rev_InstanceKey_has_InstanceValue>;







.


<#DimensionalKeyMember_hasValueFrom_CodeList> a sh:PropertyShape ;
    sh:path cdi:DimensionalKeyMember_hasValueFrom_CodeList;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CodeList
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_DimensionalKeyMember_hasValueFrom_CodeList> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:DimensionalKeyMember_hasValueFrom_CodeList ];
.

# class EnumerationDomain
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::EnumerationDomain
<#EnumerationDomain> a sh:NodeShape;
    sh:targetClass cdi:EnumerationDomain;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/EnumerationDomain";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:EnumerationDomain
			  cdi:CodeList
			  cdi:StatisticalClassification
			 ) ;
    ];
    # attributes
    sh:property <#EnumerationDomain-identifier>;
    sh:property <#EnumerationDomain-name>;
    sh:property <#EnumerationDomain-purpose>;
    # associations from EnumerationDomain
    sh:property <#EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#EnumerationDomain_references_CategorySet>;
    sh:property <#EnumerationDomain_uses_LevelStructure>;
    # associations to EnumerationDomain
    sh:property <#rev_SentinelValueDomain_takesValuesFrom_EnumerationDomain>;
    sh:property <#rev_SubstantiveValueDomain_takesValuesFrom_EnumerationDomain>;



.

<#EnumerationDomain-identifier> a sh:PropertyShape ;
    sh:path cdi:EnumerationDomain-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#EnumerationDomain-name> a sh:PropertyShape ;
    sh:path cdi:EnumerationDomain-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#EnumerationDomain-purpose> a sh:PropertyShape ;
    sh:path cdi:EnumerationDomain-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.

<#EnumerationDomain_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:EnumerationDomain_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_EnumerationDomain_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:EnumerationDomain_isDefinedBy_Concept ];
.
<#EnumerationDomain_references_CategorySet> a sh:PropertyShape ;
    sh:path cdi:EnumerationDomain_references_CategorySet;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CategorySet
      
    ) ]];
    sh:maxCount 1;
.
<#rev_EnumerationDomain_references_CategorySet> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:EnumerationDomain_references_CategorySet ];
.
<#EnumerationDomain_uses_LevelStructure> a sh:PropertyShape ;
    sh:path cdi:EnumerationDomain_uses_LevelStructure;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LevelStructure
      
    ) ]];
    sh:maxCount 1;
.
<#rev_EnumerationDomain_uses_LevelStructure> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:EnumerationDomain_uses_LevelStructure ];
.

# class ForeignKey
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::ForeignKey
<#ForeignKey> a sh:NodeShape;
    sh:targetClass cdi:ForeignKey;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ForeignKey";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ForeignKey
			 ) ;
    ];
    # attributes
    sh:property <#ForeignKey-identifier>;
    # associations from ForeignKey
    sh:property <#ForeignKey_isComposedOf_ForeignKeyComponent>;
    # associations to ForeignKey
    sh:property <#rev_DataStructure_has_ForeignKey>;



.

<#ForeignKey-identifier> a sh:PropertyShape ;
    sh:path cdi:ForeignKey-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#ForeignKey_isComposedOf_ForeignKeyComponent> a sh:PropertyShape ;
    sh:path cdi:ForeignKey_isComposedOf_ForeignKeyComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ForeignKeyComponent
      
    ) ]];
    sh:minCount 1;
.
<#rev_ForeignKey_isComposedOf_ForeignKeyComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ForeignKey_isComposedOf_ForeignKeyComponent ];
    sh:minCount 1;
    sh:maxCount 1;
.

# class ForeignKeyComponent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::ForeignKeyComponent
<#ForeignKeyComponent> a sh:NodeShape;
    sh:targetClass cdi:ForeignKeyComponent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ForeignKeyComponent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ForeignKeyComponent
			 ) ;
    ];
    # attributes
    sh:property <#ForeignKeyComponent-identifier>;
    # associations from ForeignKeyComponent
    sh:property <#ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#ForeignKeyComponent_references_PrimaryKeyComponent>;
    # associations to ForeignKeyComponent
    sh:property <#rev_ForeignKey_isComposedOf_ForeignKeyComponent>;



.

<#ForeignKeyComponent-identifier> a sh:PropertyShape ;
    sh:path cdi:ForeignKeyComponent-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#ForeignKeyComponent_correspondsTo_DataStructureComponent> a sh:PropertyShape ;
    sh:path cdi:ForeignKeyComponent_correspondsTo_DataStructureComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataStructureComponent
        cdi:AttributeComponent
        cdi:ContextualComponent
        cdi:DataStructure
        cdi:DimensionalDataStructure
        cdi:KeyValueStructure
        cdi:LongDataStructure
        cdi:WideDataStructure
        cdi:DimensionComponent
        cdi:IdentifierComponent
        cdi:MeasureComponent
        cdi:QualifiedMeasure
        cdi:SyntheticIdComponent
        cdi:VariableDescriptorComponent
        cdi:VariableValueComponent
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ForeignKeyComponent_correspondsTo_DataStructureComponent ];
    sh:maxCount 1;
.
<#ForeignKeyComponent_references_PrimaryKeyComponent> a sh:PropertyShape ;
    sh:path cdi:ForeignKeyComponent_references_PrimaryKeyComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PrimaryKeyComponent
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_ForeignKeyComponent_references_PrimaryKeyComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ForeignKeyComponent_references_PrimaryKeyComponent ];
.

# class IdentifierComponent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::IdentifierComponent
<#IdentifierComponent> a sh:NodeShape;
    sh:targetClass cdi:IdentifierComponent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/IdentifierComponent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:IdentifierComponent
			 ) ;
    ];
    # attributes
    # associations from IdentifierComponent
    # associations to IdentifierComponent

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;





.



# class Individual
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Agents::Individual
<#Individual> a sh:NodeShape;
    sh:targetClass cdi:Individual;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Individual";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Individual
			 ) ;
    ];
    # attributes
    sh:property <#Individual-contactInformation>;
    sh:property <#Individual-individualName>;
    # associations from Individual
    # associations to Individual

    # ---- superclass: Agent
    # attributes
    sh:property <#Agent-catalogDetails>;
    sh:property <#Agent-identifier>;
    sh:property <#Agent-image>;
    sh:property <#Agent-purpose>;
    # associations from Agent
    # associations to Agent
    sh:property <#rev_AgentListing_has_Agent>;
    sh:property <#rev_AgentListing_isMaintainedBy_Agent>;
    sh:property <#rev_AgentPosition_indexes_Agent>;
    sh:property <#rev_AgentRelationship_hasSource_Agent>;
    sh:property <#rev_AgentRelationship_hasTarget_Agent>;
    sh:property <#rev_AuthorizationSource_has_Agent>;
    sh:property <#rev_ClassificationIndex_hasContact_Agent>;
    sh:property <#rev_ClassificationIndex_isMaintainedBy_Agent>;
    sh:property <#rev_ClassificationSeries_isOwnedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_hasContact_Agent>;
    sh:property <#rev_CorrespondenceTable_isMaintainedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_isOwnedBy_Agent>;





.

<#Individual-contactInformation> a sh:PropertyShape ;
    sh:path cdi:Individual-contactInformation;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ContactInformation
      
    ) ]];
    sh:maxCount 1;
.
<#Individual-individualName> a sh:PropertyShape ;
    sh:path cdi:Individual-individualName;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:IndividualName
      
    ) ]];
.


# class InformationFlowDefinition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::InformationFlowDefinition
<#InformationFlowDefinition> a sh:NodeShape;
    sh:targetClass cdi:InformationFlowDefinition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/InformationFlowDefinition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:InformationFlowDefinition
			 ) ;
    ];
    # attributes
    sh:property <#InformationFlowDefinition-identifier>;
    # associations from InformationFlowDefinition
    sh:property <#InformationFlowDefinition_from_Parameter>;
    sh:property <#InformationFlowDefinition_to_Parameter>;
    # associations to InformationFlowDefinition
    sh:property <#rev_ControlLogic_has_InformationFlowDefinition>;



.

<#InformationFlowDefinition-identifier> a sh:PropertyShape ;
    sh:path cdi:InformationFlowDefinition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#InformationFlowDefinition_from_Parameter> a sh:PropertyShape ;
    sh:path cdi:InformationFlowDefinition_from_Parameter;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Parameter
      
    ) ]];
    sh:maxCount 1;
.
<#rev_InformationFlowDefinition_from_Parameter> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:InformationFlowDefinition_from_Parameter ];
.
<#InformationFlowDefinition_to_Parameter> a sh:PropertyShape ;
    sh:path cdi:InformationFlowDefinition_to_Parameter;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Parameter
      
    ) ]];
.
<#rev_InformationFlowDefinition_to_Parameter> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:InformationFlowDefinition_to_Parameter ];
.

# class InstanceKey
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::InstanceKey
<#InstanceKey> a sh:NodeShape;
    sh:targetClass cdi:InstanceKey;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/InstanceKey";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:InstanceKey
			 ) ;
    ];
    # attributes
    # associations from InstanceKey
    sh:property <#InstanceKey_has_InstanceValue>;
    sh:property <#InstanceKey_refersTo_ReferenceValue>;
    # associations to InstanceKey

    # ---- superclass: Key
    # attributes
    sh:property <#Key-identifier>;
    # associations from Key
    sh:property <#Key_correspondsTo_Unit>;
    sh:property <#Key_correspondsTo_Universe>;
    sh:property <#Key_has_KeyMember>;
    sh:property <#Key_identifies_DataPoint>;
    sh:property <#Key_represents_KeyDefinition>;
    # associations to Key
    sh:property <#rev_DataSet_has_Key>;





.


<#InstanceKey_has_InstanceValue> a sh:PropertyShape ;
    sh:path cdi:InstanceKey_has_InstanceValue;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InstanceValue
        cdi:KeyMember
        cdi:Descriptor
        cdi:DimensionalKeyMember
        cdi:LongMainKeyMember
        cdi:MainKeyMember
        cdi:WideKeyMember
        cdi:ReferenceValue
      
    ) ]];
    sh:maxCount 1;
.
<#rev_InstanceKey_has_InstanceValue> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:InstanceKey_has_InstanceValue ];
.
<#InstanceKey_refersTo_ReferenceValue> a sh:PropertyShape ;
    sh:path cdi:InstanceKey_refersTo_ReferenceValue;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ReferenceValue
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_InstanceKey_refersTo_ReferenceValue> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:InstanceKey_refersTo_ReferenceValue ];
.

# class InstanceValue
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::InstanceValue
<#InstanceValue> a sh:NodeShape;
    sh:targetClass cdi:InstanceValue;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/InstanceValue";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:InstanceValue
			  cdi:KeyMember
			  cdi:Descriptor
			  cdi:DimensionalKeyMember
			  cdi:LongMainKeyMember
			  cdi:MainKeyMember
			  cdi:WideKeyMember
			  cdi:ReferenceValue
			 ) ;
    ];
    # attributes
    sh:property <#InstanceValue-content>;
    sh:property <#InstanceValue-identifier>;
    sh:property <#InstanceValue-whiteSpace>;
    # associations from InstanceValue
    sh:property <#InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#InstanceValue_isStoredIn_DataPoint>;
    sh:property <#InstanceValue_represents_ConceptualValue>;
    # associations to InstanceValue
    sh:property <#rev_Datum_uses_InstanceValue>;
    sh:property <#rev_InstanceKey_has_InstanceValue>;



.

<#InstanceValue-content> a sh:PropertyShape ;
    sh:path cdi:InstanceValue-content;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:TypedString
      
    ) ]];
    sh:maxCount 1;
.
<#InstanceValue-identifier> a sh:PropertyShape ;
    sh:path cdi:InstanceValue-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#InstanceValue-whiteSpace> a sh:PropertyShape ;
    sh:path cdi:InstanceValue-whiteSpace;
    sh:node <#WhiteSpaceRule>
    ;
    sh:maxCount 1;
.

<#InstanceValue_hasValueFrom_ValueDomain> a sh:PropertyShape ;
    sh:path cdi:InstanceValue_hasValueFrom_ValueDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ValueDomain
        cdi:ReferenceValueDomain
        cdi:SentinelValueDomain
        cdi:SubstantiveValueDomain
        cdi:DescriptorValueDomain
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_InstanceValue_hasValueFrom_ValueDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:InstanceValue_hasValueFrom_ValueDomain ];
.
<#InstanceValue_isStoredIn_DataPoint> a sh:PropertyShape ;
    sh:path cdi:InstanceValue_isStoredIn_DataPoint;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataPoint
      
    ) ]];
    sh:maxCount 1;
.
<#rev_InstanceValue_isStoredIn_DataPoint> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:InstanceValue_isStoredIn_DataPoint ];
    sh:maxCount 1;
.
<#InstanceValue_represents_ConceptualValue> a sh:PropertyShape ;
    sh:path cdi:InstanceValue_represents_ConceptualValue;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
      
    ) ]];
    sh:maxCount 1;
.
<#rev_InstanceValue_represents_ConceptualValue> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:InstanceValue_represents_ConceptualValue ];
    sh:minCount 1;
.

# class InstanceVariable
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::InstanceVariable
<#InstanceVariable> a sh:NodeShape;
    sh:targetClass cdi:InstanceVariable;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/InstanceVariable";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:InstanceVariable
			  cdi:DescriptorVariable
			  cdi:ReferenceVariable
			 ) ;
    ];
    # attributes
    sh:property <#InstanceVariable-physicalDataType>;
    sh:property <#InstanceVariable-platformType>;
    sh:property <#InstanceVariable-source>;
    sh:property <#InstanceVariable-variableFunction>;
    # associations from InstanceVariable
    sh:property <#InstanceVariable_has_PhysicalSegmentLayout>;
    sh:property <#InstanceVariable_has_ValueMapping>;
    # associations to InstanceVariable
    sh:property <#rev_CategoryStatistic_appliesTo_InstanceVariable>;
    sh:property <#rev_DataPoint_isDescribedBy_InstanceVariable>;
    sh:property <#rev_Datum_isBoundedBy_InstanceVariable>;
    sh:property <#rev_InstanceVariableMap_hasSource_InstanceVariable>;
    sh:property <#rev_InstanceVariableMap_hasTarget_InstanceVariable>;
    sh:property <#rev_LogicalRecord_has_InstanceVariable>;
    sh:property <#rev_PhysicalDataSet_has_InstanceVariable>;

    # ---- superclass: RepresentedVariable
    # attributes
    sh:property <#RepresentedVariable-describedUnitOfMeasure>;
    sh:property <#RepresentedVariable-hasIntendedDataType>;
    sh:property <#RepresentedVariable-simpleUnitOfMeasure>;
    # associations from RepresentedVariable
    sh:property <#RepresentedVariable_takesSentinelValuesFrom_SentinelValueDomain>;
    sh:property <#RepresentedVariable_takesSubstantiveValuesFrom_SubstantiveValueDomain>;
    # associations to RepresentedVariable
    sh:property <#rev_DataStructureComponent_isDefinedBy_RepresentedVariable>;

    # ---- superclass: ConceptualVariable
    # attributes
    sh:property <#ConceptualVariable-descriptiveText>;
    sh:property <#ConceptualVariable-unitOfMeasureKind>;
    # associations from ConceptualVariable
    sh:property <#ConceptualVariable_measures_UnitType>;
    sh:property <#ConceptualVariable_takesSentinelConceptsFrom_SentinelConceptualDomain>;
    sh:property <#ConceptualVariable_takesSubstantiveConceptsFrom_SubstantiveConceptualDomain>;
    # associations to ConceptualVariable
    sh:property <#rev_VariableCollection_has_ConceptualVariable>;
    sh:property <#rev_VariablePosition_indexes_ConceptualVariable>;
    sh:property <#rev_VariableRelationship_hasSource_ConceptualVariable>;
    sh:property <#rev_VariableRelationship_hasTarget_ConceptualVariable>;

    # ---- superclass: Concept
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;









.

<#InstanceVariable-physicalDataType> a sh:PropertyShape ;
    sh:path cdi:InstanceVariable-physicalDataType;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#InstanceVariable-platformType> a sh:PropertyShape ;
    sh:path cdi:InstanceVariable-platformType;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#InstanceVariable-source> a sh:PropertyShape ;
    sh:path cdi:InstanceVariable-source;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Reference
      
    ) ]];
    sh:maxCount 1;
.
<#InstanceVariable-variableFunction> a sh:PropertyShape ;
    sh:path cdi:InstanceVariable-variableFunction;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
.

<#InstanceVariable_has_PhysicalSegmentLayout> a sh:PropertyShape ;
    sh:path cdi:InstanceVariable_has_PhysicalSegmentLayout;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PhysicalSegmentLayout
        cdi:UnitSegmentLayout
      
    ) ]];
.
<#rev_InstanceVariable_has_PhysicalSegmentLayout> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:InstanceVariable_has_PhysicalSegmentLayout ];
.
<#InstanceVariable_has_ValueMapping> a sh:PropertyShape ;
    sh:path cdi:InstanceVariable_has_ValueMapping;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ValueMapping
      
    ) ]];
    sh:maxCount 1;
.
<#rev_InstanceVariable_has_ValueMapping> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:InstanceVariable_has_ValueMapping ];
.

# class InstanceVariableMap
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::InstanceVariableMap
<#InstanceVariableMap> a sh:NodeShape;
    sh:targetClass cdi:InstanceVariableMap;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/InstanceVariableMap";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:InstanceVariableMap
			 ) ;
    ];
    # attributes
    sh:property <#InstanceVariableMap-comparison>;
    sh:property <#InstanceVariableMap-correspondence>;
    sh:property <#InstanceVariableMap-identifier>;
    sh:property <#InstanceVariableMap-setValue>;
    # associations from InstanceVariableMap
    sh:property <#InstanceVariableMap_hasSource_InstanceVariable>;
    sh:property <#InstanceVariableMap_hasTarget_InstanceVariable>;
    # associations to InstanceVariableMap
    sh:property <#rev_RecordRelation_has_InstanceVariableMap>;



.

<#InstanceVariableMap-comparison> a sh:PropertyShape ;
    sh:path cdi:InstanceVariableMap-comparison;
    sh:node <#ComparisonOperator>
    ;
    sh:minCount 1;
    sh:maxCount 1;
.
<#InstanceVariableMap-correspondence> a sh:PropertyShape ;
    sh:path cdi:InstanceVariableMap-correspondence;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CorrespondenceDefinition
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#InstanceVariableMap-identifier> a sh:PropertyShape ;
    sh:path cdi:InstanceVariableMap-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#InstanceVariableMap-setValue> a sh:PropertyShape ;
    sh:path cdi:InstanceVariableMap-setValue;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.

<#InstanceVariableMap_hasSource_InstanceVariable> a sh:PropertyShape ;
    sh:path cdi:InstanceVariableMap_hasSource_InstanceVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
      
    ) ]];
    sh:minCount 1;
.
<#rev_InstanceVariableMap_hasSource_InstanceVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:InstanceVariableMap_hasSource_InstanceVariable ];
.
<#InstanceVariableMap_hasTarget_InstanceVariable> a sh:PropertyShape ;
    sh:path cdi:InstanceVariableMap_hasTarget_InstanceVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
      
    ) ]];
.
<#rev_InstanceVariableMap_hasTarget_InstanceVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:InstanceVariableMap_hasTarget_InstanceVariable ];
.

# class Key
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Key
<#Key> a sh:NodeShape;
    sh:targetClass cdi:Key;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Key";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Key
			  cdi:DimensionalKey
			  cdi:InstanceKey
			  cdi:LongKey
			  cdi:WideKey
			 ) ;
    ];
    # attributes
    sh:property <#Key-identifier>;
    # associations from Key
    sh:property <#Key_correspondsTo_Unit>;
    sh:property <#Key_correspondsTo_Universe>;
    sh:property <#Key_has_KeyMember>;
    sh:property <#Key_identifies_DataPoint>;
    sh:property <#Key_represents_KeyDefinition>;
    # associations to Key
    sh:property <#rev_DataSet_has_Key>;



.

<#Key-identifier> a sh:PropertyShape ;
    sh:path cdi:Key-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#Key_correspondsTo_Unit> a sh:PropertyShape ;
    sh:path cdi:Key_correspondsTo_Unit;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Unit
      
    ) ]];
    sh:maxCount 1;
.
<#rev_Key_correspondsTo_Unit> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Key_correspondsTo_Unit ];
.
<#Key_correspondsTo_Universe> a sh:PropertyShape ;
    sh:path cdi:Key_correspondsTo_Universe;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Universe
        cdi:Population
      
    ) ]];
    sh:maxCount 1;
.
<#rev_Key_correspondsTo_Universe> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Key_correspondsTo_Universe ];
.
<#Key_has_KeyMember> a sh:PropertyShape ;
    sh:path cdi:Key_has_KeyMember;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:KeyMember
        cdi:Descriptor
        cdi:DimensionalKeyMember
        cdi:LongMainKeyMember
        cdi:MainKeyMember
        cdi:WideKeyMember
      
    ) ]];
.
<#rev_Key_has_KeyMember> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Key_has_KeyMember ];
    sh:maxCount 1;
.
<#Key_identifies_DataPoint> a sh:PropertyShape ;
    sh:path cdi:Key_identifies_DataPoint;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataPoint
      
    ) ]];
    sh:minCount 1;
.
<#rev_Key_identifies_DataPoint> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Key_identifies_DataPoint ];
    sh:maxCount 1;
.
<#Key_represents_KeyDefinition> a sh:PropertyShape ;
    sh:path cdi:Key_represents_KeyDefinition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:KeyDefinition
        cdi:DimensionalKeyDefinition
      
    ) ]];
    sh:maxCount 1;
.
<#rev_Key_represents_KeyDefinition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Key_represents_KeyDefinition ];
    sh:minCount 1;
.

# class KeyDefinition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyDefinition
<#KeyDefinition> a sh:NodeShape;
    sh:targetClass cdi:KeyDefinition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/KeyDefinition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:KeyDefinition
			  cdi:DimensionalKeyDefinition
			 ) ;
    ];
    # attributes
    sh:property <#KeyDefinition-identifier>;
    # associations from KeyDefinition
    sh:property <#KeyDefinition_correspondsTo_Unit>;
    sh:property <#KeyDefinition_correspondsTo_Universe>;
    sh:property <#KeyDefinition_has_KeyDefinitionMember>;
    # associations to KeyDefinition
    sh:property <#rev_Key_represents_KeyDefinition>;



.

<#KeyDefinition-identifier> a sh:PropertyShape ;
    sh:path cdi:KeyDefinition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#KeyDefinition_correspondsTo_Unit> a sh:PropertyShape ;
    sh:path cdi:KeyDefinition_correspondsTo_Unit;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Unit
      
    ) ]];
    sh:maxCount 1;
.
<#rev_KeyDefinition_correspondsTo_Unit> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:KeyDefinition_correspondsTo_Unit ];
.
<#KeyDefinition_correspondsTo_Universe> a sh:PropertyShape ;
    sh:path cdi:KeyDefinition_correspondsTo_Universe;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Universe
        cdi:Population
      
    ) ]];
    sh:maxCount 1;
.
<#rev_KeyDefinition_correspondsTo_Universe> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:KeyDefinition_correspondsTo_Universe ];
.
<#KeyDefinition_has_KeyDefinitionMember> a sh:PropertyShape ;
    sh:path cdi:KeyDefinition_has_KeyDefinitionMember;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:KeyDefinitionMember
      
    ) ]];
.
<#rev_KeyDefinition_has_KeyDefinitionMember> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:KeyDefinition_has_KeyDefinitionMember ];
    sh:maxCount 1;
.

# class KeyDefinitionMember
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyDefinitionMember
<#KeyDefinitionMember> a sh:NodeShape;
    sh:targetClass cdi:KeyDefinitionMember;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/KeyDefinitionMember";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:KeyDefinitionMember
			 ) ;
    ];
    # attributes
    # associations from KeyDefinitionMember
    # associations to KeyDefinitionMember
    sh:property <#rev_KeyDefinition_has_KeyDefinitionMember>;

    # ---- superclass: ConceptualValue
    # attributes
    # associations from ConceptualValue
    sh:property <#ConceptualValue_hasConceptFrom_ConceptualDomain>;
    # associations to ConceptualValue
    sh:property <#rev_Datum_denotes_ConceptualValue>;
    sh:property <#rev_InstanceValue_represents_ConceptualValue>;

    # ---- superclass: Concept
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;







.



# class KeyMember
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyMember
<#KeyMember> a sh:NodeShape;
    sh:targetClass cdi:KeyMember;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/KeyMember";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:KeyMember
			  cdi:Descriptor
			  cdi:DimensionalKeyMember
			  cdi:LongMainKeyMember
			  cdi:MainKeyMember
			  cdi:WideKeyMember
			 ) ;
    ];
    # attributes
    # associations from KeyMember
    sh:property <#KeyMember_isBasedOn_DataStructureComponent>;
    # associations to KeyMember
    sh:property <#rev_Key_has_KeyMember>;

    # ---- superclass: InstanceValue
    # attributes
    sh:property <#InstanceValue-content>;
    sh:property <#InstanceValue-identifier>;
    sh:property <#InstanceValue-whiteSpace>;
    # associations from InstanceValue
    sh:property <#InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#InstanceValue_isStoredIn_DataPoint>;
    sh:property <#InstanceValue_represents_ConceptualValue>;
    # associations to InstanceValue
    sh:property <#rev_Datum_uses_InstanceValue>;
    sh:property <#rev_InstanceKey_has_InstanceValue>;





.


<#KeyMember_isBasedOn_DataStructureComponent> a sh:PropertyShape ;
    sh:path cdi:KeyMember_isBasedOn_DataStructureComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataStructureComponent
        cdi:AttributeComponent
        cdi:ContextualComponent
        cdi:DataStructure
        cdi:DimensionalDataStructure
        cdi:KeyValueStructure
        cdi:LongDataStructure
        cdi:WideDataStructure
        cdi:DimensionComponent
        cdi:IdentifierComponent
        cdi:MeasureComponent
        cdi:QualifiedMeasure
        cdi:SyntheticIdComponent
        cdi:VariableDescriptorComponent
        cdi:VariableValueComponent
      
    ) ]];
.
<#rev_KeyMember_isBasedOn_DataStructureComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:KeyMember_isBasedOn_DataStructureComponent ];
.

# class KeyValueDataStore
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::KeyValueDataStore
<#KeyValueDataStore> a sh:NodeShape;
    sh:targetClass cdi:KeyValueDataStore;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/KeyValueDataStore";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:KeyValueDataStore
			 ) ;
    ];
    # attributes
    # associations from KeyValueDataStore
    # associations to KeyValueDataStore

    # ---- superclass: DataSet
    # attributes
    sh:property <#DataSet-catalogDetails>;
    sh:property <#DataSet-identifier>;
    # associations from DataSet
    sh:property <#DataSet_has_DataPoint>;
    sh:property <#DataSet_has_Key>;
    sh:property <#DataSet_isStructuredBy_DataStructure>;
    # associations to DataSet
    sh:property <#rev_LogicalRecord_organizes_DataSet>;
    sh:property <#rev_PhysicalDataSet_correspondsTo_DataSet>;





.



# class KeyValueStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::KeyValueStructure
<#KeyValueStructure> a sh:NodeShape;
    sh:targetClass cdi:KeyValueStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/KeyValueStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:KeyValueStructure
			 ) ;
    ];
    # attributes
    # associations from KeyValueStructure
    # associations to KeyValueStructure

    # ---- superclass: DataStructure
    # attributes
    # associations from DataStructure
    sh:property <#DataStructure_has_ComponentPosition>;
    sh:property <#DataStructure_has_DataStructureComponent>;
    sh:property <#DataStructure_has_ForeignKey>;
    sh:property <#DataStructure_has_PrimaryKey>;
    # associations to DataStructure
    sh:property <#rev_DataSet_isStructuredBy_DataStructure>;
    sh:property <#rev_PhysicalDataSetStructure_correspondsTo_DataStructure>;

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;







.



# class Level
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::Level
<#Level> a sh:NodeShape;
    sh:targetClass cdi:Level;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Level";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Level
			 ) ;
    ];
    # attributes
    sh:property <#Level-displayLabel>;
    sh:property <#Level-identifier>;
    sh:property <#Level-levelNumber>;
    # associations from Level
    sh:property <#Level_isDefinedBy_Concept>;
    sh:property <#Level_groups_ClassificationItem>;
    # associations to Level
    sh:property <#rev_CorrespondenceTable_hasSource_Level>;
    sh:property <#rev_CorrespondenceTable_hasTarget_Level>;
    sh:property <#rev_LevelStructure_has_Level>;



.

<#Level-displayLabel> a sh:PropertyShape ;
    sh:path cdi:Level-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#Level-identifier> a sh:PropertyShape ;
    sh:path cdi:Level-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#Level-levelNumber> a sh:PropertyShape ;
    sh:path cdi:Level-levelNumber;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#Level_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:Level_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
    sh:maxCount 1;
.
<#rev_Level_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Level_isDefinedBy_Concept ];
.
<#Level_groups_ClassificationItem> a sh:PropertyShape ;
    sh:path cdi:Level_groups_ClassificationItem;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationItem
      
    ) ]];
.
<#rev_Level_groups_ClassificationItem> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Level_groups_ClassificationItem ];
.

# class LevelStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::LevelStructure
<#LevelStructure> a sh:NodeShape;
    sh:targetClass cdi:LevelStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LevelStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:LevelStructure
			 ) ;
    ];
    # attributes
    sh:property <#LevelStructure-catalogDetails>;
    sh:property <#LevelStructure-identifier>;
    sh:property <#LevelStructure-name>;
    sh:property <#LevelStructure-usage>;
    sh:property <#LevelStructure-validDateRange>;
    # associations from LevelStructure
    sh:property <#LevelStructure_has_Level>;
    # associations to LevelStructure
    sh:property <#rev_EnumerationDomain_uses_LevelStructure>;
    sh:property <#rev_StatisticalClassification_has_LevelStructure>;



.

<#LevelStructure-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:LevelStructure-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#LevelStructure-identifier> a sh:PropertyShape ;
    sh:path cdi:LevelStructure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#LevelStructure-name> a sh:PropertyShape ;
    sh:path cdi:LevelStructure-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#LevelStructure-usage> a sh:PropertyShape ;
    sh:path cdi:LevelStructure-usage;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#LevelStructure-validDateRange> a sh:PropertyShape ;
    sh:path cdi:LevelStructure-validDateRange;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.

<#LevelStructure_has_Level> a sh:PropertyShape ;
    sh:path cdi:LevelStructure_has_Level;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Level
      
    ) ]];
.
<#rev_LevelStructure_has_Level> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:LevelStructure_has_Level ];
.

# class LogicalRecord
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::LogicalRecord
<#LogicalRecord> a sh:NodeShape;
    sh:targetClass cdi:LogicalRecord;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LogicalRecord";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:LogicalRecord
			 ) ;
    ];
    # attributes
    sh:property <#LogicalRecord-identifier>;
    # associations from LogicalRecord
    sh:property <#LogicalRecord_has_InstanceVariable>;
    sh:property <#LogicalRecord_isDefinedBy_Concept>;
    sh:property <#LogicalRecord_organizes_DataSet>;
    # associations to LogicalRecord
    sh:property <#rev_DataStore_has_LogicalRecord>;
    sh:property <#rev_LogicalRecordPosition_indexes_LogicalRecord>;
    sh:property <#rev_LogicalRecordRelationship_hasSource_LogicalRecord>;
    sh:property <#rev_LogicalRecordRelationship_hasTarget_LogicalRecord>;
    sh:property <#rev_PhysicalRecordSegment_mapsTo_LogicalRecord>;
    sh:property <#rev_PhysicalSegmentLayout_formats_LogicalRecord>;
    sh:property <#rev_RecordRelation_maps_LogicalRecord>;



.

<#LogicalRecord-identifier> a sh:PropertyShape ;
    sh:path cdi:LogicalRecord-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#LogicalRecord_has_InstanceVariable> a sh:PropertyShape ;
    sh:path cdi:LogicalRecord_has_InstanceVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
      
    ) ]];
.
<#rev_LogicalRecord_has_InstanceVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:LogicalRecord_has_InstanceVariable ];
.
<#LogicalRecord_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:LogicalRecord_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_LogicalRecord_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:LogicalRecord_isDefinedBy_Concept ];
.
<#LogicalRecord_organizes_DataSet> a sh:PropertyShape ;
    sh:path cdi:LogicalRecord_organizes_DataSet;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataSet
        cdi:DimensionalDataSet
        cdi:KeyValueDataStore
        cdi:LongDataSet
        cdi:WideDataSet
      
    ) ]];
.
<#rev_LogicalRecord_organizes_DataSet> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:LogicalRecord_organizes_DataSet ];
.

# class LogicalRecordPosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::LogicalRecordPosition
<#LogicalRecordPosition> a sh:NodeShape;
    sh:targetClass cdi:LogicalRecordPosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LogicalRecordPosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:LogicalRecordPosition
			 ) ;
    ];
    # attributes
    sh:property <#LogicalRecordPosition-identifier>;
    sh:property <#LogicalRecordPosition-value>;
    # associations from LogicalRecordPosition
    sh:property <#LogicalRecordPosition_indexes_LogicalRecord>;
    # associations to LogicalRecordPosition
    sh:property <#rev_DataStore_has_LogicalRecordPosition>;



.

<#LogicalRecordPosition-identifier> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordPosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#LogicalRecordPosition-value> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordPosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#LogicalRecordPosition_indexes_LogicalRecord> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordPosition_indexes_LogicalRecord;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LogicalRecord
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_LogicalRecordPosition_indexes_LogicalRecord> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:LogicalRecordPosition_indexes_LogicalRecord ];
.

# class LogicalRecordRelationStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::LogicalRecordRelationStructure
<#LogicalRecordRelationStructure> a sh:NodeShape;
    sh:targetClass cdi:LogicalRecordRelationStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LogicalRecordRelationStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:LogicalRecordRelationStructure
			 ) ;
    ];
    # attributes
    sh:property <#LogicalRecordRelationStructure-identifier>;
    sh:property <#LogicalRecordRelationStructure-name>;
    sh:property <#LogicalRecordRelationStructure-purpose>;
    sh:property <#LogicalRecordRelationStructure-semantics>;
    sh:property <#LogicalRecordRelationStructure-specification>;
    sh:property <#LogicalRecordRelationStructure-topology>;
    sh:property <#LogicalRecordRelationStructure-totality>;
    # associations from LogicalRecordRelationStructure
    sh:property <#LogicalRecordRelationStructure_has_LogicalRecordRelationship>;
    sh:property <#LogicalRecordRelationStructure_structures_DataStore>;
    # associations to LogicalRecordRelationStructure



.

<#LogicalRecordRelationStructure-identifier> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationStructure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#LogicalRecordRelationStructure-name> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationStructure-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#LogicalRecordRelationStructure-purpose> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationStructure-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#LogicalRecordRelationStructure-semantics> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationStructure-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#LogicalRecordRelationStructure-specification> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationStructure-specification;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StructureSpecification
      
    ) ]];
    sh:maxCount 1;
.
<#LogicalRecordRelationStructure-topology> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationStructure-topology;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#LogicalRecordRelationStructure-totality> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationStructure-totality;
    sh:node <#StructureExtent>
    ;
    sh:maxCount 1;
.

<#LogicalRecordRelationStructure_has_LogicalRecordRelationship> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationStructure_has_LogicalRecordRelationship;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LogicalRecordRelationship
      
    ) ]];
.
<#rev_LogicalRecordRelationStructure_has_LogicalRecordRelationship> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:LogicalRecordRelationStructure_has_LogicalRecordRelationship ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#LogicalRecordRelationStructure_structures_DataStore> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationStructure_structures_DataStore;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataStore
      
    ) ]];
.
<#rev_LogicalRecordRelationStructure_structures_DataStore> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:LogicalRecordRelationStructure_structures_DataStore ];
.

# class LogicalRecordRelationship
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::LogicalRecordRelationship
<#LogicalRecordRelationship> a sh:NodeShape;
    sh:targetClass cdi:LogicalRecordRelationship;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LogicalRecordRelationship";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:LogicalRecordRelationship
			 ) ;
    ];
    # attributes
    sh:property <#LogicalRecordRelationship-identifier>;
    sh:property <#LogicalRecordRelationship-semantics>;
    # associations from LogicalRecordRelationship
    sh:property <#LogicalRecordRelationship_hasSource_LogicalRecord>;
    sh:property <#LogicalRecordRelationship_hasTarget_LogicalRecord>;
    # associations to LogicalRecordRelationship
    sh:property <#rev_LogicalRecordRelationStructure_has_LogicalRecordRelationship>;



.

<#LogicalRecordRelationship-identifier> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationship-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#LogicalRecordRelationship-semantics> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationship-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#LogicalRecordRelationship_hasSource_LogicalRecord> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationship_hasSource_LogicalRecord;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LogicalRecord
      
    ) ]];
.
<#rev_LogicalRecordRelationship_hasSource_LogicalRecord> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:LogicalRecordRelationship_hasSource_LogicalRecord ];
.
<#LogicalRecordRelationship_hasTarget_LogicalRecord> a sh:PropertyShape ;
    sh:path cdi:LogicalRecordRelationship_hasTarget_LogicalRecord;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LogicalRecord
      
    ) ]];
.
<#rev_LogicalRecordRelationship_hasTarget_LogicalRecord> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:LogicalRecordRelationship_hasTarget_LogicalRecord ];
.

# class LongDataSet
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::LongDataSet
<#LongDataSet> a sh:NodeShape;
    sh:targetClass cdi:LongDataSet;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LongDataSet";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:LongDataSet
			 ) ;
    ];
    # attributes
    # associations from LongDataSet
    # associations to LongDataSet

    # ---- superclass: DataSet
    # attributes
    sh:property <#DataSet-catalogDetails>;
    sh:property <#DataSet-identifier>;
    # associations from DataSet
    sh:property <#DataSet_has_DataPoint>;
    sh:property <#DataSet_has_Key>;
    sh:property <#DataSet_isStructuredBy_DataStructure>;
    # associations to DataSet
    sh:property <#rev_LogicalRecord_organizes_DataSet>;
    sh:property <#rev_PhysicalDataSet_correspondsTo_DataSet>;





.



# class LongDataStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::LongDataStructure
<#LongDataStructure> a sh:NodeShape;
    sh:targetClass cdi:LongDataStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LongDataStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:LongDataStructure
			 ) ;
    ];
    # attributes
    # associations from LongDataStructure
    # associations to LongDataStructure

    # ---- superclass: DataStructure
    # attributes
    # associations from DataStructure
    sh:property <#DataStructure_has_ComponentPosition>;
    sh:property <#DataStructure_has_DataStructureComponent>;
    sh:property <#DataStructure_has_ForeignKey>;
    sh:property <#DataStructure_has_PrimaryKey>;
    # associations to DataStructure
    sh:property <#rev_DataSet_isStructuredBy_DataStructure>;
    sh:property <#rev_PhysicalDataSetStructure_correspondsTo_DataStructure>;

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;







.



# class LongKey
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::LongKey
<#LongKey> a sh:NodeShape;
    sh:targetClass cdi:LongKey;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LongKey";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:LongKey
			 ) ;
    ];
    # attributes
    # associations from LongKey
    # associations to LongKey

    # ---- superclass: Key
    # attributes
    sh:property <#Key-identifier>;
    # associations from Key
    sh:property <#Key_correspondsTo_Unit>;
    sh:property <#Key_correspondsTo_Universe>;
    sh:property <#Key_has_KeyMember>;
    sh:property <#Key_identifies_DataPoint>;
    sh:property <#Key_represents_KeyDefinition>;
    # associations to Key
    sh:property <#rev_DataSet_has_Key>;





.



# class LongMainKeyMember
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::LongMainKeyMember
<#LongMainKeyMember> a sh:NodeShape;
    sh:targetClass cdi:LongMainKeyMember;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LongMainKeyMember";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:LongMainKeyMember
			 ) ;
    ];
    # attributes
    # associations from LongMainKeyMember
    # associations to LongMainKeyMember

    # ---- superclass: KeyMember
    # attributes
    # associations from KeyMember
    sh:property <#KeyMember_isBasedOn_DataStructureComponent>;
    # associations to KeyMember
    sh:property <#rev_Key_has_KeyMember>;

    # ---- superclass: InstanceValue
    # attributes
    sh:property <#InstanceValue-content>;
    sh:property <#InstanceValue-identifier>;
    sh:property <#InstanceValue-whiteSpace>;
    # associations from InstanceValue
    sh:property <#InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#InstanceValue_isStoredIn_DataPoint>;
    sh:property <#InstanceValue_represents_ConceptualValue>;
    # associations to InstanceValue
    sh:property <#rev_Datum_uses_InstanceValue>;
    sh:property <#rev_InstanceKey_has_InstanceValue>;







.



# class Machine
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Agents::Machine
<#Machine> a sh:NodeShape;
    sh:targetClass cdi:Machine;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Machine";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Machine
			 ) ;
    ];
    # attributes
    sh:property <#Machine-accessLocation>;
    sh:property <#Machine-function>;
    sh:property <#Machine-machineInterface>;
    sh:property <#Machine-name>;
    sh:property <#Machine-ownerOperatorContact>;
    sh:property <#Machine-typeOfMachine>;
    # associations from Machine
    # associations to Machine

    # ---- superclass: Agent
    # attributes
    sh:property <#Agent-catalogDetails>;
    sh:property <#Agent-identifier>;
    sh:property <#Agent-image>;
    sh:property <#Agent-purpose>;
    # associations from Agent
    # associations to Agent
    sh:property <#rev_AgentListing_has_Agent>;
    sh:property <#rev_AgentListing_isMaintainedBy_Agent>;
    sh:property <#rev_AgentPosition_indexes_Agent>;
    sh:property <#rev_AgentRelationship_hasSource_Agent>;
    sh:property <#rev_AgentRelationship_hasTarget_Agent>;
    sh:property <#rev_AuthorizationSource_has_Agent>;
    sh:property <#rev_ClassificationIndex_hasContact_Agent>;
    sh:property <#rev_ClassificationIndex_isMaintainedBy_Agent>;
    sh:property <#rev_ClassificationSeries_isOwnedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_hasContact_Agent>;
    sh:property <#rev_CorrespondenceTable_isMaintainedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_isOwnedBy_Agent>;





.

<#Machine-accessLocation> a sh:PropertyShape ;
    sh:path cdi:Machine-accessLocation;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:AccessLocation
      
    ) ]];
    sh:maxCount 1;
.
<#Machine-function> a sh:PropertyShape ;
    sh:path cdi:Machine-function;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
.
<#Machine-machineInterface> a sh:PropertyShape ;
    sh:path cdi:Machine-machineInterface;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
.
<#Machine-name> a sh:PropertyShape ;
    sh:path cdi:Machine-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#Machine-ownerOperatorContact> a sh:PropertyShape ;
    sh:path cdi:Machine-ownerOperatorContact;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ContactInformation
      
    ) ]];
    sh:maxCount 1;
.
<#Machine-typeOfMachine> a sh:PropertyShape ;
    sh:path cdi:Machine-typeOfMachine;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.


# class MainKeyMember
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::MainKeyMember
<#MainKeyMember> a sh:NodeShape;
    sh:targetClass cdi:MainKeyMember;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/MainKeyMember";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:MainKeyMember
			 ) ;
    ];
    # attributes
    # associations from MainKeyMember
    sh:property <#MainKeyMember_hasValueFrom_SubstantiveValueDomain>;
    # associations to MainKeyMember

    # ---- superclass: KeyMember
    # attributes
    # associations from KeyMember
    sh:property <#KeyMember_isBasedOn_DataStructureComponent>;
    # associations to KeyMember
    sh:property <#rev_Key_has_KeyMember>;

    # ---- superclass: InstanceValue
    # attributes
    sh:property <#InstanceValue-content>;
    sh:property <#InstanceValue-identifier>;
    sh:property <#InstanceValue-whiteSpace>;
    # associations from InstanceValue
    sh:property <#InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#InstanceValue_isStoredIn_DataPoint>;
    sh:property <#InstanceValue_represents_ConceptualValue>;
    # associations to InstanceValue
    sh:property <#rev_Datum_uses_InstanceValue>;
    sh:property <#rev_InstanceKey_has_InstanceValue>;







.


<#MainKeyMember_hasValueFrom_SubstantiveValueDomain> a sh:PropertyShape ;
    sh:path cdi:MainKeyMember_hasValueFrom_SubstantiveValueDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:SubstantiveValueDomain
        cdi:DescriptorValueDomain
      
    ) ]];
    sh:maxCount 1;
.
<#rev_MainKeyMember_hasValueFrom_SubstantiveValueDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:MainKeyMember_hasValueFrom_SubstantiveValueDomain ];
.

# class MeasureComponent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::MeasureComponent
<#MeasureComponent> a sh:NodeShape;
    sh:targetClass cdi:MeasureComponent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/MeasureComponent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:MeasureComponent
			  cdi:QualifiedMeasure
			 ) ;
    ];
    # attributes
    sh:property <#MeasureComponent-name>;
    # associations from MeasureComponent
    # associations to MeasureComponent
    sh:property <#rev_QualifiedMeasure_refines_MeasureComponent>;

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;





.

<#MeasureComponent-name> a sh:PropertyShape ;
    sh:path cdi:MeasureComponent-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.


# class NonDeterministicDeclarative
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::NonDeterministicDeclarative
<#NonDeterministicDeclarative> a sh:NodeShape;
    sh:targetClass cdi:NonDeterministicDeclarative;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/NonDeterministicDeclarative";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:NonDeterministicDeclarative
			  cdi:RuleBasedScheduling
			  cdi:TemporalConstraints
			  cdi:AllenIntervalAlgebra
			  cdi:TemporalControlConstruct
			 ) ;
    ];
    # attributes
    # associations from NonDeterministicDeclarative
    # associations to NonDeterministicDeclarative

    # ---- superclass: ControlLogic
    # attributes
    sh:property <#ControlLogic-description>;
    sh:property <#ControlLogic-displayLabel>;
    sh:property <#ControlLogic-identifier>;
    sh:property <#ControlLogic-name>;
    sh:property <#ControlLogic-workflow>;
    # associations from ControlLogic
    sh:property <#ControlLogic_has_InformationFlowDefinition>;
    sh:property <#ControlLogic_hasSubControlLogic_ControlLogic>;
    sh:property <#ControlLogic_informs_ProcessingAgent>;
    sh:property <#ControlLogic_invokes_Activity>;
    # associations to ControlLogic
    sh:property <#rev_Activity_hasInternal_ControlLogic>;
    sh:property <#rev_ControlLogic_hasSubControlLogic_ControlLogic>;





.



# class Notation
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Notation
<#Notation> a sh:NodeShape;
    sh:targetClass cdi:Notation;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Notation";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Notation
			 ) ;
    ];
    # attributes
    sh:property <#Notation-content>;
    sh:property <#Notation-identifier>;
    sh:property <#Notation-whiteSpace>;
    # associations from Notation
    sh:property <#Notation_represents_Category>;
    # associations to Notation
    sh:property <#rev_ClassificationItem_uses_Notation>;
    sh:property <#rev_Code_uses_Notation>;
    sh:property <#rev_Datum_uses_Notation>;



.

<#Notation-content> a sh:PropertyShape ;
    sh:path cdi:Notation-content;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:TypedString
      
    ) ]];
    sh:maxCount 1;
.
<#Notation-identifier> a sh:PropertyShape ;
    sh:path cdi:Notation-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#Notation-whiteSpace> a sh:PropertyShape ;
    sh:path cdi:Notation-whiteSpace;
    sh:node <#WhiteSpaceRule>
    ;
    sh:maxCount 1;
.

<#Notation_represents_Category> a sh:PropertyShape ;
    sh:path cdi:Notation_represents_Category;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Category
      
    ) ]];
.
<#rev_Notation_represents_Category> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Notation_represents_Category ];
    sh:minCount 1;
.

# class Organization
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Agents::Organization
<#Organization> a sh:NodeShape;
    sh:targetClass cdi:Organization;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Organization";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Organization
			 ) ;
    ];
    # attributes
    sh:property <#Organization-contactInformation>;
    sh:property <#Organization-organizationName>;
    # associations from Organization
    # associations to Organization
    sh:property <#rev_StatisticalClassification_isMaintainedBy_Organization>;

    # ---- superclass: Agent
    # attributes
    sh:property <#Agent-catalogDetails>;
    sh:property <#Agent-identifier>;
    sh:property <#Agent-image>;
    sh:property <#Agent-purpose>;
    # associations from Agent
    # associations to Agent
    sh:property <#rev_AgentListing_has_Agent>;
    sh:property <#rev_AgentListing_isMaintainedBy_Agent>;
    sh:property <#rev_AgentPosition_indexes_Agent>;
    sh:property <#rev_AgentRelationship_hasSource_Agent>;
    sh:property <#rev_AgentRelationship_hasTarget_Agent>;
    sh:property <#rev_AuthorizationSource_has_Agent>;
    sh:property <#rev_ClassificationIndex_hasContact_Agent>;
    sh:property <#rev_ClassificationIndex_isMaintainedBy_Agent>;
    sh:property <#rev_ClassificationSeries_isOwnedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_hasContact_Agent>;
    sh:property <#rev_CorrespondenceTable_isMaintainedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_isOwnedBy_Agent>;





.

<#Organization-contactInformation> a sh:PropertyShape ;
    sh:path cdi:Organization-contactInformation;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ContactInformation
      
    ) ]];
    sh:maxCount 1;
.
<#Organization-organizationName> a sh:PropertyShape ;
    sh:path cdi:Organization-organizationName;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:OrganizationName
      
    ) ]];
    sh:minCount 1;
.


# class Parameter
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::Parameter
<#Parameter> a sh:NodeShape;
    sh:targetClass cdi:Parameter;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Parameter";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Parameter
			 ) ;
    ];
    # attributes
    sh:property <#Parameter-entityBound>;
    sh:property <#Parameter-identifier>;
    sh:property <#Parameter-name>;
    # associations from Parameter
    # associations to Parameter
    sh:property <#rev_InformationFlowDefinition_from_Parameter>;
    sh:property <#rev_InformationFlowDefinition_to_Parameter>;
    sh:property <#rev_Step_produces_Parameter>;
    sh:property <#rev_Step_receives_Parameter>;



.

<#Parameter-entityBound> a sh:PropertyShape ;
    sh:path cdi:Parameter-entityBound;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Reference
      
    ) ]];
.
<#Parameter-identifier> a sh:PropertyShape ;
    sh:path cdi:Parameter-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#Parameter-name> a sh:PropertyShape ;
    sh:path cdi:Parameter-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.


# class PhysicalDataSet
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::PhysicalDataSet
<#PhysicalDataSet> a sh:NodeShape;
    sh:targetClass cdi:PhysicalDataSet;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PhysicalDataSet";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PhysicalDataSet
			 ) ;
    ];
    # attributes
    sh:property <#PhysicalDataSet-allowsDuplicates>;
    sh:property <#PhysicalDataSet-catalogDetails>;
    sh:property <#PhysicalDataSet-identifier>;
    sh:property <#PhysicalDataSet-name>;
    sh:property <#PhysicalDataSet-numberOfSegments>;
    sh:property <#PhysicalDataSet-overview>;
    sh:property <#PhysicalDataSet-physicalFileName>;
    sh:property <#PhysicalDataSet-purpose>;
    # associations from PhysicalDataSet
    sh:property <#PhysicalDataSet_has_InstanceVariable>;
    sh:property <#PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#PhysicalDataSet_correspondsTo_DataSet>;
    sh:property <#PhysicalDataSet_formats_DataStore>;
    sh:property <#PhysicalDataSet_has_PhysicalRecordSegment>;
    sh:property <#PhysicalDataSet_has_PhysicalRecordSegmentPosition>;
    # associations to PhysicalDataSet
    sh:property <#rev_PhysicalDataSetStructure_structures_PhysicalDataSet>;



.

<#PhysicalDataSet-allowsDuplicates> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet-allowsDuplicates;
    sh:datatype xsd:boolean;
    sh:minCount 1;
    sh:maxCount 1;
.
<#PhysicalDataSet-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalDataSet-identifier> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalDataSet-name> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalDataSet-numberOfSegments> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet-numberOfSegments;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#PhysicalDataSet-overview> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet-overview;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalDataSet-physicalFileName> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet-physicalFileName;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#PhysicalDataSet-purpose> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.

<#PhysicalDataSet_has_InstanceVariable> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet_has_InstanceVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
      
    ) ]];
.
<#rev_PhysicalDataSet_has_InstanceVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalDataSet_has_InstanceVariable ];
.
<#PhysicalDataSet_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_PhysicalDataSet_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalDataSet_isDefinedBy_Concept ];
.
<#PhysicalDataSet_correspondsTo_DataSet> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet_correspondsTo_DataSet;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataSet
        cdi:DimensionalDataSet
        cdi:KeyValueDataStore
        cdi:LongDataSet
        cdi:WideDataSet
      
    ) ]];
    sh:maxCount 1;
.
<#rev_PhysicalDataSet_correspondsTo_DataSet> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalDataSet_correspondsTo_DataSet ];
.
<#PhysicalDataSet_formats_DataStore> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet_formats_DataStore;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataStore
      
    ) ]];
.
<#rev_PhysicalDataSet_formats_DataStore> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalDataSet_formats_DataStore ];
.
<#PhysicalDataSet_has_PhysicalRecordSegment> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet_has_PhysicalRecordSegment;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PhysicalRecordSegment
      
    ) ]];
.
<#rev_PhysicalDataSet_has_PhysicalRecordSegment> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalDataSet_has_PhysicalRecordSegment ];
.
<#PhysicalDataSet_has_PhysicalRecordSegmentPosition> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSet_has_PhysicalRecordSegmentPosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PhysicalRecordSegmentPosition
      
    ) ]];
.
<#rev_PhysicalDataSet_has_PhysicalRecordSegmentPosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalDataSet_has_PhysicalRecordSegmentPosition ];
    sh:minCount 1;
    sh:maxCount 1;
.

# class PhysicalDataSetStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::PhysicalDataSetStructure
<#PhysicalDataSetStructure> a sh:NodeShape;
    sh:targetClass cdi:PhysicalDataSetStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PhysicalDataSetStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PhysicalDataSetStructure
			 ) ;
    ];
    # attributes
    sh:property <#PhysicalDataSetStructure-identifier>;
    sh:property <#PhysicalDataSetStructure-name>;
    sh:property <#PhysicalDataSetStructure-purpose>;
    sh:property <#PhysicalDataSetStructure-semantics>;
    sh:property <#PhysicalDataSetStructure-specification>;
    sh:property <#PhysicalDataSetStructure-topology>;
    sh:property <#PhysicalDataSetStructure-totality>;
    # associations from PhysicalDataSetStructure
    sh:property <#PhysicalDataSetStructure_correspondsTo_DataStructure>;
    sh:property <#PhysicalDataSetStructure_has_PhysicalRecordSegmentRelationship>;
    sh:property <#PhysicalDataSetStructure_structures_PhysicalDataSet>;
    # associations to PhysicalDataSetStructure



.

<#PhysicalDataSetStructure-identifier> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSetStructure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalDataSetStructure-name> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSetStructure-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalDataSetStructure-purpose> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSetStructure-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalDataSetStructure-semantics> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSetStructure-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalDataSetStructure-specification> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSetStructure-specification;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StructureSpecification
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalDataSetStructure-topology> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSetStructure-topology;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalDataSetStructure-totality> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSetStructure-totality;
    sh:node <#StructureExtent>
    ;
    sh:maxCount 1;
.

<#PhysicalDataSetStructure_correspondsTo_DataStructure> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSetStructure_correspondsTo_DataStructure;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataStructure
        cdi:DimensionalDataStructure
        cdi:KeyValueStructure
        cdi:LongDataStructure
        cdi:WideDataStructure
      
    ) ]];
    sh:maxCount 1;
.
<#rev_PhysicalDataSetStructure_correspondsTo_DataStructure> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalDataSetStructure_correspondsTo_DataStructure ];
.
<#PhysicalDataSetStructure_has_PhysicalRecordSegmentRelationship> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSetStructure_has_PhysicalRecordSegmentRelationship;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PhysicalRecordSegmentRelationship
      
    ) ]];
.
<#rev_PhysicalDataSetStructure_has_PhysicalRecordSegmentRelationship> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalDataSetStructure_has_PhysicalRecordSegmentRelationship ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#PhysicalDataSetStructure_structures_PhysicalDataSet> a sh:PropertyShape ;
    sh:path cdi:PhysicalDataSetStructure_structures_PhysicalDataSet;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PhysicalDataSet
      
    ) ]];
    sh:maxCount 1;
.
<#rev_PhysicalDataSetStructure_structures_PhysicalDataSet> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalDataSetStructure_structures_PhysicalDataSet ];
.

# class PhysicalLayoutRelationStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::PhysicalLayoutRelationStructure
<#PhysicalLayoutRelationStructure> a sh:NodeShape;
    sh:targetClass cdi:PhysicalLayoutRelationStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PhysicalLayoutRelationStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PhysicalLayoutRelationStructure
			 ) ;
    ];
    # attributes
    sh:property <#PhysicalLayoutRelationStructure-criteria>;
    sh:property <#PhysicalLayoutRelationStructure-identifier>;
    sh:property <#PhysicalLayoutRelationStructure-name>;
    sh:property <#PhysicalLayoutRelationStructure-purpose>;
    sh:property <#PhysicalLayoutRelationStructure-semantics>;
    sh:property <#PhysicalLayoutRelationStructure-specification>;
    sh:property <#PhysicalLayoutRelationStructure-topology>;
    sh:property <#PhysicalLayoutRelationStructure-totality>;
    # associations from PhysicalLayoutRelationStructure
    sh:property <#PhysicalLayoutRelationStructure_has_ValueMappingRelationship>;
    sh:property <#PhysicalLayoutRelationStructure_structures_PhysicalSegmentLayout>;
    # associations to PhysicalLayoutRelationStructure



.

<#PhysicalLayoutRelationStructure-criteria> a sh:PropertyShape ;
    sh:path cdi:PhysicalLayoutRelationStructure-criteria;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalLayoutRelationStructure-identifier> a sh:PropertyShape ;
    sh:path cdi:PhysicalLayoutRelationStructure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalLayoutRelationStructure-name> a sh:PropertyShape ;
    sh:path cdi:PhysicalLayoutRelationStructure-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#PhysicalLayoutRelationStructure-purpose> a sh:PropertyShape ;
    sh:path cdi:PhysicalLayoutRelationStructure-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalLayoutRelationStructure-semantics> a sh:PropertyShape ;
    sh:path cdi:PhysicalLayoutRelationStructure-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalLayoutRelationStructure-specification> a sh:PropertyShape ;
    sh:path cdi:PhysicalLayoutRelationStructure-specification;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StructureSpecification
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalLayoutRelationStructure-topology> a sh:PropertyShape ;
    sh:path cdi:PhysicalLayoutRelationStructure-topology;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#PhysicalLayoutRelationStructure-totality> a sh:PropertyShape ;
    sh:path cdi:PhysicalLayoutRelationStructure-totality;
    sh:node <#StructureExtent>
    ;
    sh:maxCount 1;
.

<#PhysicalLayoutRelationStructure_has_ValueMappingRelationship> a sh:PropertyShape ;
    sh:path cdi:PhysicalLayoutRelationStructure_has_ValueMappingRelationship;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ValueMappingRelationship
      
    ) ]];
.
<#rev_PhysicalLayoutRelationStructure_has_ValueMappingRelationship> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalLayoutRelationStructure_has_ValueMappingRelationship ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#PhysicalLayoutRelationStructure_structures_PhysicalSegmentLayout> a sh:PropertyShape ;
    sh:path cdi:PhysicalLayoutRelationStructure_structures_PhysicalSegmentLayout;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PhysicalSegmentLayout
        cdi:UnitSegmentLayout
      
    ) ]];
    sh:maxCount 1;
.
<#rev_PhysicalLayoutRelationStructure_structures_PhysicalSegmentLayout> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalLayoutRelationStructure_structures_PhysicalSegmentLayout ];
.

# class PhysicalRecordSegment
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::PhysicalRecordSegment
<#PhysicalRecordSegment> a sh:NodeShape;
    sh:targetClass cdi:PhysicalRecordSegment;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PhysicalRecordSegment";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PhysicalRecordSegment
			 ) ;
    ];
    # attributes
    sh:property <#PhysicalRecordSegment-catalogDetails>;
    sh:property <#PhysicalRecordSegment-identifier>;
    sh:property <#PhysicalRecordSegment-name>;
    sh:property <#PhysicalRecordSegment-physicalFileName>;
    sh:property <#PhysicalRecordSegment-purpose>;
    # associations from PhysicalRecordSegment
    sh:property <#PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#PhysicalRecordSegment_represents_Population>;
    sh:property <#PhysicalRecordSegment_has_DataPoint>;
    sh:property <#PhysicalRecordSegment_has_DataPointPosition>;
    sh:property <#PhysicalRecordSegment_has_PhysicalSegmentLayout>;
    sh:property <#PhysicalRecordSegment_mapsTo_LogicalRecord>;
    # associations to PhysicalRecordSegment
    sh:property <#rev_PhysicalDataSet_has_PhysicalRecordSegment>;
    sh:property <#rev_PhysicalRecordSegmentPosition_indexes_PhysicalRecordSegment>;
    sh:property <#rev_PhysicalRecordSegmentRelationship_hasSource_PhysicalRecordSegment>;
    sh:property <#rev_PhysicalRecordSegmentRelationship_hasTarget_PhysicalRecordSegment>;
    sh:property <#rev_PhysicalRecordSegmentStructure_structures_PhysicalRecordSegment>;



.

<#PhysicalRecordSegment-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegment-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalRecordSegment-identifier> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegment-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalRecordSegment-name> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegment-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#PhysicalRecordSegment-physicalFileName> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegment-physicalFileName;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#PhysicalRecordSegment-purpose> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegment-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.

<#PhysicalRecordSegment_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegment_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_PhysicalRecordSegment_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalRecordSegment_isDefinedBy_Concept ];
.
<#PhysicalRecordSegment_represents_Population> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegment_represents_Population;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Population
      
    ) ]];
    sh:maxCount 1;
.
<#rev_PhysicalRecordSegment_represents_Population> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalRecordSegment_represents_Population ];
.
<#PhysicalRecordSegment_has_DataPoint> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegment_has_DataPoint;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataPoint
      
    ) ]];
.
<#rev_PhysicalRecordSegment_has_DataPoint> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalRecordSegment_has_DataPoint ];
.
<#PhysicalRecordSegment_has_DataPointPosition> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegment_has_DataPointPosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataPointPosition
      
    ) ]];
.
<#rev_PhysicalRecordSegment_has_DataPointPosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalRecordSegment_has_DataPointPosition ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#PhysicalRecordSegment_has_PhysicalSegmentLayout> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegment_has_PhysicalSegmentLayout;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PhysicalSegmentLayout
        cdi:UnitSegmentLayout
      
    ) ]];
    sh:maxCount 1;
.
<#rev_PhysicalRecordSegment_has_PhysicalSegmentLayout> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalRecordSegment_has_PhysicalSegmentLayout ];
.
<#PhysicalRecordSegment_mapsTo_LogicalRecord> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegment_mapsTo_LogicalRecord;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LogicalRecord
      
    ) ]];
    sh:maxCount 1;
.
<#rev_PhysicalRecordSegment_mapsTo_LogicalRecord> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalRecordSegment_mapsTo_LogicalRecord ];
.

# class PhysicalRecordSegmentPosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::PhysicalRecordSegmentPosition
<#PhysicalRecordSegmentPosition> a sh:NodeShape;
    sh:targetClass cdi:PhysicalRecordSegmentPosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PhysicalRecordSegmentPosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PhysicalRecordSegmentPosition
			 ) ;
    ];
    # attributes
    sh:property <#PhysicalRecordSegmentPosition-identifier>;
    sh:property <#PhysicalRecordSegmentPosition-value>;
    # associations from PhysicalRecordSegmentPosition
    sh:property <#PhysicalRecordSegmentPosition_indexes_PhysicalRecordSegment>;
    # associations to PhysicalRecordSegmentPosition
    sh:property <#rev_PhysicalDataSet_has_PhysicalRecordSegmentPosition>;



.

<#PhysicalRecordSegmentPosition-identifier> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentPosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalRecordSegmentPosition-value> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentPosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#PhysicalRecordSegmentPosition_indexes_PhysicalRecordSegment> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentPosition_indexes_PhysicalRecordSegment;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PhysicalRecordSegment
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_PhysicalRecordSegmentPosition_indexes_PhysicalRecordSegment> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalRecordSegmentPosition_indexes_PhysicalRecordSegment ];
.

# class PhysicalRecordSegmentRelationship
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::PhysicalRecordSegmentRelationship
<#PhysicalRecordSegmentRelationship> a sh:NodeShape;
    sh:targetClass cdi:PhysicalRecordSegmentRelationship;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PhysicalRecordSegmentRelationship";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PhysicalRecordSegmentRelationship
			 ) ;
    ];
    # attributes
    sh:property <#PhysicalRecordSegmentRelationship-identifier>;
    sh:property <#PhysicalRecordSegmentRelationship-semantics>;
    # associations from PhysicalRecordSegmentRelationship
    sh:property <#PhysicalRecordSegmentRelationship_hasSource_PhysicalRecordSegment>;
    sh:property <#PhysicalRecordSegmentRelationship_hasTarget_PhysicalRecordSegment>;
    # associations to PhysicalRecordSegmentRelationship
    sh:property <#rev_PhysicalDataSetStructure_has_PhysicalRecordSegmentRelationship>;



.

<#PhysicalRecordSegmentRelationship-identifier> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentRelationship-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalRecordSegmentRelationship-semantics> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentRelationship-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#PhysicalRecordSegmentRelationship_hasSource_PhysicalRecordSegment> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentRelationship_hasSource_PhysicalRecordSegment;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PhysicalRecordSegment
      
    ) ]];
    sh:maxCount 1;
.
<#rev_PhysicalRecordSegmentRelationship_hasSource_PhysicalRecordSegment> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalRecordSegmentRelationship_hasSource_PhysicalRecordSegment ];
.
<#PhysicalRecordSegmentRelationship_hasTarget_PhysicalRecordSegment> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentRelationship_hasTarget_PhysicalRecordSegment;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PhysicalRecordSegment
      
    ) ]];
.
<#rev_PhysicalRecordSegmentRelationship_hasTarget_PhysicalRecordSegment> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalRecordSegmentRelationship_hasTarget_PhysicalRecordSegment ];
.

# class PhysicalRecordSegmentStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::PhysicalRecordSegmentStructure
<#PhysicalRecordSegmentStructure> a sh:NodeShape;
    sh:targetClass cdi:PhysicalRecordSegmentStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PhysicalRecordSegmentStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PhysicalRecordSegmentStructure
			 ) ;
    ];
    # attributes
    sh:property <#PhysicalRecordSegmentStructure-identifier>;
    sh:property <#PhysicalRecordSegmentStructure-name>;
    sh:property <#PhysicalRecordSegmentStructure-purpose>;
    sh:property <#PhysicalRecordSegmentStructure-semantics>;
    sh:property <#PhysicalRecordSegmentStructure-specification>;
    sh:property <#PhysicalRecordSegmentStructure-topology>;
    sh:property <#PhysicalRecordSegmentStructure-totality>;
    # associations from PhysicalRecordSegmentStructure
    sh:property <#PhysicalRecordSegmentStructure_has_DataPointRelationship>;
    sh:property <#PhysicalRecordSegmentStructure_structures_PhysicalRecordSegment>;
    # associations to PhysicalRecordSegmentStructure



.

<#PhysicalRecordSegmentStructure-identifier> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentStructure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalRecordSegmentStructure-name> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentStructure-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalRecordSegmentStructure-purpose> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentStructure-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalRecordSegmentStructure-semantics> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentStructure-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalRecordSegmentStructure-specification> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentStructure-specification;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StructureSpecification
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalRecordSegmentStructure-topology> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentStructure-topology;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalRecordSegmentStructure-totality> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentStructure-totality;
    sh:node <#StructureExtent>
    ;
    sh:maxCount 1;
.

<#PhysicalRecordSegmentStructure_has_DataPointRelationship> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentStructure_has_DataPointRelationship;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataPointRelationship
      
    ) ]];
.
<#rev_PhysicalRecordSegmentStructure_has_DataPointRelationship> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalRecordSegmentStructure_has_DataPointRelationship ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#PhysicalRecordSegmentStructure_structures_PhysicalRecordSegment> a sh:PropertyShape ;
    sh:path cdi:PhysicalRecordSegmentStructure_structures_PhysicalRecordSegment;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PhysicalRecordSegment
      
    ) ]];
    sh:maxCount 1;
.
<#rev_PhysicalRecordSegmentStructure_structures_PhysicalRecordSegment> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalRecordSegmentStructure_structures_PhysicalRecordSegment ];
.

# class PhysicalSegmentLayout
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::PhysicalSegmentLayout
<#PhysicalSegmentLayout> a sh:NodeShape;
    sh:targetClass cdi:PhysicalSegmentLayout;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PhysicalSegmentLayout";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PhysicalSegmentLayout
			  cdi:UnitSegmentLayout
			 ) ;
    ];
    # attributes
    sh:property <#PhysicalSegmentLayout-allowsDuplicates>;
    sh:property <#PhysicalSegmentLayout-arrayBase>;
    sh:property <#PhysicalSegmentLayout-catalogDetails>;
    sh:property <#PhysicalSegmentLayout-commentPrefix>;
    sh:property <#PhysicalSegmentLayout-delimiter>;
    sh:property <#PhysicalSegmentLayout-encoding>;
    sh:property <#PhysicalSegmentLayout-escapeCharacter>;
    sh:property <#PhysicalSegmentLayout-hasHeader>;
    sh:property <#PhysicalSegmentLayout-headerIsCaseSensitive>;
    sh:property <#PhysicalSegmentLayout-headerRowCount>;
    sh:property <#PhysicalSegmentLayout-identifier>;
    sh:property <#PhysicalSegmentLayout-isDelimited>;
    sh:property <#PhysicalSegmentLayout-isFixedWidth>;
    sh:property <#PhysicalSegmentLayout-lineTerminator>;
    sh:property <#PhysicalSegmentLayout-name>;
    sh:property <#PhysicalSegmentLayout-nullSequence>;
    sh:property <#PhysicalSegmentLayout-overview>;
    sh:property <#PhysicalSegmentLayout-purpose>;
    sh:property <#PhysicalSegmentLayout-quoteCharacter>;
    sh:property <#PhysicalSegmentLayout-skipBlankRows>;
    sh:property <#PhysicalSegmentLayout-skipDataColumns>;
    sh:property <#PhysicalSegmentLayout-skipInitialSpace>;
    sh:property <#PhysicalSegmentLayout-skipRows>;
    sh:property <#PhysicalSegmentLayout-tableDirection>;
    sh:property <#PhysicalSegmentLayout-textDirection>;
    sh:property <#PhysicalSegmentLayout-treatConsecutiveDelimitersAsOne>;
    sh:property <#PhysicalSegmentLayout-trim>;
    # associations from PhysicalSegmentLayout
    sh:property <#PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#PhysicalSegmentLayout_formats_LogicalRecord>;
    sh:property <#PhysicalSegmentLayout_has_ValueMapping>;
    sh:property <#PhysicalSegmentLayout_has_ValueMappingPosition>;
    # associations to PhysicalSegmentLayout
    sh:property <#rev_InstanceVariable_has_PhysicalSegmentLayout>;
    sh:property <#rev_PhysicalLayoutRelationStructure_structures_PhysicalSegmentLayout>;
    sh:property <#rev_PhysicalRecordSegment_has_PhysicalSegmentLayout>;



.

<#PhysicalSegmentLayout-allowsDuplicates> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-allowsDuplicates;
    sh:datatype xsd:boolean;
    sh:minCount 1;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-arrayBase> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-arrayBase;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-commentPrefix> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-commentPrefix;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-delimiter> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-delimiter;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-encoding> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-encoding;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-escapeCharacter> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-escapeCharacter;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-hasHeader> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-hasHeader;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-headerIsCaseSensitive> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-headerIsCaseSensitive;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-headerRowCount> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-headerRowCount;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-identifier> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-isDelimited> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-isDelimited;
    sh:datatype xsd:boolean;
    sh:minCount 1;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-isFixedWidth> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-isFixedWidth;
    sh:datatype xsd:boolean;
    sh:minCount 1;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-lineTerminator> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-lineTerminator;
    sh:datatype xsd:string;
.
<#PhysicalSegmentLayout-name> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#PhysicalSegmentLayout-nullSequence> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-nullSequence;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-overview> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-overview;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-purpose> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-quoteCharacter> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-quoteCharacter;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-skipBlankRows> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-skipBlankRows;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-skipDataColumns> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-skipDataColumns;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-skipInitialSpace> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-skipInitialSpace;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-skipRows> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-skipRows;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-tableDirection> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-tableDirection;
    sh:node <#TableDirectionValues>
    ;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-textDirection> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-textDirection;
    sh:node <#TextDirectionValues>
    ;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-treatConsecutiveDelimitersAsOne> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-treatConsecutiveDelimitersAsOne;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#PhysicalSegmentLayout-trim> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout-trim;
    sh:node <#TrimValues>
    ;
    sh:maxCount 1;
.

<#PhysicalSegmentLayout_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_PhysicalSegmentLayout_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalSegmentLayout_isDefinedBy_Concept ];
.
<#PhysicalSegmentLayout_formats_LogicalRecord> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout_formats_LogicalRecord;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LogicalRecord
      
    ) ]];
    sh:maxCount 1;
.
<#rev_PhysicalSegmentLayout_formats_LogicalRecord> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalSegmentLayout_formats_LogicalRecord ];
.
<#PhysicalSegmentLayout_has_ValueMapping> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout_has_ValueMapping;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ValueMapping
      
    ) ]];
.
<#rev_PhysicalSegmentLayout_has_ValueMapping> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalSegmentLayout_has_ValueMapping ];
.
<#PhysicalSegmentLayout_has_ValueMappingPosition> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLayout_has_ValueMappingPosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ValueMappingPosition
      
    ) ]];
.
<#rev_PhysicalSegmentLayout_has_ValueMappingPosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PhysicalSegmentLayout_has_ValueMappingPosition ];
    sh:minCount 1;
    sh:maxCount 1;
.

# class PhysicalSegmentLocation
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::PhysicalSegmentLocation
<#PhysicalSegmentLocation> a sh:NodeShape;
    sh:targetClass cdi:PhysicalSegmentLocation;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PhysicalSegmentLocation";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PhysicalSegmentLocation
			  cdi:SegmentByText
			 ) ;
    ];
    # attributes
    sh:property <#PhysicalSegmentLocation-catalogDetails>;
    sh:property <#PhysicalSegmentLocation-identifier>;
    # associations from PhysicalSegmentLocation
    # associations to PhysicalSegmentLocation
    sh:property <#rev_ValueMapping_uses_PhysicalSegmentLocation>;



.

<#PhysicalSegmentLocation-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLocation-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#PhysicalSegmentLocation-identifier> a sh:PropertyShape ;
    sh:path cdi:PhysicalSegmentLocation-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.


# class Population
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::Population
<#Population> a sh:NodeShape;
    sh:targetClass cdi:Population;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Population";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Population
			 ) ;
    ];
    # attributes
    sh:property <#Population-timePeriodOfPopulation>;
    # associations from Population
    sh:property <#Population_isComposedOf_Unit>;
    # associations to Population
    sh:property <#rev_PhysicalRecordSegment_represents_Population>;

    # ---- superclass: Universe
    # attributes
    sh:property <#Universe-isInclusive>;
    # associations from Universe
    # associations to Universe
    sh:property <#rev_Key_correspondsTo_Universe>;
    sh:property <#rev_KeyDefinition_correspondsTo_Universe>;

    # ---- superclass: UnitType
    # attributes
    sh:property <#UnitType-descriptiveText>;
    # associations from UnitType
    # associations to UnitType
    sh:property <#rev_ConceptualVariable_measures_UnitType>;
    sh:property <#rev_Unit_has_UnitType>;

    # ---- superclass: Concept
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;









.

<#Population-timePeriodOfPopulation> a sh:PropertyShape ;
    sh:path cdi:Population-timePeriodOfPopulation;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
.

<#Population_isComposedOf_Unit> a sh:PropertyShape ;
    sh:path cdi:Population_isComposedOf_Unit;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Unit
      
    ) ]];
.
<#rev_Population_isComposedOf_Unit> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Population_isComposedOf_Unit ];
.

# class PrimaryKey
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::PrimaryKey
<#PrimaryKey> a sh:NodeShape;
    sh:targetClass cdi:PrimaryKey;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PrimaryKey";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PrimaryKey
			 ) ;
    ];
    # attributes
    sh:property <#PrimaryKey-identifier>;
    # associations from PrimaryKey
    sh:property <#PrimaryKey_isComposedOf_PrimaryKeyComponent>;
    # associations to PrimaryKey
    sh:property <#rev_DataStructure_has_PrimaryKey>;



.

<#PrimaryKey-identifier> a sh:PropertyShape ;
    sh:path cdi:PrimaryKey-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#PrimaryKey_isComposedOf_PrimaryKeyComponent> a sh:PropertyShape ;
    sh:path cdi:PrimaryKey_isComposedOf_PrimaryKeyComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PrimaryKeyComponent
      
    ) ]];
    sh:minCount 1;
.
<#rev_PrimaryKey_isComposedOf_PrimaryKeyComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PrimaryKey_isComposedOf_PrimaryKeyComponent ];
    sh:minCount 1;
    sh:maxCount 1;
.

# class PrimaryKeyComponent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::PrimaryKeyComponent
<#PrimaryKeyComponent> a sh:NodeShape;
    sh:targetClass cdi:PrimaryKeyComponent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PrimaryKeyComponent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PrimaryKeyComponent
			 ) ;
    ];
    # attributes
    sh:property <#PrimaryKeyComponent-identifier>;
    # associations from PrimaryKeyComponent
    sh:property <#PrimaryKeyComponent_correspondsTo_DataStructureComponent>;
    # associations to PrimaryKeyComponent
    sh:property <#rev_ForeignKeyComponent_references_PrimaryKeyComponent>;
    sh:property <#rev_PrimaryKey_isComposedOf_PrimaryKeyComponent>;



.

<#PrimaryKeyComponent-identifier> a sh:PropertyShape ;
    sh:path cdi:PrimaryKeyComponent-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#PrimaryKeyComponent_correspondsTo_DataStructureComponent> a sh:PropertyShape ;
    sh:path cdi:PrimaryKeyComponent_correspondsTo_DataStructureComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataStructureComponent
        cdi:AttributeComponent
        cdi:ContextualComponent
        cdi:DataStructure
        cdi:DimensionalDataStructure
        cdi:KeyValueStructure
        cdi:LongDataStructure
        cdi:WideDataStructure
        cdi:DimensionComponent
        cdi:IdentifierComponent
        cdi:MeasureComponent
        cdi:QualifiedMeasure
        cdi:SyntheticIdComponent
        cdi:VariableDescriptorComponent
        cdi:VariableValueComponent
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:PrimaryKeyComponent_correspondsTo_DataStructureComponent ];
    sh:maxCount 1;
.

# class ProcessingAgent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::ProcessingAgent
<#ProcessingAgent> a sh:NodeShape;
    sh:targetClass cdi:ProcessingAgent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ProcessingAgent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ProcessingAgent
			  cdi:Curator
			  cdi:Service
			 ) ;
    ];
    # attributes
    # associations from ProcessingAgent
    sh:property <#ProcessingAgent_operatesOn_ProductionEnvironment>;
    sh:property <#ProcessingAgent_performs_Activity>;
    # associations to ProcessingAgent
    sh:property <#rev_ControlLogic_informs_ProcessingAgent>;

    # ---- superclass: Agent
    # attributes
    sh:property <#Agent-catalogDetails>;
    sh:property <#Agent-identifier>;
    sh:property <#Agent-image>;
    sh:property <#Agent-purpose>;
    # associations from Agent
    # associations to Agent
    sh:property <#rev_AgentListing_has_Agent>;
    sh:property <#rev_AgentListing_isMaintainedBy_Agent>;
    sh:property <#rev_AgentPosition_indexes_Agent>;
    sh:property <#rev_AgentRelationship_hasSource_Agent>;
    sh:property <#rev_AgentRelationship_hasTarget_Agent>;
    sh:property <#rev_AuthorizationSource_has_Agent>;
    sh:property <#rev_ClassificationIndex_hasContact_Agent>;
    sh:property <#rev_ClassificationIndex_isMaintainedBy_Agent>;
    sh:property <#rev_ClassificationSeries_isOwnedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_hasContact_Agent>;
    sh:property <#rev_CorrespondenceTable_isMaintainedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_isOwnedBy_Agent>;





.


<#ProcessingAgent_operatesOn_ProductionEnvironment> a sh:PropertyShape ;
    sh:path cdi:ProcessingAgent_operatesOn_ProductionEnvironment;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ProductionEnvironment
      
    ) ]];
.
<#rev_ProcessingAgent_operatesOn_ProductionEnvironment> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ProcessingAgent_operatesOn_ProductionEnvironment ];
.
<#ProcessingAgent_performs_Activity> a sh:PropertyShape ;
    sh:path cdi:ProcessingAgent_performs_Activity;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Activity
        cdi:Step
      
    ) ]];
.
<#rev_ProcessingAgent_performs_Activity> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ProcessingAgent_performs_Activity ];
.

# class ProductionEnvironment
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::ProductionEnvironment
<#ProductionEnvironment> a sh:NodeShape;
    sh:targetClass cdi:ProductionEnvironment;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ProductionEnvironment";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ProductionEnvironment
			 ) ;
    ];
    # attributes
    sh:property <#ProductionEnvironment-description>;
    sh:property <#ProductionEnvironment-displayLabel>;
    sh:property <#ProductionEnvironment-identifier>;
    sh:property <#ProductionEnvironment-name>;
    # associations from ProductionEnvironment
    # associations to ProductionEnvironment
    sh:property <#rev_ProcessingAgent_operatesOn_ProductionEnvironment>;



.

<#ProductionEnvironment-description> a sh:PropertyShape ;
    sh:path cdi:ProductionEnvironment-description;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ProductionEnvironment-displayLabel> a sh:PropertyShape ;
    sh:path cdi:ProductionEnvironment-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#ProductionEnvironment-identifier> a sh:PropertyShape ;
    sh:path cdi:ProductionEnvironment-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ProductionEnvironment-name> a sh:PropertyShape ;
    sh:path cdi:ProductionEnvironment-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.


# class QualifiedMeasure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Dimensional::QualifiedMeasure
<#QualifiedMeasure> a sh:NodeShape;
    sh:targetClass cdi:QualifiedMeasure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/QualifiedMeasure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:QualifiedMeasure
			 ) ;
    ];
    # attributes
    # associations from QualifiedMeasure
    sh:property <#QualifiedMeasure_refines_MeasureComponent>;
    # associations to QualifiedMeasure
    sh:property <#rev_ScopedMeasure_restricts_QualifiedMeasure>;

    # ---- superclass: MeasureComponent
    # attributes
    sh:property <#MeasureComponent-name>;
    # associations from MeasureComponent
    # associations to MeasureComponent
    sh:property <#rev_QualifiedMeasure_refines_MeasureComponent>;

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;







.


<#QualifiedMeasure_refines_MeasureComponent> a sh:PropertyShape ;
    sh:path cdi:QualifiedMeasure_refines_MeasureComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:MeasureComponent
        cdi:QualifiedMeasure
      
    ) ]];
    sh:maxCount 1;
.
<#rev_QualifiedMeasure_refines_MeasureComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:QualifiedMeasure_refines_MeasureComponent ];
.

# class RecordRelation
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::RecordRelation
<#RecordRelation> a sh:NodeShape;
    sh:targetClass cdi:RecordRelation;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/RecordRelation";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:RecordRelation
			 ) ;
    ];
    # attributes
    sh:property <#RecordRelation-catalogDetails>;
    sh:property <#RecordRelation-displayLabel>;
    sh:property <#RecordRelation-identifier>;
    sh:property <#RecordRelation-purpose>;
    sh:property <#RecordRelation-usage>;
    # associations from RecordRelation
    sh:property <#RecordRelation_has_InstanceVariableMap>;
    sh:property <#RecordRelation_maps_LogicalRecord>;
    # associations to RecordRelation
    sh:property <#rev_DataStore_has_RecordRelation>;



.

<#RecordRelation-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:RecordRelation-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#RecordRelation-displayLabel> a sh:PropertyShape ;
    sh:path cdi:RecordRelation-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#RecordRelation-identifier> a sh:PropertyShape ;
    sh:path cdi:RecordRelation-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#RecordRelation-purpose> a sh:PropertyShape ;
    sh:path cdi:RecordRelation-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#RecordRelation-usage> a sh:PropertyShape ;
    sh:path cdi:RecordRelation-usage;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.

<#RecordRelation_has_InstanceVariableMap> a sh:PropertyShape ;
    sh:path cdi:RecordRelation_has_InstanceVariableMap;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InstanceVariableMap
      
    ) ]];
.
<#rev_RecordRelation_has_InstanceVariableMap> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:RecordRelation_has_InstanceVariableMap ];
    sh:maxCount 1;
.
<#RecordRelation_maps_LogicalRecord> a sh:PropertyShape ;
    sh:path cdi:RecordRelation_maps_LogicalRecord;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LogicalRecord
      
    ) ]];
    sh:minCount 2;
.
<#rev_RecordRelation_maps_LogicalRecord> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:RecordRelation_maps_LogicalRecord ];
.

# class ReferenceValue
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::ReferenceValue
<#ReferenceValue> a sh:NodeShape;
    sh:targetClass cdi:ReferenceValue;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ReferenceValue";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ReferenceValue
			 ) ;
    ];
    # attributes
    # associations from ReferenceValue
    sh:property <#ReferenceValue_correspondsTo_VariableValueComponent>;
    sh:property <#ReferenceValue_hasValueFrom_ReferenceValueDomain>;
    # associations to ReferenceValue
    sh:property <#rev_InstanceKey_refersTo_ReferenceValue>;
    sh:property <#rev_Descriptor_refersTo_ReferenceValue>;

    # ---- superclass: InstanceValue
    # attributes
    sh:property <#InstanceValue-content>;
    sh:property <#InstanceValue-identifier>;
    sh:property <#InstanceValue-whiteSpace>;
    # associations from InstanceValue
    sh:property <#InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#InstanceValue_isStoredIn_DataPoint>;
    sh:property <#InstanceValue_represents_ConceptualValue>;
    # associations to InstanceValue
    sh:property <#rev_Datum_uses_InstanceValue>;
    sh:property <#rev_InstanceKey_has_InstanceValue>;





.


<#ReferenceValue_correspondsTo_VariableValueComponent> a sh:PropertyShape ;
    sh:path cdi:ReferenceValue_correspondsTo_VariableValueComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:VariableValueComponent
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_ReferenceValue_correspondsTo_VariableValueComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ReferenceValue_correspondsTo_VariableValueComponent ];
.
<#ReferenceValue_hasValueFrom_ReferenceValueDomain> a sh:PropertyShape ;
    sh:path cdi:ReferenceValue_hasValueFrom_ReferenceValueDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ReferenceValueDomain
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_ReferenceValue_hasValueFrom_ReferenceValueDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ReferenceValue_hasValueFrom_ReferenceValueDomain ];
.

# class ReferenceValueDomain
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::ReferenceValueDomain
<#ReferenceValueDomain> a sh:NodeShape;
    sh:targetClass cdi:ReferenceValueDomain;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ReferenceValueDomain";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ReferenceValueDomain
			 ) ;
    ];
    # attributes
    # associations from ReferenceValueDomain
    # associations to ReferenceValueDomain
    sh:property <#rev_ReferenceValue_hasValueFrom_ReferenceValueDomain>;
    sh:property <#rev_ReferenceVariable_takesValuesFrom_ReferenceValueDomain>;

    # ---- superclass: ValueDomain
    # attributes
    sh:property <#ValueDomain-catalogDetails>;
    sh:property <#ValueDomain-displayLabel>;
    sh:property <#ValueDomain-identifier>;
    sh:property <#ValueDomain-recommendedDataType>;
    # associations from ValueDomain
    # associations to ValueDomain
    sh:property <#rev_InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#rev_DimensionComponent_isStructuredBy_ValueDomain>;





.



# class ReferenceVariable
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Long::ReferenceVariable
<#ReferenceVariable> a sh:NodeShape;
    sh:targetClass cdi:ReferenceVariable;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ReferenceVariable";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ReferenceVariable
			 ) ;
    ];
    # attributes
    # associations from ReferenceVariable
    sh:property <#ReferenceVariable_takesValuesFrom_ReferenceValueDomain>;
    # associations to ReferenceVariable
    sh:property <#rev_Descriptor_identifies_ReferenceVariable>;

    # ---- superclass: InstanceVariable
    # attributes
    sh:property <#InstanceVariable-physicalDataType>;
    sh:property <#InstanceVariable-platformType>;
    sh:property <#InstanceVariable-source>;
    sh:property <#InstanceVariable-variableFunction>;
    # associations from InstanceVariable
    sh:property <#InstanceVariable_has_PhysicalSegmentLayout>;
    sh:property <#InstanceVariable_has_ValueMapping>;
    # associations to InstanceVariable
    sh:property <#rev_CategoryStatistic_appliesTo_InstanceVariable>;
    sh:property <#rev_DataPoint_isDescribedBy_InstanceVariable>;
    sh:property <#rev_Datum_isBoundedBy_InstanceVariable>;
    sh:property <#rev_InstanceVariableMap_hasSource_InstanceVariable>;
    sh:property <#rev_InstanceVariableMap_hasTarget_InstanceVariable>;
    sh:property <#rev_LogicalRecord_has_InstanceVariable>;
    sh:property <#rev_PhysicalDataSet_has_InstanceVariable>;

    # ---- superclass: RepresentedVariable
    # attributes
    sh:property <#RepresentedVariable-describedUnitOfMeasure>;
    sh:property <#RepresentedVariable-hasIntendedDataType>;
    sh:property <#RepresentedVariable-simpleUnitOfMeasure>;
    # associations from RepresentedVariable
    sh:property <#RepresentedVariable_takesSentinelValuesFrom_SentinelValueDomain>;
    sh:property <#RepresentedVariable_takesSubstantiveValuesFrom_SubstantiveValueDomain>;
    # associations to RepresentedVariable
    sh:property <#rev_DataStructureComponent_isDefinedBy_RepresentedVariable>;

    # ---- superclass: ConceptualVariable
    # attributes
    sh:property <#ConceptualVariable-descriptiveText>;
    sh:property <#ConceptualVariable-unitOfMeasureKind>;
    # associations from ConceptualVariable
    sh:property <#ConceptualVariable_measures_UnitType>;
    sh:property <#ConceptualVariable_takesSentinelConceptsFrom_SentinelConceptualDomain>;
    sh:property <#ConceptualVariable_takesSubstantiveConceptsFrom_SubstantiveConceptualDomain>;
    # associations to ConceptualVariable
    sh:property <#rev_VariableCollection_has_ConceptualVariable>;
    sh:property <#rev_VariablePosition_indexes_ConceptualVariable>;
    sh:property <#rev_VariableRelationship_hasSource_ConceptualVariable>;
    sh:property <#rev_VariableRelationship_hasTarget_ConceptualVariable>;

    # ---- superclass: Concept
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;











.


<#ReferenceVariable_takesValuesFrom_ReferenceValueDomain> a sh:PropertyShape ;
    sh:path cdi:ReferenceVariable_takesValuesFrom_ReferenceValueDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ReferenceValueDomain
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ReferenceVariable_takesValuesFrom_ReferenceValueDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ReferenceVariable_takesValuesFrom_ReferenceValueDomain ];
.

# class RepresentedVariable
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::RepresentedVariable
<#RepresentedVariable> a sh:NodeShape;
    sh:targetClass cdi:RepresentedVariable;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/RepresentedVariable";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:RepresentedVariable
			  cdi:InstanceVariable
			  cdi:DescriptorVariable
			  cdi:ReferenceVariable
			 ) ;
    ];
    # attributes
    sh:property <#RepresentedVariable-describedUnitOfMeasure>;
    sh:property <#RepresentedVariable-hasIntendedDataType>;
    sh:property <#RepresentedVariable-simpleUnitOfMeasure>;
    # associations from RepresentedVariable
    sh:property <#RepresentedVariable_takesSentinelValuesFrom_SentinelValueDomain>;
    sh:property <#RepresentedVariable_takesSubstantiveValuesFrom_SubstantiveValueDomain>;
    # associations to RepresentedVariable
    sh:property <#rev_DataStructureComponent_isDefinedBy_RepresentedVariable>;

    # ---- superclass: ConceptualVariable
    # attributes
    sh:property <#ConceptualVariable-descriptiveText>;
    sh:property <#ConceptualVariable-unitOfMeasureKind>;
    # associations from ConceptualVariable
    sh:property <#ConceptualVariable_measures_UnitType>;
    sh:property <#ConceptualVariable_takesSentinelConceptsFrom_SentinelConceptualDomain>;
    sh:property <#ConceptualVariable_takesSubstantiveConceptsFrom_SubstantiveConceptualDomain>;
    # associations to ConceptualVariable
    sh:property <#rev_VariableCollection_has_ConceptualVariable>;
    sh:property <#rev_VariablePosition_indexes_ConceptualVariable>;
    sh:property <#rev_VariableRelationship_hasSource_ConceptualVariable>;
    sh:property <#rev_VariableRelationship_hasTarget_ConceptualVariable>;

    # ---- superclass: Concept
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;







.

<#RepresentedVariable-describedUnitOfMeasure> a sh:PropertyShape ;
    sh:path cdi:RepresentedVariable-describedUnitOfMeasure;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#RepresentedVariable-hasIntendedDataType> a sh:PropertyShape ;
    sh:path cdi:RepresentedVariable-hasIntendedDataType;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#RepresentedVariable-simpleUnitOfMeasure> a sh:PropertyShape ;
    sh:path cdi:RepresentedVariable-simpleUnitOfMeasure;
    sh:datatype xsd:string;
    sh:maxCount 1;
.

<#RepresentedVariable_takesSentinelValuesFrom_SentinelValueDomain> a sh:PropertyShape ;
    sh:path cdi:RepresentedVariable_takesSentinelValuesFrom_SentinelValueDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:SentinelValueDomain
      
    ) ]];
.
<#rev_RepresentedVariable_takesSentinelValuesFrom_SentinelValueDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:RepresentedVariable_takesSentinelValuesFrom_SentinelValueDomain ];
.
<#RepresentedVariable_takesSubstantiveValuesFrom_SubstantiveValueDomain> a sh:PropertyShape ;
    sh:path cdi:RepresentedVariable_takesSubstantiveValuesFrom_SubstantiveValueDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:SubstantiveValueDomain
        cdi:DescriptorValueDomain
      
    ) ]];
    sh:maxCount 1;
.
<#rev_RepresentedVariable_takesSubstantiveValuesFrom_SubstantiveValueDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:RepresentedVariable_takesSubstantiveValuesFrom_SubstantiveValueDomain ];
.

# class RevisableDatum
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Dimensional::RevisableDatum
<#RevisableDatum> a sh:NodeShape;
    sh:targetClass cdi:RevisableDatum;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/RevisableDatum";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:RevisableDatum
			 ) ;
    ];
    # attributes
    sh:property <#RevisableDatum-vintage>;
    # associations from RevisableDatum
    sh:property <#RevisableDatum_correspondsTo_Revision>;
    # associations to RevisableDatum
    sh:property <#rev_ScopedMeasure_generates_RevisableDatum>;

    # ---- superclass: Datum
    # attributes
    sh:property <#Datum-catalogDetails>;
    sh:property <#Datum-identifier>;
    # associations from Datum
    sh:property <#Datum_isBoundedBy_InstanceVariable>;
    sh:property <#Datum_denotes_ConceptualValue>;
    sh:property <#Datum_uses_InstanceValue>;
    sh:property <#Datum_uses_Notation>;
    # associations to Datum





.

<#RevisableDatum-vintage> a sh:PropertyShape ;
    sh:path cdi:RevisableDatum-vintage;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#RevisableDatum_correspondsTo_Revision> a sh:PropertyShape ;
    sh:path cdi:RevisableDatum_correspondsTo_Revision;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Revision
      
    ) ]];
    sh:maxCount 1;
.
<#rev_RevisableDatum_correspondsTo_Revision> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:RevisableDatum_correspondsTo_Revision ];
.

# class Revision
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Dimensional::Revision
<#Revision> a sh:NodeShape;
    sh:targetClass cdi:Revision;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Revision";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Revision
			 ) ;
    ];
    # attributes
    sh:property <#Revision-algorithm>;
    sh:property <#Revision-identifier>;
    sh:property <#Revision-overview>;
    # associations from Revision
    # associations to Revision
    sh:property <#rev_RevisableDatum_correspondsTo_Revision>;



.

<#Revision-algorithm> a sh:PropertyShape ;
    sh:path cdi:Revision-algorithm;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#Revision-identifier> a sh:PropertyShape ;
    sh:path cdi:Revision-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#Revision-overview> a sh:PropertyShape ;
    sh:path cdi:Revision-overview;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.


# class Rule
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::Rule
<#Rule> a sh:NodeShape;
    sh:targetClass cdi:Rule;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Rule";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Rule
			 ) ;
    ];
    # attributes
    sh:property <#Rule-identifier>;
    # associations from Rule
    sh:property <#Rule_hasPrecondition_ConditionalControlLogic>;
    # associations to Rule
    sh:property <#rev_RuleSet_has_Rule>;



.

<#Rule-identifier> a sh:PropertyShape ;
    sh:path cdi:Rule-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#Rule_hasPrecondition_ConditionalControlLogic> a sh:PropertyShape ;
    sh:path cdi:Rule_hasPrecondition_ConditionalControlLogic;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConditionalControlLogic
      
    ) ]];
.
<#rev_Rule_hasPrecondition_ConditionalControlLogic> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Rule_hasPrecondition_ConditionalControlLogic ];
.

# class RuleBasedScheduling
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::RuleBasedScheduling
<#RuleBasedScheduling> a sh:NodeShape;
    sh:targetClass cdi:RuleBasedScheduling;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/RuleBasedScheduling";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:RuleBasedScheduling
			 ) ;
    ];
    # attributes
    sh:property <#RuleBasedScheduling-schedulingType>;
    # associations from RuleBasedScheduling
    sh:property <#RuleBasedScheduling_has_Curator>;
    sh:property <#RuleBasedScheduling_has_RuleSet>;
    # associations to RuleBasedScheduling

    # ---- superclass: NonDeterministicDeclarative
    # attributes
    # associations from NonDeterministicDeclarative
    # associations to NonDeterministicDeclarative

    # ---- superclass: ControlLogic
    # attributes
    sh:property <#ControlLogic-description>;
    sh:property <#ControlLogic-displayLabel>;
    sh:property <#ControlLogic-identifier>;
    sh:property <#ControlLogic-name>;
    sh:property <#ControlLogic-workflow>;
    # associations from ControlLogic
    sh:property <#ControlLogic_has_InformationFlowDefinition>;
    sh:property <#ControlLogic_hasSubControlLogic_ControlLogic>;
    sh:property <#ControlLogic_informs_ProcessingAgent>;
    sh:property <#ControlLogic_invokes_Activity>;
    # associations to ControlLogic
    sh:property <#rev_Activity_hasInternal_ControlLogic>;
    sh:property <#rev_ControlLogic_hasSubControlLogic_ControlLogic>;







.

<#RuleBasedScheduling-schedulingType> a sh:PropertyShape ;
    sh:path cdi:RuleBasedScheduling-schedulingType;
    sh:node <#SchedulingStrategy>
    ;
    sh:minCount 1;
    sh:maxCount 1;
.

<#RuleBasedScheduling_has_Curator> a sh:PropertyShape ;
    sh:path cdi:RuleBasedScheduling_has_Curator;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Curator
      
    ) ]];
.
<#rev_RuleBasedScheduling_has_Curator> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:RuleBasedScheduling_has_Curator ];
    sh:maxCount 1;
.
<#RuleBasedScheduling_has_RuleSet> a sh:PropertyShape ;
    sh:path cdi:RuleBasedScheduling_has_RuleSet;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:RuleSet
      
    ) ]];
.
<#rev_RuleBasedScheduling_has_RuleSet> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:RuleBasedScheduling_has_RuleSet ];
    sh:maxCount 1;
.

# class RuleSet
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::RuleSet
<#RuleSet> a sh:NodeShape;
    sh:targetClass cdi:RuleSet;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/RuleSet";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:RuleSet
			 ) ;
    ];
    # attributes
    sh:property <#RuleSet-identifier>;
    # associations from RuleSet
    sh:property <#RuleSet_has_Rule>;
    # associations to RuleSet
    sh:property <#rev_RuleBasedScheduling_has_RuleSet>;



.

<#RuleSet-identifier> a sh:PropertyShape ;
    sh:path cdi:RuleSet-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#RuleSet_has_Rule> a sh:PropertyShape ;
    sh:path cdi:RuleSet_has_Rule;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Rule
      
    ) ]];
.
<#rev_RuleSet_has_Rule> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:RuleSet_has_Rule ];
    sh:maxCount 1;
.

# class ScopedMeasure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Dimensional::ScopedMeasure
<#ScopedMeasure> a sh:NodeShape;
    sh:targetClass cdi:ScopedMeasure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ScopedMeasure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ScopedMeasure
			 ) ;
    ];
    # attributes
    sh:property <#ScopedMeasure-frequency>;
    sh:property <#ScopedMeasure-identifier>;
    # associations from ScopedMeasure
    sh:property <#ScopedMeasure_circumscribes_DimensionalKeyDefinition>;
    sh:property <#ScopedMeasure_generates_RevisableDatum>;
    sh:property <#ScopedMeasure_restricts_QualifiedMeasure>;
    # associations to ScopedMeasure
    sh:property <#rev_DimensionalDataSet_represents_ScopedMeasure>;



.

<#ScopedMeasure-frequency> a sh:PropertyShape ;
    sh:path cdi:ScopedMeasure-frequency;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ScopedMeasure-identifier> a sh:PropertyShape ;
    sh:path cdi:ScopedMeasure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.

<#ScopedMeasure_circumscribes_DimensionalKeyDefinition> a sh:PropertyShape ;
    sh:path cdi:ScopedMeasure_circumscribes_DimensionalKeyDefinition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DimensionalKeyDefinition
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ScopedMeasure_circumscribes_DimensionalKeyDefinition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ScopedMeasure_circumscribes_DimensionalKeyDefinition ];
.
<#ScopedMeasure_generates_RevisableDatum> a sh:PropertyShape ;
    sh:path cdi:ScopedMeasure_generates_RevisableDatum;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:RevisableDatum
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_ScopedMeasure_generates_RevisableDatum> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ScopedMeasure_generates_RevisableDatum ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#ScopedMeasure_restricts_QualifiedMeasure> a sh:PropertyShape ;
    sh:path cdi:ScopedMeasure_restricts_QualifiedMeasure;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:QualifiedMeasure
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ScopedMeasure_restricts_QualifiedMeasure> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ScopedMeasure_restricts_QualifiedMeasure ];
.

# class SegmentByText
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::SegmentByText
<#SegmentByText> a sh:NodeShape;
    sh:targetClass cdi:SegmentByText;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SegmentByText";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:SegmentByText
			 ) ;
    ];
    # attributes
    sh:property <#SegmentByText-characterLength>;
    sh:property <#SegmentByText-endCharacterPosition>;
    sh:property <#SegmentByText-endLine>;
    sh:property <#SegmentByText-startCharacterPosition>;
    sh:property <#SegmentByText-startLine>;
    # associations from SegmentByText
    # associations to SegmentByText

    # ---- superclass: PhysicalSegmentLocation
    # attributes
    sh:property <#PhysicalSegmentLocation-catalogDetails>;
    sh:property <#PhysicalSegmentLocation-identifier>;
    # associations from PhysicalSegmentLocation
    # associations to PhysicalSegmentLocation
    sh:property <#rev_ValueMapping_uses_PhysicalSegmentLocation>;





.

<#SegmentByText-characterLength> a sh:PropertyShape ;
    sh:path cdi:SegmentByText-characterLength;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#SegmentByText-endCharacterPosition> a sh:PropertyShape ;
    sh:path cdi:SegmentByText-endCharacterPosition;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#SegmentByText-endLine> a sh:PropertyShape ;
    sh:path cdi:SegmentByText-endLine;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#SegmentByText-startCharacterPosition> a sh:PropertyShape ;
    sh:path cdi:SegmentByText-startCharacterPosition;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#SegmentByText-startLine> a sh:PropertyShape ;
    sh:path cdi:SegmentByText-startLine;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.


# class SentinelConceptualDomain
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::SentinelConceptualDomain
<#SentinelConceptualDomain> a sh:NodeShape;
    sh:targetClass cdi:SentinelConceptualDomain;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SentinelConceptualDomain";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:SentinelConceptualDomain
			 ) ;
    ];
    # attributes
    # associations from SentinelConceptualDomain
    # associations to SentinelConceptualDomain
    sh:property <#rev_ConceptualVariable_takesSentinelConceptsFrom_SentinelConceptualDomain>;
    sh:property <#rev_SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain>;

    # ---- superclass: ConceptualDomain
    # attributes
    sh:property <#ConceptualDomain-catalogDetails>;
    sh:property <#ConceptualDomain-displayLabel>;
    sh:property <#ConceptualDomain-identifier>;
    # associations from ConceptualDomain
    sh:property <#ConceptualDomain_isDescribedBy_ValueAndConceptDescription>;
    sh:property <#ConceptualDomain_takesConceptsFrom_ConceptSystem>;
    # associations to ConceptualDomain
    sh:property <#rev_ConceptualValue_hasConceptFrom_ConceptualDomain>;





.



# class SentinelValueDomain
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::SentinelValueDomain
<#SentinelValueDomain> a sh:NodeShape;
    sh:targetClass cdi:SentinelValueDomain;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SentinelValueDomain";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:SentinelValueDomain
			 ) ;
    ];
    # attributes
    sh:property <#SentinelValueDomain-platformType>;
    # associations from SentinelValueDomain
    sh:property <#SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain>;
    sh:property <#SentinelValueDomain_isDescribedBy_ValueAndConceptDescription>;
    sh:property <#SentinelValueDomain_takesValuesFrom_EnumerationDomain>;
    # associations to SentinelValueDomain
    sh:property <#rev_RepresentedVariable_takesSentinelValuesFrom_SentinelValueDomain>;

    # ---- superclass: ValueDomain
    # attributes
    sh:property <#ValueDomain-catalogDetails>;
    sh:property <#ValueDomain-displayLabel>;
    sh:property <#ValueDomain-identifier>;
    sh:property <#ValueDomain-recommendedDataType>;
    # associations from ValueDomain
    # associations to ValueDomain
    sh:property <#rev_InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#rev_DimensionComponent_isStructuredBy_ValueDomain>;





.

<#SentinelValueDomain-platformType> a sh:PropertyShape ;
    sh:path cdi:SentinelValueDomain-platformType;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain> a sh:PropertyShape ;
    sh:path cdi:SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:SentinelConceptualDomain
      
    ) ]];
    sh:maxCount 1;
.
<#rev_SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:SentinelValueDomain_takesConceptsFrom_SentinelConceptualDomain ];
.
<#SentinelValueDomain_isDescribedBy_ValueAndConceptDescription> a sh:PropertyShape ;
    sh:path cdi:SentinelValueDomain_isDescribedBy_ValueAndConceptDescription;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ValueAndConceptDescription
      
    ) ]];
    sh:maxCount 1;
.
<#rev_SentinelValueDomain_isDescribedBy_ValueAndConceptDescription> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:SentinelValueDomain_isDescribedBy_ValueAndConceptDescription ];
.
<#SentinelValueDomain_takesValuesFrom_EnumerationDomain> a sh:PropertyShape ;
    sh:path cdi:SentinelValueDomain_takesValuesFrom_EnumerationDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:EnumerationDomain
        cdi:CodeList
        cdi:StatisticalClassification
      
    ) ]];
    sh:maxCount 1;
.
<#rev_SentinelValueDomain_takesValuesFrom_EnumerationDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:SentinelValueDomain_takesValuesFrom_EnumerationDomain ];
.

# class Sequence
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::Sequence
<#Sequence> a sh:NodeShape;
    sh:targetClass cdi:Sequence;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Sequence";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Sequence
			 ) ;
    ];
    # attributes
    # associations from Sequence
    sh:property <#Sequence_has_SequencePosition>;
    # associations to Sequence

    # ---- superclass: DeterministicImperative
    # attributes
    # associations from DeterministicImperative
    # associations to DeterministicImperative

    # ---- superclass: ControlLogic
    # attributes
    sh:property <#ControlLogic-description>;
    sh:property <#ControlLogic-displayLabel>;
    sh:property <#ControlLogic-identifier>;
    sh:property <#ControlLogic-name>;
    sh:property <#ControlLogic-workflow>;
    # associations from ControlLogic
    sh:property <#ControlLogic_has_InformationFlowDefinition>;
    sh:property <#ControlLogic_hasSubControlLogic_ControlLogic>;
    sh:property <#ControlLogic_informs_ProcessingAgent>;
    sh:property <#ControlLogic_invokes_Activity>;
    # associations to ControlLogic
    sh:property <#rev_Activity_hasInternal_ControlLogic>;
    sh:property <#rev_ControlLogic_hasSubControlLogic_ControlLogic>;







.


<#Sequence_has_SequencePosition> a sh:PropertyShape ;
    sh:path cdi:Sequence_has_SequencePosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:SequencePosition
      
    ) ]];
.
<#rev_Sequence_has_SequencePosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Sequence_has_SequencePosition ];
    sh:minCount 1;
    sh:maxCount 1;
.

# class SequencePosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::SequencePosition
<#SequencePosition> a sh:NodeShape;
    sh:targetClass cdi:SequencePosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SequencePosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:SequencePosition
			 ) ;
    ];
    # attributes
    sh:property <#SequencePosition-identifier>;
    sh:property <#SequencePosition-value>;
    # associations from SequencePosition
    sh:property <#SequencePosition_indexes_Activity>;
    # associations to SequencePosition
    sh:property <#rev_Sequence_has_SequencePosition>;



.

<#SequencePosition-identifier> a sh:PropertyShape ;
    sh:path cdi:SequencePosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#SequencePosition-value> a sh:PropertyShape ;
    sh:path cdi:SequencePosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#SequencePosition_indexes_Activity> a sh:PropertyShape ;
    sh:path cdi:SequencePosition_indexes_Activity;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Activity
        cdi:Step
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_SequencePosition_indexes_Activity> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:SequencePosition_indexes_Activity ];
.

# class Service
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::Service
<#Service> a sh:NodeShape;
    sh:targetClass cdi:Service;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Service";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Service
			 ) ;
    ];
    # attributes
    # associations from Service
    # associations to Service

    # ---- superclass: ProcessingAgent
    # attributes
    # associations from ProcessingAgent
    sh:property <#ProcessingAgent_operatesOn_ProductionEnvironment>;
    sh:property <#ProcessingAgent_performs_Activity>;
    # associations to ProcessingAgent
    sh:property <#rev_ControlLogic_informs_ProcessingAgent>;

    # ---- superclass: Agent
    # attributes
    sh:property <#Agent-catalogDetails>;
    sh:property <#Agent-identifier>;
    sh:property <#Agent-image>;
    sh:property <#Agent-purpose>;
    # associations from Agent
    # associations to Agent
    sh:property <#rev_AgentListing_has_Agent>;
    sh:property <#rev_AgentListing_isMaintainedBy_Agent>;
    sh:property <#rev_AgentPosition_indexes_Agent>;
    sh:property <#rev_AgentRelationship_hasSource_Agent>;
    sh:property <#rev_AgentRelationship_hasTarget_Agent>;
    sh:property <#rev_AuthorizationSource_has_Agent>;
    sh:property <#rev_ClassificationIndex_hasContact_Agent>;
    sh:property <#rev_ClassificationIndex_isMaintainedBy_Agent>;
    sh:property <#rev_ClassificationSeries_isOwnedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_hasContact_Agent>;
    sh:property <#rev_CorrespondenceTable_isMaintainedBy_Agent>;
    sh:property <#rev_CorrespondenceTable_isOwnedBy_Agent>;







.



# class StatisticalClassification
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::StatisticalClassification
<#StatisticalClassification> a sh:NodeShape;
    sh:targetClass cdi:StatisticalClassification;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/StatisticalClassification";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:StatisticalClassification
			 ) ;
    ];
    # attributes
    sh:property <#StatisticalClassification-allowsDuplicates>;
    sh:property <#StatisticalClassification-availableLanguage>;
    sh:property <#StatisticalClassification-catalogDetails>;
    sh:property <#StatisticalClassification-changeFromBase>;
    sh:property <#StatisticalClassification-copyright>;
    sh:property <#StatisticalClassification-displayLabel>;
    sh:property <#StatisticalClassification-isCurrent>;
    sh:property <#StatisticalClassification-isFloating>;
    sh:property <#StatisticalClassification-purposeOfVariant>;
    sh:property <#StatisticalClassification-rationale>;
    sh:property <#StatisticalClassification-releaseDate>;
    sh:property <#StatisticalClassification-updateChanges>;
    sh:property <#StatisticalClassification-usage>;
    sh:property <#StatisticalClassification-validDates>;
    # associations from StatisticalClassification
    sh:property <#StatisticalClassification_isMaintainedBy_Organization>;
    sh:property <#StatisticalClassification_has_ClassificationItem>;
    sh:property <#StatisticalClassification_has_ClassificationItemPosition>;
    sh:property <#StatisticalClassification_has_LevelStructure>;
    sh:property <#StatisticalClassification_isIndexedBy_ClassificationIndex>;
    sh:property <#StatisticalClassification_isPredecessorOf_StatisticalClassification>;
    sh:property <#StatisticalClassification_isSuccessorOf_StatisticalClassification>;
    sh:property <#StatisticalClassification_isVariantOf_StatisticalClassification>;
    # associations to StatisticalClassification
    sh:property <#rev_ClassificationItemStructure_structures_StatisticalClassification>;
    sh:property <#rev_ClassificationPosition_indexes_StatisticalClassification>;
    sh:property <#rev_ClassificationSeries_has_StatisticalClassification>;
    sh:property <#rev_CorrespondenceTable_mapsTo_StatisticalClassification>;
    sh:property <#rev_StatisticalClassification_isPredecessorOf_StatisticalClassification>;
    sh:property <#rev_StatisticalClassification_isSuccessorOf_StatisticalClassification>;
    sh:property <#rev_StatisticalClassification_isVariantOf_StatisticalClassification>;
    sh:property <#rev_StatisticalClassificationRelationship_hasSource_StatisticalClassification>;
    sh:property <#rev_StatisticalClassificationRelationship_hasTarget_StatisticalClassification>;

    # ---- superclass: EnumerationDomain
    # attributes
    sh:property <#EnumerationDomain-identifier>;
    sh:property <#EnumerationDomain-name>;
    sh:property <#EnumerationDomain-purpose>;
    # associations from EnumerationDomain
    sh:property <#EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#EnumerationDomain_references_CategorySet>;
    sh:property <#EnumerationDomain_uses_LevelStructure>;
    # associations to EnumerationDomain
    sh:property <#rev_SentinelValueDomain_takesValuesFrom_EnumerationDomain>;
    sh:property <#rev_SubstantiveValueDomain_takesValuesFrom_EnumerationDomain>;





.

<#StatisticalClassification-allowsDuplicates> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-allowsDuplicates;
    sh:datatype xsd:boolean;
    sh:minCount 1;
    sh:maxCount 1;
.
<#StatisticalClassification-availableLanguage> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-availableLanguage;
    sh:datatype xsd:language;
.
<#StatisticalClassification-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#StatisticalClassification-changeFromBase> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-changeFromBase;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#StatisticalClassification-copyright> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-copyright;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.
<#StatisticalClassification-displayLabel> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#StatisticalClassification-isCurrent> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-isCurrent;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#StatisticalClassification-isFloating> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-isFloating;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#StatisticalClassification-purposeOfVariant> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-purposeOfVariant;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#StatisticalClassification-rationale> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-rationale;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#StatisticalClassification-releaseDate> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-releaseDate;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CombinedDate
      
    ) ]];
    sh:maxCount 1;
.
<#StatisticalClassification-updateChanges> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-updateChanges;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.
<#StatisticalClassification-usage> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-usage;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#StatisticalClassification-validDates> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification-validDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.

<#StatisticalClassification_isMaintainedBy_Organization> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification_isMaintainedBy_Organization;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Organization
      
    ) ]];
.
<#rev_StatisticalClassification_isMaintainedBy_Organization> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:StatisticalClassification_isMaintainedBy_Organization ];
.
<#StatisticalClassification_has_ClassificationItem> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification_has_ClassificationItem;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationItem
      
    ) ]];
.
<#rev_StatisticalClassification_has_ClassificationItem> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:StatisticalClassification_has_ClassificationItem ];
.
<#StatisticalClassification_has_ClassificationItemPosition> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification_has_ClassificationItemPosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationItemPosition
      
    ) ]];
.
<#rev_StatisticalClassification_has_ClassificationItemPosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:StatisticalClassification_has_ClassificationItemPosition ];
    sh:maxCount 1;
.
<#StatisticalClassification_has_LevelStructure> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification_has_LevelStructure;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LevelStructure
      
    ) ]];
    sh:maxCount 1;
.
<#rev_StatisticalClassification_has_LevelStructure> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:StatisticalClassification_has_LevelStructure ];
.
<#StatisticalClassification_isIndexedBy_ClassificationIndex> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification_isIndexedBy_ClassificationIndex;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ClassificationIndex
      
    ) ]];
.
<#rev_StatisticalClassification_isIndexedBy_ClassificationIndex> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:StatisticalClassification_isIndexedBy_ClassificationIndex ];
.
<#StatisticalClassification_isPredecessorOf_StatisticalClassification> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification_isPredecessorOf_StatisticalClassification;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StatisticalClassification
      
    ) ]];
.
<#rev_StatisticalClassification_isPredecessorOf_StatisticalClassification> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:StatisticalClassification_isPredecessorOf_StatisticalClassification ];
.
<#StatisticalClassification_isSuccessorOf_StatisticalClassification> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification_isSuccessorOf_StatisticalClassification;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StatisticalClassification
      
    ) ]];
.
<#rev_StatisticalClassification_isSuccessorOf_StatisticalClassification> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:StatisticalClassification_isSuccessorOf_StatisticalClassification ];
.
<#StatisticalClassification_isVariantOf_StatisticalClassification> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassification_isVariantOf_StatisticalClassification;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StatisticalClassification
      
    ) ]];
    sh:maxCount 1;
.
<#rev_StatisticalClassification_isVariantOf_StatisticalClassification> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:StatisticalClassification_isVariantOf_StatisticalClassification ];
.

# class StatisticalClassificationRelationship
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::StatisticalClassificationRelationship
<#StatisticalClassificationRelationship> a sh:NodeShape;
    sh:targetClass cdi:StatisticalClassificationRelationship;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/StatisticalClassificationRelationship";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:StatisticalClassificationRelationship
			 ) ;
    ];
    # attributes
    sh:property <#StatisticalClassificationRelationship-identifier>;
    sh:property <#StatisticalClassificationRelationship-semantics>;
    # associations from StatisticalClassificationRelationship
    sh:property <#StatisticalClassificationRelationship_hasSource_StatisticalClassification>;
    sh:property <#StatisticalClassificationRelationship_hasTarget_StatisticalClassification>;
    # associations to StatisticalClassificationRelationship
    sh:property <#rev_ClassificationSeriesStructure_has_StatisticalClassificationRelationship>;



.

<#StatisticalClassificationRelationship-identifier> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassificationRelationship-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#StatisticalClassificationRelationship-semantics> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassificationRelationship-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#StatisticalClassificationRelationship_hasSource_StatisticalClassification> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassificationRelationship_hasSource_StatisticalClassification;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StatisticalClassification
      
    ) ]];
.
<#rev_StatisticalClassificationRelationship_hasSource_StatisticalClassification> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:StatisticalClassificationRelationship_hasSource_StatisticalClassification ];
.
<#StatisticalClassificationRelationship_hasTarget_StatisticalClassification> a sh:PropertyShape ;
    sh:path cdi:StatisticalClassificationRelationship_hasTarget_StatisticalClassification;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StatisticalClassification
      
    ) ]];
.
<#rev_StatisticalClassificationRelationship_hasTarget_StatisticalClassification> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:StatisticalClassificationRelationship_hasTarget_StatisticalClassification ];
.

# class Step
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::Step
<#Step> a sh:NodeShape;
    sh:targetClass cdi:Step;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Step";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Step
			 ) ;
    ];
    # attributes
    sh:property <#Step-script>;
    sh:property <#Step-scriptingLanguage>;
    # associations from Step
    sh:property <#Step_hasSubStep_Step>;
    sh:property <#Step_produces_Parameter>;
    sh:property <#Step_receives_Parameter>;
    # associations to Step
    sh:property <#rev_Activity_has_Step>;
    sh:property <#rev_Step_hasSubStep_Step>;

    # ---- superclass: Activity
    # attributes
    sh:property <#Activity-definition>;
    sh:property <#Activity-description>;
    sh:property <#Activity-displayLabel>;
    sh:property <#Activity-entityProduced>;
    sh:property <#Activity-entityUsed>;
    sh:property <#Activity-identifier>;
    sh:property <#Activity-name>;
    sh:property <#Activity-standardModelMapping>;
    # associations from Activity
    sh:property <#Activity_has_Step>;
    sh:property <#Activity_hasInternal_ControlLogic>;
    sh:property <#Activity_hasSubActivity_Activity>;
    # associations to Activity
    sh:property <#rev_Activity_hasSubActivity_Activity>;
    sh:property <#rev_ControlLogic_invokes_Activity>;
    sh:property <#rev_ProcessingAgent_performs_Activity>;
    sh:property <#rev_SequencePosition_indexes_Activity>;





.

<#Step-script> a sh:PropertyShape ;
    sh:path cdi:Step-script;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CommandCode
      
    ) ]];
    sh:maxCount 1;
.
<#Step-scriptingLanguage> a sh:PropertyShape ;
    sh:path cdi:Step-scriptingLanguage;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#Step_hasSubStep_Step> a sh:PropertyShape ;
    sh:path cdi:Step_hasSubStep_Step;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Step
      
    ) ]];
.
<#rev_Step_hasSubStep_Step> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Step_hasSubStep_Step ];
.
<#Step_produces_Parameter> a sh:PropertyShape ;
    sh:path cdi:Step_produces_Parameter;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Parameter
      
    ) ]];
.
<#rev_Step_produces_Parameter> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Step_produces_Parameter ];
.
<#Step_receives_Parameter> a sh:PropertyShape ;
    sh:path cdi:Step_receives_Parameter;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Parameter
      
    ) ]];
.
<#rev_Step_receives_Parameter> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Step_receives_Parameter ];
.

# class SubstantiveConceptualDomain
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::SubstantiveConceptualDomain
<#SubstantiveConceptualDomain> a sh:NodeShape;
    sh:targetClass cdi:SubstantiveConceptualDomain;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SubstantiveConceptualDomain";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:SubstantiveConceptualDomain
			 ) ;
    ];
    # attributes
    # associations from SubstantiveConceptualDomain
    # associations to SubstantiveConceptualDomain
    sh:property <#rev_ConceptualVariable_takesSubstantiveConceptsFrom_SubstantiveConceptualDomain>;
    sh:property <#rev_SubstantiveValueDomain_takesConceptsFrom_SubstantiveConceptualDomain>;

    # ---- superclass: ConceptualDomain
    # attributes
    sh:property <#ConceptualDomain-catalogDetails>;
    sh:property <#ConceptualDomain-displayLabel>;
    sh:property <#ConceptualDomain-identifier>;
    # associations from ConceptualDomain
    sh:property <#ConceptualDomain_isDescribedBy_ValueAndConceptDescription>;
    sh:property <#ConceptualDomain_takesConceptsFrom_ConceptSystem>;
    # associations to ConceptualDomain
    sh:property <#rev_ConceptualValue_hasConceptFrom_ConceptualDomain>;





.



# class SubstantiveValueDomain
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::SubstantiveValueDomain
<#SubstantiveValueDomain> a sh:NodeShape;
    sh:targetClass cdi:SubstantiveValueDomain;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SubstantiveValueDomain";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:SubstantiveValueDomain
			  cdi:DescriptorValueDomain
			 ) ;
    ];
    # attributes
    # associations from SubstantiveValueDomain
    sh:property <#SubstantiveValueDomain_takesConceptsFrom_SubstantiveConceptualDomain>;
    sh:property <#SubstantiveValueDomain_isDescribedBy_ValueAndConceptDescription>;
    sh:property <#SubstantiveValueDomain_takesValuesFrom_EnumerationDomain>;
    # associations to SubstantiveValueDomain
    sh:property <#rev_RepresentedVariable_takesSubstantiveValuesFrom_SubstantiveValueDomain>;
    sh:property <#rev_MainKeyMember_hasValueFrom_SubstantiveValueDomain>;

    # ---- superclass: ValueDomain
    # attributes
    sh:property <#ValueDomain-catalogDetails>;
    sh:property <#ValueDomain-displayLabel>;
    sh:property <#ValueDomain-identifier>;
    sh:property <#ValueDomain-recommendedDataType>;
    # associations from ValueDomain
    # associations to ValueDomain
    sh:property <#rev_InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#rev_DimensionComponent_isStructuredBy_ValueDomain>;





.


<#SubstantiveValueDomain_takesConceptsFrom_SubstantiveConceptualDomain> a sh:PropertyShape ;
    sh:path cdi:SubstantiveValueDomain_takesConceptsFrom_SubstantiveConceptualDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:SubstantiveConceptualDomain
      
    ) ]];
    sh:maxCount 1;
.
<#rev_SubstantiveValueDomain_takesConceptsFrom_SubstantiveConceptualDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:SubstantiveValueDomain_takesConceptsFrom_SubstantiveConceptualDomain ];
.
<#SubstantiveValueDomain_isDescribedBy_ValueAndConceptDescription> a sh:PropertyShape ;
    sh:path cdi:SubstantiveValueDomain_isDescribedBy_ValueAndConceptDescription;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ValueAndConceptDescription
      
    ) ]];
    sh:maxCount 1;
.
<#rev_SubstantiveValueDomain_isDescribedBy_ValueAndConceptDescription> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:SubstantiveValueDomain_isDescribedBy_ValueAndConceptDescription ];
.
<#SubstantiveValueDomain_takesValuesFrom_EnumerationDomain> a sh:PropertyShape ;
    sh:path cdi:SubstantiveValueDomain_takesValuesFrom_EnumerationDomain;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:EnumerationDomain
        cdi:CodeList
        cdi:StatisticalClassification
      
    ) ]];
    sh:maxCount 1;
.
<#rev_SubstantiveValueDomain_takesValuesFrom_EnumerationDomain> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:SubstantiveValueDomain_takesValuesFrom_EnumerationDomain ];
.

# class SyntheticIdComponent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::KeyValue::SyntheticIdComponent
<#SyntheticIdComponent> a sh:NodeShape;
    sh:targetClass cdi:SyntheticIdComponent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SyntheticIdComponent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:SyntheticIdComponent
			 ) ;
    ];
    # attributes
    # associations from SyntheticIdComponent
    # associations to SyntheticIdComponent

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;





.



# class TemporalConstraints
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::TemporalConstraints
<#TemporalConstraints> a sh:NodeShape;
    sh:targetClass cdi:TemporalConstraints;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/TemporalConstraints";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:TemporalConstraints
			  cdi:AllenIntervalAlgebra
			  cdi:TemporalControlConstruct
			 ) ;
    ];
    # attributes
    # associations from TemporalConstraints
    # associations to TemporalConstraints

    # ---- superclass: NonDeterministicDeclarative
    # attributes
    # associations from NonDeterministicDeclarative
    # associations to NonDeterministicDeclarative

    # ---- superclass: ControlLogic
    # attributes
    sh:property <#ControlLogic-description>;
    sh:property <#ControlLogic-displayLabel>;
    sh:property <#ControlLogic-identifier>;
    sh:property <#ControlLogic-name>;
    sh:property <#ControlLogic-workflow>;
    # associations from ControlLogic
    sh:property <#ControlLogic_has_InformationFlowDefinition>;
    sh:property <#ControlLogic_hasSubControlLogic_ControlLogic>;
    sh:property <#ControlLogic_informs_ProcessingAgent>;
    sh:property <#ControlLogic_invokes_Activity>;
    # associations to ControlLogic
    sh:property <#rev_Activity_hasInternal_ControlLogic>;
    sh:property <#rev_ControlLogic_hasSubControlLogic_ControlLogic>;







.



# class TemporalControlConstruct
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::TemporalControlConstruct
<#TemporalControlConstruct> a sh:NodeShape;
    sh:targetClass cdi:TemporalControlConstruct;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/TemporalControlConstruct";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:TemporalControlConstruct
			 ) ;
    ];
    # attributes
    sh:property <#TemporalControlConstruct-temporalControl>;
    # associations from TemporalControlConstruct
    # associations to TemporalControlConstruct

    # ---- superclass: TemporalConstraints
    # attributes
    # associations from TemporalConstraints
    # associations to TemporalConstraints

    # ---- superclass: NonDeterministicDeclarative
    # attributes
    # associations from NonDeterministicDeclarative
    # associations to NonDeterministicDeclarative

    # ---- superclass: ControlLogic
    # attributes
    sh:property <#ControlLogic-description>;
    sh:property <#ControlLogic-displayLabel>;
    sh:property <#ControlLogic-identifier>;
    sh:property <#ControlLogic-name>;
    sh:property <#ControlLogic-workflow>;
    # associations from ControlLogic
    sh:property <#ControlLogic_has_InformationFlowDefinition>;
    sh:property <#ControlLogic_hasSubControlLogic_ControlLogic>;
    sh:property <#ControlLogic_informs_ProcessingAgent>;
    sh:property <#ControlLogic_invokes_Activity>;
    # associations to ControlLogic
    sh:property <#rev_Activity_hasInternal_ControlLogic>;
    sh:property <#rev_ControlLogic_hasSubControlLogic_ControlLogic>;









.

<#TemporalControlConstruct-temporalControl> a sh:PropertyShape ;
    sh:path cdi:TemporalControlConstruct-temporalControl;
    sh:node <#TemporalOperator>
    ;
    sh:minCount 1;
    sh:maxCount 1;
.


# class Unit
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::Unit
<#Unit> a sh:NodeShape;
    sh:targetClass cdi:Unit;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Unit";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Unit
			 ) ;
    ];
    # attributes
    sh:property <#Unit-catalogDetails>;
    sh:property <#Unit-definition>;
    sh:property <#Unit-displayLabel>;
    sh:property <#Unit-identifier>;
    sh:property <#Unit-name>;
    # associations from Unit
    sh:property <#Unit_has_UnitType>;
    # associations to Unit
    sh:property <#rev_Key_correspondsTo_Unit>;
    sh:property <#rev_KeyDefinition_correspondsTo_Unit>;
    sh:property <#rev_Population_isComposedOf_Unit>;



.

<#Unit-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:Unit-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#Unit-definition> a sh:PropertyShape ;
    sh:path cdi:Unit-definition;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#Unit-displayLabel> a sh:PropertyShape ;
    sh:path cdi:Unit-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#Unit-identifier> a sh:PropertyShape ;
    sh:path cdi:Unit-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#Unit-name> a sh:PropertyShape ;
    sh:path cdi:Unit-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.

<#Unit_has_UnitType> a sh:PropertyShape ;
    sh:path cdi:Unit_has_UnitType;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_Unit_has_UnitType> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:Unit_has_UnitType ];
.

# class UnitSegmentLayout
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::UnitSegmentLayout
<#UnitSegmentLayout> a sh:NodeShape;
    sh:targetClass cdi:UnitSegmentLayout;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/UnitSegmentLayout";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:UnitSegmentLayout
			 ) ;
    ];
    # attributes
    # associations from UnitSegmentLayout
    # associations to UnitSegmentLayout

    # ---- superclass: PhysicalSegmentLayout
    # attributes
    sh:property <#PhysicalSegmentLayout-allowsDuplicates>;
    sh:property <#PhysicalSegmentLayout-arrayBase>;
    sh:property <#PhysicalSegmentLayout-catalogDetails>;
    sh:property <#PhysicalSegmentLayout-commentPrefix>;
    sh:property <#PhysicalSegmentLayout-delimiter>;
    sh:property <#PhysicalSegmentLayout-encoding>;
    sh:property <#PhysicalSegmentLayout-escapeCharacter>;
    sh:property <#PhysicalSegmentLayout-hasHeader>;
    sh:property <#PhysicalSegmentLayout-headerIsCaseSensitive>;
    sh:property <#PhysicalSegmentLayout-headerRowCount>;
    sh:property <#PhysicalSegmentLayout-identifier>;
    sh:property <#PhysicalSegmentLayout-isDelimited>;
    sh:property <#PhysicalSegmentLayout-isFixedWidth>;
    sh:property <#PhysicalSegmentLayout-lineTerminator>;
    sh:property <#PhysicalSegmentLayout-name>;
    sh:property <#PhysicalSegmentLayout-nullSequence>;
    sh:property <#PhysicalSegmentLayout-overview>;
    sh:property <#PhysicalSegmentLayout-purpose>;
    sh:property <#PhysicalSegmentLayout-quoteCharacter>;
    sh:property <#PhysicalSegmentLayout-skipBlankRows>;
    sh:property <#PhysicalSegmentLayout-skipDataColumns>;
    sh:property <#PhysicalSegmentLayout-skipInitialSpace>;
    sh:property <#PhysicalSegmentLayout-skipRows>;
    sh:property <#PhysicalSegmentLayout-tableDirection>;
    sh:property <#PhysicalSegmentLayout-textDirection>;
    sh:property <#PhysicalSegmentLayout-treatConsecutiveDelimitersAsOne>;
    sh:property <#PhysicalSegmentLayout-trim>;
    # associations from PhysicalSegmentLayout
    sh:property <#PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#PhysicalSegmentLayout_formats_LogicalRecord>;
    sh:property <#PhysicalSegmentLayout_has_ValueMapping>;
    sh:property <#PhysicalSegmentLayout_has_ValueMappingPosition>;
    # associations to PhysicalSegmentLayout
    sh:property <#rev_InstanceVariable_has_PhysicalSegmentLayout>;
    sh:property <#rev_PhysicalLayoutRelationStructure_structures_PhysicalSegmentLayout>;
    sh:property <#rev_PhysicalRecordSegment_has_PhysicalSegmentLayout>;





.



# class UnitType
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::UnitType
<#UnitType> a sh:NodeShape;
    sh:targetClass cdi:UnitType;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/UnitType";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:UnitType
			  cdi:Universe
			  cdi:Population
			 ) ;
    ];
    # attributes
    sh:property <#UnitType-descriptiveText>;
    # associations from UnitType
    # associations to UnitType
    sh:property <#rev_ConceptualVariable_measures_UnitType>;
    sh:property <#rev_Unit_has_UnitType>;

    # ---- superclass: Concept
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;





.

<#UnitType-descriptiveText> a sh:PropertyShape ;
    sh:path cdi:UnitType-descriptiveText;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.


# class Universe
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::Universe
<#Universe> a sh:NodeShape;
    sh:targetClass cdi:Universe;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Universe";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Universe
			  cdi:Population
			 ) ;
    ];
    # attributes
    sh:property <#Universe-isInclusive>;
    # associations from Universe
    # associations to Universe
    sh:property <#rev_Key_correspondsTo_Universe>;
    sh:property <#rev_KeyDefinition_correspondsTo_Universe>;

    # ---- superclass: UnitType
    # attributes
    sh:property <#UnitType-descriptiveText>;
    # associations from UnitType
    # associations to UnitType
    sh:property <#rev_ConceptualVariable_measures_UnitType>;
    sh:property <#rev_Unit_has_UnitType>;

    # ---- superclass: Concept
    # attributes
    sh:property <#Concept-catalogDetails>;
    sh:property <#Concept-definition>;
    sh:property <#Concept-displayLabel>;
    sh:property <#Concept-externalDefinition>;
    sh:property <#Concept-identifier>;
    sh:property <#Concept-name>;
    # associations from Concept
    sh:property <#Concept_uses_Concept>;
    # associations to Concept
    sh:property <#rev_AgentListing_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationFamily_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationIndex_isDefinedBy_Concept>;
    sh:property <#rev_ClassificationSeries_isDefinedBy_Concept>;
    sh:property <#rev_Concept_uses_Concept>;
    sh:property <#rev_ConceptMap_hasSource_Concept>;
    sh:property <#rev_ConceptMap_hasTarget_Concept>;
    sh:property <#rev_ConceptRelationship_hasSource_Concept>;
    sh:property <#rev_ConceptRelationship_hasTarget_Concept>;
    sh:property <#rev_ConceptSystem_has_Concept>;
    sh:property <#rev_ConceptSystem_isDefinedBy_Concept>;
    sh:property <#rev_DataStore_isDefinedBy_Concept>;
    sh:property <#rev_EnumerationDomain_isDefinedBy_Concept>;
    sh:property <#rev_Level_isDefinedBy_Concept>;
    sh:property <#rev_LogicalRecord_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalDataSet_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalRecordSegment_isDefinedBy_Concept>;
    sh:property <#rev_PhysicalSegmentLayout_isDefinedBy_Concept>;
    sh:property <#rev_VariableCollection_isDefinedBy_Concept>;







.

<#Universe-isInclusive> a sh:PropertyShape ;
    sh:path cdi:Universe-isInclusive;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.


# class ValueAndConceptDescription
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ValueAndConceptDescription
<#ValueAndConceptDescription> a sh:NodeShape;
    sh:targetClass cdi:ValueAndConceptDescription;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ValueAndConceptDescription";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ValueAndConceptDescription
			 ) ;
    ];
    # attributes
    sh:property <#ValueAndConceptDescription-classificationLevel>;
    sh:property <#ValueAndConceptDescription-description>;
    sh:property <#ValueAndConceptDescription-formatPattern>;
    sh:property <#ValueAndConceptDescription-identifier>;
    sh:property <#ValueAndConceptDescription-logicalExpression>;
    sh:property <#ValueAndConceptDescription-maximumValueExclusive>;
    sh:property <#ValueAndConceptDescription-maximumValueInclusive>;
    sh:property <#ValueAndConceptDescription-minimumValueExclusive>;
    sh:property <#ValueAndConceptDescription-minimumValueInclusive>;
    sh:property <#ValueAndConceptDescription-regularExpression>;
    # associations from ValueAndConceptDescription
    # associations to ValueAndConceptDescription
    sh:property <#rev_ConceptualDomain_isDescribedBy_ValueAndConceptDescription>;
    sh:property <#rev_SentinelValueDomain_isDescribedBy_ValueAndConceptDescription>;
    sh:property <#rev_SubstantiveValueDomain_isDescribedBy_ValueAndConceptDescription>;



.

<#ValueAndConceptDescription-classificationLevel> a sh:PropertyShape ;
    sh:path cdi:ValueAndConceptDescription-classificationLevel;
    sh:node <#CategoryRelationCode>
    ;
    sh:maxCount 1;
.
<#ValueAndConceptDescription-description> a sh:PropertyShape ;
    sh:path cdi:ValueAndConceptDescription-description;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#ValueAndConceptDescription-formatPattern> a sh:PropertyShape ;
    sh:path cdi:ValueAndConceptDescription-formatPattern;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ValueAndConceptDescription-identifier> a sh:PropertyShape ;
    sh:path cdi:ValueAndConceptDescription-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ValueAndConceptDescription-logicalExpression> a sh:PropertyShape ;
    sh:path cdi:ValueAndConceptDescription-logicalExpression;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ValueAndConceptDescription-maximumValueExclusive> a sh:PropertyShape ;
    sh:path cdi:ValueAndConceptDescription-maximumValueExclusive;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ValueAndConceptDescription-maximumValueInclusive> a sh:PropertyShape ;
    sh:path cdi:ValueAndConceptDescription-maximumValueInclusive;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ValueAndConceptDescription-minimumValueExclusive> a sh:PropertyShape ;
    sh:path cdi:ValueAndConceptDescription-minimumValueExclusive;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ValueAndConceptDescription-minimumValueInclusive> a sh:PropertyShape ;
    sh:path cdi:ValueAndConceptDescription-minimumValueInclusive;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ValueAndConceptDescription-regularExpression> a sh:PropertyShape ;
    sh:path cdi:ValueAndConceptDescription-regularExpression;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:TypedString
      
    ) ]];
    sh:maxCount 1;
.


# class ValueDomain
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Representations::ValueDomain
<#ValueDomain> a sh:NodeShape;
    sh:targetClass cdi:ValueDomain;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ValueDomain";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ValueDomain
			  cdi:ReferenceValueDomain
			  cdi:SentinelValueDomain
			  cdi:SubstantiveValueDomain
			  cdi:DescriptorValueDomain
			 ) ;
    ];
    # attributes
    sh:property <#ValueDomain-catalogDetails>;
    sh:property <#ValueDomain-displayLabel>;
    sh:property <#ValueDomain-identifier>;
    sh:property <#ValueDomain-recommendedDataType>;
    # associations from ValueDomain
    # associations to ValueDomain
    sh:property <#rev_InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#rev_DimensionComponent_isStructuredBy_ValueDomain>;



.

<#ValueDomain-catalogDetails> a sh:PropertyShape ;
    sh:path cdi:ValueDomain-catalogDetails;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CatalogDetails
      
    ) ]];
    sh:maxCount 1;
.
<#ValueDomain-displayLabel> a sh:PropertyShape ;
    sh:path cdi:ValueDomain-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#ValueDomain-identifier> a sh:PropertyShape ;
    sh:path cdi:ValueDomain-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ValueDomain-recommendedDataType> a sh:PropertyShape ;
    sh:path cdi:ValueDomain-recommendedDataType;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
.


# class ValueMapping
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::ValueMapping
<#ValueMapping> a sh:NodeShape;
    sh:targetClass cdi:ValueMapping;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ValueMapping";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ValueMapping
			 ) ;
    ];
    # attributes
    sh:property <#ValueMapping-decimalPositions>;
    sh:property <#ValueMapping-defaultDecimalSeparator>;
    sh:property <#ValueMapping-defaultDigitGroupSeparator>;
    sh:property <#ValueMapping-defaultValue>;
    sh:property <#ValueMapping-format>;
    sh:property <#ValueMapping-identifier>;
    sh:property <#ValueMapping-isRequired>;
    sh:property <#ValueMapping-length>;
    sh:property <#ValueMapping-maximumLength>;
    sh:property <#ValueMapping-minimumLength>;
    sh:property <#ValueMapping-nullSequence>;
    sh:property <#ValueMapping-numberPattern>;
    sh:property <#ValueMapping-physicalDataType>;
    sh:property <#ValueMapping-scale>;
    # associations from ValueMapping
    sh:property <#ValueMapping_formats_DataPoint>;
    sh:property <#ValueMapping_uses_PhysicalSegmentLocation>;
    # associations to ValueMapping
    sh:property <#rev_InstanceVariable_has_ValueMapping>;
    sh:property <#rev_PhysicalSegmentLayout_has_ValueMapping>;
    sh:property <#rev_ValueMappingPosition_indexes_ValueMapping>;
    sh:property <#rev_ValueMappingRelationship_hasSource_ValueMapping>;
    sh:property <#rev_ValueMappingRelationship_hasTarget_ValueMapping>;



.

<#ValueMapping-decimalPositions> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-decimalPositions;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#ValueMapping-defaultDecimalSeparator> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-defaultDecimalSeparator;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ValueMapping-defaultDigitGroupSeparator> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-defaultDigitGroupSeparator;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ValueMapping-defaultValue> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-defaultValue;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.
<#ValueMapping-format> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-format;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ValueMapping-identifier> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ValueMapping-isRequired> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-isRequired;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#ValueMapping-length> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-length;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#ValueMapping-maximumLength> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-maximumLength;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#ValueMapping-minimumLength> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-minimumLength;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#ValueMapping-nullSequence> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-nullSequence;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ValueMapping-numberPattern> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-numberPattern;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ValueMapping-physicalDataType> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-physicalDataType;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ValueMapping-scale> a sh:PropertyShape ;
    sh:path cdi:ValueMapping-scale;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.

<#ValueMapping_formats_DataPoint> a sh:PropertyShape ;
    sh:path cdi:ValueMapping_formats_DataPoint;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DataPoint
      
    ) ]];
.
<#rev_ValueMapping_formats_DataPoint> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ValueMapping_formats_DataPoint ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#ValueMapping_uses_PhysicalSegmentLocation> a sh:PropertyShape ;
    sh:path cdi:ValueMapping_uses_PhysicalSegmentLocation;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PhysicalSegmentLocation
        cdi:SegmentByText
      
    ) ]];
    sh:maxCount 1;
.
<#rev_ValueMapping_uses_PhysicalSegmentLocation> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ValueMapping_uses_PhysicalSegmentLocation ];
.

# class ValueMappingPosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::ValueMappingPosition
<#ValueMappingPosition> a sh:NodeShape;
    sh:targetClass cdi:ValueMappingPosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ValueMappingPosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ValueMappingPosition
			 ) ;
    ];
    # attributes
    sh:property <#ValueMappingPosition-identifier>;
    sh:property <#ValueMappingPosition-value>;
    # associations from ValueMappingPosition
    sh:property <#ValueMappingPosition_indexes_ValueMapping>;
    # associations to ValueMappingPosition
    sh:property <#rev_PhysicalSegmentLayout_has_ValueMappingPosition>;



.

<#ValueMappingPosition-identifier> a sh:PropertyShape ;
    sh:path cdi:ValueMappingPosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ValueMappingPosition-value> a sh:PropertyShape ;
    sh:path cdi:ValueMappingPosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#ValueMappingPosition_indexes_ValueMapping> a sh:PropertyShape ;
    sh:path cdi:ValueMappingPosition_indexes_ValueMapping;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ValueMapping
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_ValueMappingPosition_indexes_ValueMapping> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ValueMappingPosition_indexes_ValueMapping ];
.

# class ValueMappingRelationship
# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::ValueMappingRelationship
<#ValueMappingRelationship> a sh:NodeShape;
    sh:targetClass cdi:ValueMappingRelationship;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ValueMappingRelationship";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ValueMappingRelationship
			 ) ;
    ];
    # attributes
    sh:property <#ValueMappingRelationship-identifier>;
    sh:property <#ValueMappingRelationship-semantics>;
    # associations from ValueMappingRelationship
    sh:property <#ValueMappingRelationship_hasSource_ValueMapping>;
    sh:property <#ValueMappingRelationship_hasTarget_ValueMapping>;
    # associations to ValueMappingRelationship
    sh:property <#rev_PhysicalLayoutRelationStructure_has_ValueMappingRelationship>;



.

<#ValueMappingRelationship-identifier> a sh:PropertyShape ;
    sh:path cdi:ValueMappingRelationship-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#ValueMappingRelationship-semantics> a sh:PropertyShape ;
    sh:path cdi:ValueMappingRelationship-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#ValueMappingRelationship_hasSource_ValueMapping> a sh:PropertyShape ;
    sh:path cdi:ValueMappingRelationship_hasSource_ValueMapping;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ValueMapping
      
    ) ]];
.
<#rev_ValueMappingRelationship_hasSource_ValueMapping> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ValueMappingRelationship_hasSource_ValueMapping ];
.
<#ValueMappingRelationship_hasTarget_ValueMapping> a sh:PropertyShape ;
    sh:path cdi:ValueMappingRelationship_hasTarget_ValueMapping;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ValueMapping
      
    ) ]];
.
<#rev_ValueMappingRelationship_hasTarget_ValueMapping> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:ValueMappingRelationship_hasTarget_ValueMapping ];
.

# class VariableCollection
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::VariableCollection
<#VariableCollection> a sh:NodeShape;
    sh:targetClass cdi:VariableCollection;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/VariableCollection";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:VariableCollection
			 ) ;
    ];
    # attributes
    sh:property <#VariableCollection-allowsDuplicates>;
    sh:property <#VariableCollection-displayLabel>;
    sh:property <#VariableCollection-groupingSemantic>;
    sh:property <#VariableCollection-identifier>;
    sh:property <#VariableCollection-name>;
    sh:property <#VariableCollection-purpose>;
    sh:property <#VariableCollection-usage>;
    # associations from VariableCollection
    sh:property <#VariableCollection_has_ConceptualVariable>;
    sh:property <#VariableCollection_has_VariablePosition>;
    sh:property <#VariableCollection_isDefinedBy_Concept>;
    # associations to VariableCollection
    sh:property <#rev_VariableStructure_structures_VariableCollection>;



.

<#VariableCollection-allowsDuplicates> a sh:PropertyShape ;
    sh:path cdi:VariableCollection-allowsDuplicates;
    sh:datatype xsd:boolean;
    sh:minCount 1;
    sh:maxCount 1;
.
<#VariableCollection-displayLabel> a sh:PropertyShape ;
    sh:path cdi:VariableCollection-displayLabel;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LabelForDisplay
      
    ) ]];
.
<#VariableCollection-groupingSemantic> a sh:PropertyShape ;
    sh:path cdi:VariableCollection-groupingSemantic;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#VariableCollection-identifier> a sh:PropertyShape ;
    sh:path cdi:VariableCollection-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#VariableCollection-name> a sh:PropertyShape ;
    sh:path cdi:VariableCollection-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
.
<#VariableCollection-purpose> a sh:PropertyShape ;
    sh:path cdi:VariableCollection-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#VariableCollection-usage> a sh:PropertyShape ;
    sh:path cdi:VariableCollection-usage;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.

<#VariableCollection_has_ConceptualVariable> a sh:PropertyShape ;
    sh:path cdi:VariableCollection_has_ConceptualVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
      
    ) ]];
.
<#rev_VariableCollection_has_ConceptualVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:VariableCollection_has_ConceptualVariable ];
.
<#VariableCollection_has_VariablePosition> a sh:PropertyShape ;
    sh:path cdi:VariableCollection_has_VariablePosition;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:VariablePosition
      
    ) ]];
.
<#rev_VariableCollection_has_VariablePosition> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:VariableCollection_has_VariablePosition ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#VariableCollection_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path cdi:VariableCollection_isDefinedBy_Concept;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Concept
        cdi:Category
        cdi:ConceptualValue
        cdi:DimensionalKeyDefinitionMember
        cdi:KeyDefinitionMember
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
        cdi:UnitType
        cdi:Universe
        cdi:Population
      
    ) ]];
.
<#rev_VariableCollection_isDefinedBy_Concept> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:VariableCollection_isDefinedBy_Concept ];
.

# class VariableDescriptorComponent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::VariableDescriptorComponent
<#VariableDescriptorComponent> a sh:NodeShape;
    sh:targetClass cdi:VariableDescriptorComponent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/VariableDescriptorComponent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:VariableDescriptorComponent
			 ) ;
    ];
    # attributes
    # associations from VariableDescriptorComponent
    sh:property <#VariableDescriptorComponent_isDefinedBy_DescriptorVariable>;
    sh:property <#VariableDescriptorComponent_refersTo_VariableValueComponent>;
    # associations to VariableDescriptorComponent

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;





.


<#VariableDescriptorComponent_isDefinedBy_DescriptorVariable> a sh:PropertyShape ;
    sh:path cdi:VariableDescriptorComponent_isDefinedBy_DescriptorVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DescriptorVariable
      
    ) ]];
    sh:maxCount 1;
.
<#rev_VariableDescriptorComponent_isDefinedBy_DescriptorVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:VariableDescriptorComponent_isDefinedBy_DescriptorVariable ];
.
<#VariableDescriptorComponent_refersTo_VariableValueComponent> a sh:PropertyShape ;
    sh:path cdi:VariableDescriptorComponent_refersTo_VariableValueComponent;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:VariableValueComponent
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_VariableDescriptorComponent_refersTo_VariableValueComponent> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:VariableDescriptorComponent_refersTo_VariableValueComponent ];
    sh:minCount 1;
    sh:maxCount 1;
.

# class VariablePosition
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::VariablePosition
<#VariablePosition> a sh:NodeShape;
    sh:targetClass cdi:VariablePosition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/VariablePosition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:VariablePosition
			 ) ;
    ];
    # attributes
    sh:property <#VariablePosition-identifier>;
    sh:property <#VariablePosition-value>;
    # associations from VariablePosition
    sh:property <#VariablePosition_indexes_ConceptualVariable>;
    # associations to VariablePosition
    sh:property <#rev_VariableCollection_has_VariablePosition>;



.

<#VariablePosition-identifier> a sh:PropertyShape ;
    sh:path cdi:VariablePosition-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#VariablePosition-value> a sh:PropertyShape ;
    sh:path cdi:VariablePosition-value;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

<#VariablePosition_indexes_ConceptualVariable> a sh:PropertyShape ;
    sh:path cdi:VariablePosition_indexes_ConceptualVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.
<#rev_VariablePosition_indexes_ConceptualVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:VariablePosition_indexes_ConceptualVariable ];
.

# class VariableRelationship
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::VariableRelationship
<#VariableRelationship> a sh:NodeShape;
    sh:targetClass cdi:VariableRelationship;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/VariableRelationship";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:VariableRelationship
			 ) ;
    ];
    # attributes
    sh:property <#VariableRelationship-identifier>;
    sh:property <#VariableRelationship-semantics>;
    # associations from VariableRelationship
    sh:property <#VariableRelationship_hasSource_ConceptualVariable>;
    sh:property <#VariableRelationship_hasTarget_ConceptualVariable>;
    # associations to VariableRelationship
    sh:property <#rev_VariableStructure_has_VariableRelationship>;



.

<#VariableRelationship-identifier> a sh:PropertyShape ;
    sh:path cdi:VariableRelationship-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#VariableRelationship-semantics> a sh:PropertyShape ;
    sh:path cdi:VariableRelationship-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

<#VariableRelationship_hasSource_ConceptualVariable> a sh:PropertyShape ;
    sh:path cdi:VariableRelationship_hasSource_ConceptualVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
      
    ) ]];
.
<#rev_VariableRelationship_hasSource_ConceptualVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:VariableRelationship_hasSource_ConceptualVariable ];
.
<#VariableRelationship_hasTarget_ConceptualVariable> a sh:PropertyShape ;
    sh:path cdi:VariableRelationship_hasTarget_ConceptualVariable;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ConceptualVariable
        cdi:RepresentedVariable
        cdi:InstanceVariable
        cdi:DescriptorVariable
        cdi:ReferenceVariable
      
    ) ]];
.
<#rev_VariableRelationship_hasTarget_ConceptualVariable> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:VariableRelationship_hasTarget_ConceptualVariable ];
.

# class VariableStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::Conceptual::VariableStructure
<#VariableStructure> a sh:NodeShape;
    sh:targetClass cdi:VariableStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/VariableStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:VariableStructure
			 ) ;
    ];
    # attributes
    sh:property <#VariableStructure-identifier>;
    sh:property <#VariableStructure-name>;
    sh:property <#VariableStructure-purpose>;
    sh:property <#VariableStructure-semantics>;
    sh:property <#VariableStructure-specification>;
    sh:property <#VariableStructure-topology>;
    sh:property <#VariableStructure-totality>;
    # associations from VariableStructure
    sh:property <#VariableStructure_has_VariableRelationship>;
    sh:property <#VariableStructure_structures_VariableCollection>;
    # associations to VariableStructure



.

<#VariableStructure-identifier> a sh:PropertyShape ;
    sh:path cdi:VariableStructure-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Identifier
      
    ) ]];
    sh:maxCount 1;
.
<#VariableStructure-name> a sh:PropertyShape ;
    sh:path cdi:VariableStructure-name;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:OrganizationName
      
    ) ]];
.
<#VariableStructure-purpose> a sh:PropertyShape ;
    sh:path cdi:VariableStructure-purpose;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#VariableStructure-semantics> a sh:PropertyShape ;
    sh:path cdi:VariableStructure-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#VariableStructure-specification> a sh:PropertyShape ;
    sh:path cdi:VariableStructure-specification;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:StructureSpecification
      
    ) ]];
    sh:maxCount 1;
.
<#VariableStructure-topology> a sh:PropertyShape ;
    sh:path cdi:VariableStructure-topology;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#VariableStructure-totality> a sh:PropertyShape ;
    sh:path cdi:VariableStructure-totality;
    sh:node <#StructureExtent>
    ;
    sh:maxCount 1;
.

<#VariableStructure_has_VariableRelationship> a sh:PropertyShape ;
    sh:path cdi:VariableStructure_has_VariableRelationship;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:VariableRelationship
      
    ) ]];
.
<#rev_VariableStructure_has_VariableRelationship> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:VariableStructure_has_VariableRelationship ];
    sh:minCount 1;
    sh:maxCount 1;
.
<#VariableStructure_structures_VariableCollection> a sh:PropertyShape ;
    sh:path cdi:VariableStructure_structures_VariableCollection;
	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:VariableCollection
      
    ) ]];
    sh:maxCount 1;
.
<#rev_VariableStructure_structures_VariableCollection> a sh:PropertyShape ;
    sh:path [ sh:inversePath cdi:VariableStructure_structures_VariableCollection ];
.

# class VariableValueComponent
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Components::VariableValueComponent
<#VariableValueComponent> a sh:NodeShape;
    sh:targetClass cdi:VariableValueComponent;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/VariableValueComponent";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:VariableValueComponent
			 ) ;
    ];
    # attributes
    # associations from VariableValueComponent
    # associations to VariableValueComponent
    sh:property <#rev_ReferenceValue_correspondsTo_VariableValueComponent>;
    sh:property <#rev_VariableDescriptorComponent_refersTo_VariableValueComponent>;

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;





.



# class WideDataSet
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Wide::WideDataSet
<#WideDataSet> a sh:NodeShape;
    sh:targetClass cdi:WideDataSet;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/WideDataSet";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:WideDataSet
			 ) ;
    ];
    # attributes
    # associations from WideDataSet
    # associations to WideDataSet

    # ---- superclass: DataSet
    # attributes
    sh:property <#DataSet-catalogDetails>;
    sh:property <#DataSet-identifier>;
    # associations from DataSet
    sh:property <#DataSet_has_DataPoint>;
    sh:property <#DataSet_has_Key>;
    sh:property <#DataSet_isStructuredBy_DataStructure>;
    # associations to DataSet
    sh:property <#rev_LogicalRecord_organizes_DataSet>;
    sh:property <#rev_PhysicalDataSet_correspondsTo_DataSet>;





.



# class WideDataStructure
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Wide::WideDataStructure
<#WideDataStructure> a sh:NodeShape;
    sh:targetClass cdi:WideDataStructure;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/WideDataStructure";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:WideDataStructure
			 ) ;
    ];
    # attributes
    # associations from WideDataStructure
    # associations to WideDataStructure

    # ---- superclass: DataStructure
    # attributes
    # associations from DataStructure
    sh:property <#DataStructure_has_ComponentPosition>;
    sh:property <#DataStructure_has_DataStructureComponent>;
    sh:property <#DataStructure_has_ForeignKey>;
    sh:property <#DataStructure_has_PrimaryKey>;
    # associations to DataStructure
    sh:property <#rev_DataSet_isStructuredBy_DataStructure>;
    sh:property <#rev_PhysicalDataSetStructure_correspondsTo_DataStructure>;

    # ---- superclass: DataStructureComponent
    # attributes
    sh:property <#DataStructureComponent-identifier>;
    sh:property <#DataStructureComponent-semantic>;
    sh:property <#DataStructureComponent-specialization>;
    # associations from DataStructureComponent
    sh:property <#DataStructureComponent_isDefinedBy_RepresentedVariable>;
    # associations to DataStructureComponent
    sh:property <#rev_DataPoint_correspondsTo_DataStructureComponent>;
    sh:property <#rev_DataStructure_has_DataStructureComponent>;
    sh:property <#rev_KeyMember_isBasedOn_DataStructureComponent>;
    sh:property <#rev_AttributeComponent_qualifies_DataStructureComponent>;
    sh:property <#rev_ComponentPosition_indexes_DataStructureComponent>;
    sh:property <#rev_ForeignKeyComponent_correspondsTo_DataStructureComponent>;
    sh:property <#rev_PrimaryKeyComponent_correspondsTo_DataStructureComponent>;







.



# class WideKey
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Wide::WideKey
<#WideKey> a sh:NodeShape;
    sh:targetClass cdi:WideKey;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/WideKey";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:WideKey
			 ) ;
    ];
    # attributes
    # associations from WideKey
    # associations to WideKey

    # ---- superclass: Key
    # attributes
    sh:property <#Key-identifier>;
    # associations from Key
    sh:property <#Key_correspondsTo_Unit>;
    sh:property <#Key_correspondsTo_Universe>;
    sh:property <#Key_has_KeyMember>;
    sh:property <#Key_identifies_DataPoint>;
    sh:property <#Key_represents_KeyDefinition>;
    # associations to Key
    sh:property <#rev_DataSet_has_Key>;





.



# class WideKeyMember
# based on the UML class DDICDIModels::DDICDILibrary::Classes::DataDescription::Wide::WideKeyMember
<#WideKeyMember> a sh:NodeShape;
    sh:targetClass cdi:WideKeyMember;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/WideKeyMember";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:WideKeyMember
			 ) ;
    ];
    # attributes
    # associations from WideKeyMember
    # associations to WideKeyMember

    # ---- superclass: KeyMember
    # attributes
    # associations from KeyMember
    sh:property <#KeyMember_isBasedOn_DataStructureComponent>;
    # associations to KeyMember
    sh:property <#rev_Key_has_KeyMember>;

    # ---- superclass: InstanceValue
    # attributes
    sh:property <#InstanceValue-content>;
    sh:property <#InstanceValue-identifier>;
    sh:property <#InstanceValue-whiteSpace>;
    # associations from InstanceValue
    sh:property <#InstanceValue_hasValueFrom_ValueDomain>;
    sh:property <#InstanceValue_isStoredIn_DataPoint>;
    sh:property <#InstanceValue_represents_ConceptualValue>;
    # associations to InstanceValue
    sh:property <#rev_Datum_uses_InstanceValue>;
    sh:property <#rev_InstanceKey_has_InstanceValue>;







.



# datatype AccessInformation
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::AccessInformation
<#AccessInformation> a sh:NodeShape;
    sh:targetClass cdi:AccessInformation;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AccessInformation";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:AccessInformation
			 ) ;
    ];
    # attributes
    sh:property <#AccessInformation-copyright>;
    sh:property <#AccessInformation-embargo>;
    sh:property <#AccessInformation-license>;
    sh:property <#AccessInformation-rights>;



.

<#AccessInformation-copyright> a sh:PropertyShape ;
    sh:path cdi:AccessInformation-copyright;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.
<#AccessInformation-embargo> a sh:PropertyShape ;
    sh:path cdi:AccessInformation-embargo;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:EmbargoInformation
      
    ) ]];
.
<#AccessInformation-license> a sh:PropertyShape ;
    sh:path cdi:AccessInformation-license;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LicenseInformation
      
    ) ]];
.
<#AccessInformation-rights> a sh:PropertyShape ;
    sh:path cdi:AccessInformation-rights;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.

# datatype AccessLocation
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::AccessLocation
<#AccessLocation> a sh:NodeShape;
    sh:targetClass cdi:AccessLocation;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AccessLocation";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:AccessLocation
			 ) ;
    ];
    # attributes
    sh:property <#AccessLocation-mimeType>;
    sh:property <#AccessLocation-physicalLocation>;
    sh:property <#AccessLocation-uri>;



.

<#AccessLocation-mimeType> a sh:PropertyShape ;
    sh:path cdi:AccessLocation-mimeType;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#AccessLocation-physicalLocation> a sh:PropertyShape ;
    sh:path cdi:AccessLocation-physicalLocation;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.
<#AccessLocation-uri> a sh:PropertyShape ;
    sh:path cdi:AccessLocation-uri;
    sh:datatype xsd:anyURI;
.

# datatype Address
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::Address
<#Address> a sh:NodeShape;
    sh:targetClass cdi:Address;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Address";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Address
			 ) ;
    ];
    # attributes
    sh:property <#Address-cityPlaceLocal>;
    sh:property <#Address-countryCode>;
    sh:property <#Address-effectiveDates>;
    sh:property <#Address-geographicPoint>;
    sh:property <#Address-isPreferred>;
    sh:property <#Address-line>;
    sh:property <#Address-locationName>;
    sh:property <#Address-postalCode>;
    sh:property <#Address-privacy>;
    sh:property <#Address-regionalCoverage>;
    sh:property <#Address-stateProvince>;
    sh:property <#Address-timeZone>;
    sh:property <#Address-typeOfAddress>;
    sh:property <#Address-typeOfLocation>;



.

<#Address-cityPlaceLocal> a sh:PropertyShape ;
    sh:path cdi:Address-cityPlaceLocal;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#Address-countryCode> a sh:PropertyShape ;
    sh:path cdi:Address-countryCode;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#Address-effectiveDates> a sh:PropertyShape ;
    sh:path cdi:Address-effectiveDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.
<#Address-geographicPoint> a sh:PropertyShape ;
    sh:path cdi:Address-geographicPoint;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:SpatialPoint
      
    ) ]];
    sh:maxCount 1;
.
<#Address-isPreferred> a sh:PropertyShape ;
    sh:path cdi:Address-isPreferred;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#Address-line> a sh:PropertyShape ;
    sh:path cdi:Address-line;
    sh:datatype xsd:string;
.
<#Address-locationName> a sh:PropertyShape ;
    sh:path cdi:Address-locationName;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectName
        cdi:OrganizationName
      
    ) ]];
    sh:maxCount 1;
.
<#Address-postalCode> a sh:PropertyShape ;
    sh:path cdi:Address-postalCode;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#Address-privacy> a sh:PropertyShape ;
    sh:path cdi:Address-privacy;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#Address-regionalCoverage> a sh:PropertyShape ;
    sh:path cdi:Address-regionalCoverage;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#Address-stateProvince> a sh:PropertyShape ;
    sh:path cdi:Address-stateProvince;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#Address-timeZone> a sh:PropertyShape ;
    sh:path cdi:Address-timeZone;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#Address-typeOfAddress> a sh:PropertyShape ;
    sh:path cdi:Address-typeOfAddress;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#Address-typeOfLocation> a sh:PropertyShape ;
    sh:path cdi:Address-typeOfLocation;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype AgentInRole
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::AgentInRole
<#AgentInRole> a sh:NodeShape;
    sh:targetClass cdi:AgentInRole;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AgentInRole";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:AgentInRole
			 ) ;
    ];
    # attributes
    sh:property <#AgentInRole-agentName>;
    sh:property <#AgentInRole-reference>;
    sh:property <#AgentInRole-role>;



.

<#AgentInRole-agentName> a sh:PropertyShape ;
    sh:path cdi:AgentInRole-agentName;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:BibliographicName
      
    ) ]];
    sh:maxCount 1;
.
<#AgentInRole-reference> a sh:PropertyShape ;
    sh:path cdi:AgentInRole-reference;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Reference
      
    ) ]];
    sh:maxCount 1;
.
<#AgentInRole-role> a sh:PropertyShape ;
    sh:path cdi:AgentInRole-role;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:PairedControlledVocabularyEntry
      
    ) ]];
.

# datatype BibliographicName
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::BibliographicName
<#BibliographicName> a sh:NodeShape;
    sh:targetClass cdi:BibliographicName;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/BibliographicName";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:BibliographicName
			 ) ;
    ];
    # attributes
    sh:property <#BibliographicName-affiliation>;

    # ---- superclass: InternationalString
    # attributes
    sh:property <#InternationalString-languageSpecificString>;





.

<#BibliographicName-affiliation> a sh:PropertyShape ;
    sh:path cdi:BibliographicName-affiliation;
    sh:datatype xsd:string;
    sh:maxCount 1;
.

# datatype CatalogDetails
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::CatalogDetails
<#CatalogDetails> a sh:NodeShape;
    sh:targetClass cdi:CatalogDetails;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CatalogDetails";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CatalogDetails
			 ) ;
    ];
    # attributes
    sh:property <#CatalogDetails-access>;
    sh:property <#CatalogDetails-alternativeTitle>;
    sh:property <#CatalogDetails-contributor>;
    sh:property <#CatalogDetails-creator>;
    sh:property <#CatalogDetails-date>;
    sh:property <#CatalogDetails-identifier>;
    sh:property <#CatalogDetails-informationSource>;
    sh:property <#CatalogDetails-languageOfObject>;
    sh:property <#CatalogDetails-provenance>;
    sh:property <#CatalogDetails-publisher>;
    sh:property <#CatalogDetails-relatedResource>;
    sh:property <#CatalogDetails-subTitle>;
    sh:property <#CatalogDetails-summary>;
    sh:property <#CatalogDetails-title>;
    sh:property <#CatalogDetails-typeOfResource>;



.

<#CatalogDetails-access> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-access;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:AccessInformation
      
    ) ]];
.
<#CatalogDetails-alternativeTitle> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-alternativeTitle;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.
<#CatalogDetails-contributor> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-contributor;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:AgentInRole
      
    ) ]];
.
<#CatalogDetails-creator> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-creator;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:AgentInRole
      
    ) ]];
.
<#CatalogDetails-date> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-date;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CombinedDate
      
    ) ]];
.
<#CatalogDetails-identifier> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-identifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalIdentifier
      
    ) ]];
    sh:maxCount 1;
.
<#CatalogDetails-informationSource> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-informationSource;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.
<#CatalogDetails-languageOfObject> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-languageOfObject;
    sh:datatype xsd:language;
.
<#CatalogDetails-provenance> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-provenance;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ProvenanceInformation
      
    ) ]];
    sh:maxCount 1;
.
<#CatalogDetails-publisher> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-publisher;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:AgentInRole
      
    ) ]];
.
<#CatalogDetails-relatedResource> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-relatedResource;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Reference
      
    ) ]];
.
<#CatalogDetails-subTitle> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-subTitle;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.
<#CatalogDetails-summary> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-summary;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#CatalogDetails-title> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-title;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#CatalogDetails-typeOfResource> a sh:PropertyShape ;
    sh:path cdi:CatalogDetails-typeOfResource;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
.

# datatype CategoryRelationCode
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::CategoryRelationCode
<#CategoryRelationCode> a sh:NodeShape;
    sh:in ( cdi:Continuous cdi:Interval cdi:Nominal cdi:Ordinal cdi:Ratio  );
    # attributes



.


# datatype CombinedDate
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::CombinedDate
<#CombinedDate> a sh:NodeShape;
    sh:targetClass cdi:CombinedDate;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CombinedDate";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CombinedDate
			 ) ;
    ];
    # attributes
    sh:property <#CombinedDate-isoDate>;
    sh:property <#CombinedDate-nonIsoDate>;
    sh:property <#CombinedDate-semantics>;



.

<#CombinedDate-isoDate> a sh:PropertyShape ;
    sh:path cdi:CombinedDate-isoDate;
    sh:datatype xsd:date;
    sh:maxCount 1;
.
<#CombinedDate-nonIsoDate> a sh:PropertyShape ;
    sh:path cdi:CombinedDate-nonIsoDate;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:NonIsoDate
      
    ) ]];
.
<#CombinedDate-semantics> a sh:PropertyShape ;
    sh:path cdi:CombinedDate-semantics;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype Command
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::Command
<#Command> a sh:NodeShape;
    sh:targetClass cdi:Command;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Command";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Command
			 ) ;
    ];
    # attributes
    sh:property <#Command-commandContent>;
    sh:property <#Command-programLanguage>;



.

<#Command-commandContent> a sh:PropertyShape ;
    sh:path cdi:Command-commandContent;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:TypedString
      
    ) ]];
    sh:maxCount 1;
.
<#Command-programLanguage> a sh:PropertyShape ;
    sh:path cdi:Command-programLanguage;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype CommandCode
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::CommandCode
<#CommandCode> a sh:NodeShape;
    sh:targetClass cdi:CommandCode;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CommandCode";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CommandCode
			 ) ;
    ];
    # attributes
    sh:property <#CommandCode-command>;
    sh:property <#CommandCode-commandFile>;
    sh:property <#CommandCode-description>;



.

<#CommandCode-command> a sh:PropertyShape ;
    sh:path cdi:CommandCode-command;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Command
      
    ) ]];
.
<#CommandCode-commandFile> a sh:PropertyShape ;
    sh:path cdi:CommandCode-commandFile;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CommandFile
      
    ) ]];
.
<#CommandCode-description> a sh:PropertyShape ;
    sh:path cdi:CommandCode-description;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.

# datatype CommandFile
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::CommandFile
<#CommandFile> a sh:NodeShape;
    sh:targetClass cdi:CommandFile;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CommandFile";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CommandFile
			 ) ;
    ];
    # attributes
    sh:property <#CommandFile-location>;
    sh:property <#CommandFile-uri>;



.

<#CommandFile-location> a sh:PropertyShape ;
    sh:path cdi:CommandFile-location;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#CommandFile-uri> a sh:PropertyShape ;
    sh:path cdi:CommandFile-uri;
    sh:datatype xsd:anyURI;
    sh:maxCount 1;
.

# datatype ComparisonOperator
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::ComparisonOperator
<#ComparisonOperator> a sh:NodeShape;
    sh:in ( cdi:Equal cdi:GreaterThan cdi:GreaterThanOrEqualTo cdi:LessThan cdi:LessThanOrEqualTo cdi:NotEqual  );
    # attributes



.


# datatype ComputationBaseList
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::ComputationBaseList
<#ComputationBaseList> a sh:NodeShape;
    sh:in ( cdi:MissingOnly cdi:Total cdi:ValidOnly  );
    # attributes



.


# datatype ContactInformation
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::ContactInformation
<#ContactInformation> a sh:NodeShape;
    sh:targetClass cdi:ContactInformation;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ContactInformation";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ContactInformation
			 ) ;
    ];
    # attributes
    sh:property <#ContactInformation-address>;
    sh:property <#ContactInformation-email>;
    sh:property <#ContactInformation-emessaging>;
    sh:property <#ContactInformation-telephone>;
    sh:property <#ContactInformation-website>;



.

<#ContactInformation-address> a sh:PropertyShape ;
    sh:path cdi:ContactInformation-address;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Address
      
    ) ]];
.
<#ContactInformation-email> a sh:PropertyShape ;
    sh:path cdi:ContactInformation-email;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Email
      
    ) ]];
.
<#ContactInformation-emessaging> a sh:PropertyShape ;
    sh:path cdi:ContactInformation-emessaging;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ElectronicMessageSystem
      
    ) ]];
.
<#ContactInformation-telephone> a sh:PropertyShape ;
    sh:path cdi:ContactInformation-telephone;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Telephone
      
    ) ]];
.
<#ContactInformation-website> a sh:PropertyShape ;
    sh:path cdi:ContactInformation-website;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:WebLink
      
    ) ]];
.

# datatype ControlConstruct
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::ControlConstruct
<#ControlConstruct> a sh:NodeShape;
    sh:in ( cdi:Else cdi:IfThen cdi:Loop cdi:RepeatUntil cdi:RepeatWhile  );
    # attributes



.


# datatype ControlledVocabularyEntry
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::ControlledVocabularyEntry
<#ControlledVocabularyEntry> a sh:NodeShape;
    sh:targetClass cdi:ControlledVocabularyEntry;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ControlledVocabularyEntry";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ControlledVocabularyEntry
			 ) ;
    ];
    # attributes
    sh:property <#ControlledVocabularyEntry-entryReference>;
    sh:property <#ControlledVocabularyEntry-entryValue>;
    sh:property <#ControlledVocabularyEntry-name>;
    sh:property <#ControlledVocabularyEntry-valueForOther>;
    sh:property <#ControlledVocabularyEntry-vocabulary>;



.

<#ControlledVocabularyEntry-entryReference> a sh:PropertyShape ;
    sh:path cdi:ControlledVocabularyEntry-entryReference;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Reference
      
    ) ]];
.
<#ControlledVocabularyEntry-entryValue> a sh:PropertyShape ;
    sh:path cdi:ControlledVocabularyEntry-entryValue;
    sh:datatype xsd:string;
.
<#ControlledVocabularyEntry-name> a sh:PropertyShape ;
    sh:path cdi:ControlledVocabularyEntry-name;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ControlledVocabularyEntry-valueForOther> a sh:PropertyShape ;
    sh:path cdi:ControlledVocabularyEntry-valueForOther;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ControlledVocabularyEntry-vocabulary> a sh:PropertyShape ;
    sh:path cdi:ControlledVocabularyEntry-vocabulary;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Reference
      
    ) ]];
    sh:maxCount 1;
.

# datatype CorrespondenceDefinition
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::CorrespondenceDefinition
<#CorrespondenceDefinition> a sh:NodeShape;
    sh:targetClass cdi:CorrespondenceDefinition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/CorrespondenceDefinition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:CorrespondenceDefinition
			 ) ;
    ];
    # attributes
    sh:property <#CorrespondenceDefinition-commonality>;
    sh:property <#CorrespondenceDefinition-commonalityCode>;
    sh:property <#CorrespondenceDefinition-difference>;
    sh:property <#CorrespondenceDefinition-matching>;



.

<#CorrespondenceDefinition-commonality> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceDefinition-commonality;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#CorrespondenceDefinition-commonalityCode> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceDefinition-commonalityCode;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
.
<#CorrespondenceDefinition-difference> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceDefinition-difference;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#CorrespondenceDefinition-matching> a sh:PropertyShape ;
    sh:path cdi:CorrespondenceDefinition-matching;
    sh:node <#MatchingCriterion>
    ;
    sh:maxCount 1;
.

# datatype DateRange
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::DateRange
<#DateRange> a sh:NodeShape;
    sh:targetClass cdi:DateRange;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/DateRange";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:DateRange
			 ) ;
    ];
    # attributes
    sh:property <#DateRange-endDate>;
    sh:property <#DateRange-startDate>;



.

<#DateRange-endDate> a sh:PropertyShape ;
    sh:path cdi:DateRange-endDate;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CombinedDate
      
    ) ]];
    sh:maxCount 1;
.
<#DateRange-startDate> a sh:PropertyShape ;
    sh:path cdi:DateRange-startDate;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:CombinedDate
      
    ) ]];
    sh:maxCount 1;
.

# datatype ElectronicMessageSystem
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::ElectronicMessageSystem
<#ElectronicMessageSystem> a sh:NodeShape;
    sh:targetClass cdi:ElectronicMessageSystem;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ElectronicMessageSystem";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ElectronicMessageSystem
			 ) ;
    ];
    # attributes
    sh:property <#ElectronicMessageSystem-contactAddress>;
    sh:property <#ElectronicMessageSystem-effectiveDates>;
    sh:property <#ElectronicMessageSystem-isPreferred>;
    sh:property <#ElectronicMessageSystem-privacy>;
    sh:property <#ElectronicMessageSystem-typeOfService>;



.

<#ElectronicMessageSystem-contactAddress> a sh:PropertyShape ;
    sh:path cdi:ElectronicMessageSystem-contactAddress;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#ElectronicMessageSystem-effectiveDates> a sh:PropertyShape ;
    sh:path cdi:ElectronicMessageSystem-effectiveDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.
<#ElectronicMessageSystem-isPreferred> a sh:PropertyShape ;
    sh:path cdi:ElectronicMessageSystem-isPreferred;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#ElectronicMessageSystem-privacy> a sh:PropertyShape ;
    sh:path cdi:ElectronicMessageSystem-privacy;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ElectronicMessageSystem-typeOfService> a sh:PropertyShape ;
    sh:path cdi:ElectronicMessageSystem-typeOfService;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype Email
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::Email
<#Email> a sh:NodeShape;
    sh:targetClass cdi:Email;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Email";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Email
			 ) ;
    ];
    # attributes
    sh:property <#Email-effectiveDates>;
    sh:property <#Email-internetEmail>;
    sh:property <#Email-isPreferred>;
    sh:property <#Email-privacy>;
    sh:property <#Email-typeOfEmail>;



.

<#Email-effectiveDates> a sh:PropertyShape ;
    sh:path cdi:Email-effectiveDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.
<#Email-internetEmail> a sh:PropertyShape ;
    sh:path cdi:Email-internetEmail;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#Email-isPreferred> a sh:PropertyShape ;
    sh:path cdi:Email-isPreferred;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#Email-privacy> a sh:PropertyShape ;
    sh:path cdi:Email-privacy;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#Email-typeOfEmail> a sh:PropertyShape ;
    sh:path cdi:Email-typeOfEmail;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype EmbargoInformation
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::EmbargoInformation
<#EmbargoInformation> a sh:NodeShape;
    sh:targetClass cdi:EmbargoInformation;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/EmbargoInformation";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:EmbargoInformation
			 ) ;
    ];
    # attributes
    sh:property <#EmbargoInformation-description>;
    sh:property <#EmbargoInformation-period>;



.

<#EmbargoInformation-description> a sh:PropertyShape ;
    sh:path cdi:EmbargoInformation-description;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#EmbargoInformation-period> a sh:PropertyShape ;
    sh:path cdi:EmbargoInformation-period;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
.

# datatype FundingInformation
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::FundingInformation
<#FundingInformation> a sh:NodeShape;
    sh:targetClass cdi:FundingInformation;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/FundingInformation";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:FundingInformation
			 ) ;
    ];
    # attributes
    sh:property <#FundingInformation-fundingAgent>;
    sh:property <#FundingInformation-grantNumber>;



.

<#FundingInformation-fundingAgent> a sh:PropertyShape ;
    sh:path cdi:FundingInformation-fundingAgent;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:AgentInRole
      
    ) ]];
.
<#FundingInformation-grantNumber> a sh:PropertyShape ;
    sh:path cdi:FundingInformation-grantNumber;
    sh:datatype xsd:string;
    sh:maxCount 1;
.

# datatype GeoRole
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::GeoRole
<#GeoRole> a sh:NodeShape;
    sh:targetClass cdi:GeoRole;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/GeoRole";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:GeoRole
			 ) ;
    ];
    # attributes
    sh:property <#GeoRole-geography>;

    # ---- superclass: SpecializationRole
    # attributes





.

<#GeoRole-geography> a sh:PropertyShape ;
    sh:path cdi:GeoRole-geography;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype Identifier
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::Identifier
<#Identifier> a sh:NodeShape;
    sh:targetClass cdi:Identifier;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Identifier";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Identifier
			 ) ;
    ];
    # attributes
    sh:property <#Identifier-ddiIdentifier>;
    sh:property <#Identifier-isDdiIdentifierPersistent>;
    sh:property <#Identifier-isDdiIdentifierUniversallyUnique>;
    sh:property <#Identifier-nonDdiIdentifier>;
    sh:property <#Identifier-uri>;
    sh:property <#Identifier-versionDate>;
    sh:property <#Identifier-versionRationale>;
    sh:property <#Identifier-versionResponsibility>;



.

<#Identifier-ddiIdentifier> a sh:PropertyShape ;
    sh:path cdi:Identifier-ddiIdentifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalRegistrationDataIdentifier
      
    ) ]];
    sh:maxCount 1;
.
<#Identifier-isDdiIdentifierPersistent> a sh:PropertyShape ;
    sh:path cdi:Identifier-isDdiIdentifierPersistent;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#Identifier-isDdiIdentifierUniversallyUnique> a sh:PropertyShape ;
    sh:path cdi:Identifier-isDdiIdentifierUniversallyUnique;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#Identifier-nonDdiIdentifier> a sh:PropertyShape ;
    sh:path cdi:Identifier-nonDdiIdentifier;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:NonDdiIdentifier
      
    ) ]];
.
<#Identifier-uri> a sh:PropertyShape ;
    sh:path cdi:Identifier-uri;
    sh:datatype xsd:anyURI;
    sh:maxCount 1;
.
<#Identifier-versionDate> a sh:PropertyShape ;
    sh:path cdi:Identifier-versionDate;
    sh:datatype xsd:date;
    sh:maxCount 1;
.
<#Identifier-versionRationale> a sh:PropertyShape ;
    sh:path cdi:Identifier-versionRationale;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:RationaleDefinition
      
    ) ]];
    sh:maxCount 1;
.
<#Identifier-versionResponsibility> a sh:PropertyShape ;
    sh:path cdi:Identifier-versionResponsibility;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:AgentInRole
      
    ) ]];
    sh:maxCount 1;
.

# datatype IndividualName
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::IndividualName
<#IndividualName> a sh:NodeShape;
    sh:targetClass cdi:IndividualName;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/IndividualName";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:IndividualName
			 ) ;
    ];
    # attributes
    sh:property <#IndividualName-abbreviation>;
    sh:property <#IndividualName-context>;
    sh:property <#IndividualName-effectiveDates>;
    sh:property <#IndividualName-firstGiven>;
    sh:property <#IndividualName-fullName>;
    sh:property <#IndividualName-isFormal>;
    sh:property <#IndividualName-isPreferred>;
    sh:property <#IndividualName-lastFamily>;
    sh:property <#IndividualName-middle>;
    sh:property <#IndividualName-prefix>;
    sh:property <#IndividualName-sex>;
    sh:property <#IndividualName-suffix>;
    sh:property <#IndividualName-typeOfIndividualName>;



.

<#IndividualName-abbreviation> a sh:PropertyShape ;
    sh:path cdi:IndividualName-abbreviation;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#IndividualName-context> a sh:PropertyShape ;
    sh:path cdi:IndividualName-context;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#IndividualName-effectiveDates> a sh:PropertyShape ;
    sh:path cdi:IndividualName-effectiveDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.
<#IndividualName-firstGiven> a sh:PropertyShape ;
    sh:path cdi:IndividualName-firstGiven;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#IndividualName-fullName> a sh:PropertyShape ;
    sh:path cdi:IndividualName-fullName;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#IndividualName-isFormal> a sh:PropertyShape ;
    sh:path cdi:IndividualName-isFormal;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#IndividualName-isPreferred> a sh:PropertyShape ;
    sh:path cdi:IndividualName-isPreferred;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#IndividualName-lastFamily> a sh:PropertyShape ;
    sh:path cdi:IndividualName-lastFamily;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#IndividualName-middle> a sh:PropertyShape ;
    sh:path cdi:IndividualName-middle;
    sh:datatype xsd:string;
.
<#IndividualName-prefix> a sh:PropertyShape ;
    sh:path cdi:IndividualName-prefix;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#IndividualName-sex> a sh:PropertyShape ;
    sh:path cdi:IndividualName-sex;
    sh:node <#SexSpecification>
    ;
    sh:maxCount 1;
.
<#IndividualName-suffix> a sh:PropertyShape ;
    sh:path cdi:IndividualName-suffix;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#IndividualName-typeOfIndividualName> a sh:PropertyShape ;
    sh:path cdi:IndividualName-typeOfIndividualName;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype InternationalIdentifier
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::InternationalIdentifier
<#InternationalIdentifier> a sh:NodeShape;
    sh:targetClass cdi:InternationalIdentifier;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/InternationalIdentifier";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:InternationalIdentifier
			 ) ;
    ];
    # attributes
    sh:property <#InternationalIdentifier-identifierContent>;
    sh:property <#InternationalIdentifier-isURI>;
    sh:property <#InternationalIdentifier-managingAgency>;



.

<#InternationalIdentifier-identifierContent> a sh:PropertyShape ;
    sh:path cdi:InternationalIdentifier-identifierContent;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#InternationalIdentifier-isURI> a sh:PropertyShape ;
    sh:path cdi:InternationalIdentifier-isURI;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#InternationalIdentifier-managingAgency> a sh:PropertyShape ;
    sh:path cdi:InternationalIdentifier-managingAgency;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype InternationalRegistrationDataIdentifier
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::InternationalRegistrationDataIdentifier
<#InternationalRegistrationDataIdentifier> a sh:NodeShape;
    sh:targetClass cdi:InternationalRegistrationDataIdentifier;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/InternationalRegistrationDataIdentifier";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:InternationalRegistrationDataIdentifier
			 ) ;
    ];
    # attributes
    sh:property <#InternationalRegistrationDataIdentifier-dataIdentifier>;
    sh:property <#InternationalRegistrationDataIdentifier-registrationAuthorityIdentifier>;
    sh:property <#InternationalRegistrationDataIdentifier-versionIdentifier>;



.

<#InternationalRegistrationDataIdentifier-dataIdentifier> a sh:PropertyShape ;
    sh:path cdi:InternationalRegistrationDataIdentifier-dataIdentifier;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.
<#InternationalRegistrationDataIdentifier-registrationAuthorityIdentifier> a sh:PropertyShape ;
    sh:path cdi:InternationalRegistrationDataIdentifier-registrationAuthorityIdentifier;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.
<#InternationalRegistrationDataIdentifier-versionIdentifier> a sh:PropertyShape ;
    sh:path cdi:InternationalRegistrationDataIdentifier-versionIdentifier;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.

# datatype InternationalString
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::InternationalString
<#InternationalString> a sh:NodeShape;
    sh:targetClass cdi:InternationalString;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/InternationalString";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:InternationalString
			  cdi:BibliographicName
			  cdi:LabelForDisplay
			 ) ;
    ];
    # attributes
    sh:property <#InternationalString-languageSpecificString>;



.

<#InternationalString-languageSpecificString> a sh:PropertyShape ;
    sh:path cdi:InternationalString-languageSpecificString;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:LanguageString
      
    ) ]];
.

# datatype LabelForDisplay
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::LabelForDisplay
<#LabelForDisplay> a sh:NodeShape;
    sh:targetClass cdi:LabelForDisplay;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LabelForDisplay";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:LabelForDisplay
			 ) ;
    ];
    # attributes
    sh:property <#LabelForDisplay-locationVariant>;
    sh:property <#LabelForDisplay-maxLength>;
    sh:property <#LabelForDisplay-validDates>;

    # ---- superclass: InternationalString
    # attributes
    sh:property <#InternationalString-languageSpecificString>;





.

<#LabelForDisplay-locationVariant> a sh:PropertyShape ;
    sh:path cdi:LabelForDisplay-locationVariant;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#LabelForDisplay-maxLength> a sh:PropertyShape ;
    sh:path cdi:LabelForDisplay-maxLength;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#LabelForDisplay-validDates> a sh:PropertyShape ;
    sh:path cdi:LabelForDisplay-validDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.

# datatype LanguageString
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::LanguageString
<#LanguageString> a sh:NodeShape;
    sh:targetClass cdi:LanguageString;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LanguageString";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:LanguageString
			 ) ;
    ];
    # attributes
    sh:property <#LanguageString-content>;
    sh:property <#LanguageString-isTranslatable>;
    sh:property <#LanguageString-isTranslated>;
    sh:property <#LanguageString-language>;
    sh:property <#LanguageString-scope>;
    sh:property <#LanguageString-structureUsed>;
    sh:property <#LanguageString-translationDate>;
    sh:property <#LanguageString-translationSourceLanguage>;



.

<#LanguageString-content> a sh:PropertyShape ;
    sh:path cdi:LanguageString-content;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.
<#LanguageString-isTranslatable> a sh:PropertyShape ;
    sh:path cdi:LanguageString-isTranslatable;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#LanguageString-isTranslated> a sh:PropertyShape ;
    sh:path cdi:LanguageString-isTranslated;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#LanguageString-language> a sh:PropertyShape ;
    sh:path cdi:LanguageString-language;
    sh:datatype xsd:language;
    sh:maxCount 1;
.
<#LanguageString-scope> a sh:PropertyShape ;
    sh:path cdi:LanguageString-scope;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#LanguageString-structureUsed> a sh:PropertyShape ;
    sh:path cdi:LanguageString-structureUsed;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#LanguageString-translationDate> a sh:PropertyShape ;
    sh:path cdi:LanguageString-translationDate;
    sh:datatype xsd:date;
    sh:maxCount 1;
.
<#LanguageString-translationSourceLanguage> a sh:PropertyShape ;
    sh:path cdi:LanguageString-translationSourceLanguage;
    sh:datatype xsd:language;
.

# datatype LicenseInformation
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::LicenseInformation
<#LicenseInformation> a sh:NodeShape;
    sh:targetClass cdi:LicenseInformation;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/LicenseInformation";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:LicenseInformation
			 ) ;
    ];
    # attributes
    sh:property <#LicenseInformation-contact>;
    sh:property <#LicenseInformation-description>;
    sh:property <#LicenseInformation-licenseAgent>;
    sh:property <#LicenseInformation-licenseReference>;



.

<#LicenseInformation-contact> a sh:PropertyShape ;
    sh:path cdi:LicenseInformation-contact;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ContactInformation
      
    ) ]];
.
<#LicenseInformation-description> a sh:PropertyShape ;
    sh:path cdi:LicenseInformation-description;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.
<#LicenseInformation-licenseAgent> a sh:PropertyShape ;
    sh:path cdi:LicenseInformation-licenseAgent;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:AgentInRole
      
    ) ]];
.
<#LicenseInformation-licenseReference> a sh:PropertyShape ;
    sh:path cdi:LicenseInformation-licenseReference;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Reference
      
    ) ]];
.

# datatype MatchingCriterion
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::MatchingCriterion
<#MatchingCriterion> a sh:NodeShape;
    sh:in ( cdi:CloseMatch cdi:Disjoint cdi:ExactMatch  );
    # attributes



.


# datatype MemberRelationshipScope
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::MemberRelationshipScope
<#MemberRelationshipScope> a sh:NodeShape;
    sh:in ( cdi:All cdi:None cdi:Some  );
    # attributes



.


# datatype ModelIdentification
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::ModelIdentification
<#ModelIdentification> a sh:NodeShape;
    sh:targetClass cdi:ModelIdentification;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ModelIdentification";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ModelIdentification
			 ) ;
    ];
    # attributes
    sh:property <#ModelIdentification-acronym>;
    sh:property <#ModelIdentification-language>;
    sh:property <#ModelIdentification-majorVersion>;
    sh:property <#ModelIdentification-minorVersion>;
    sh:property <#ModelIdentification-subtitle>;
    sh:property <#ModelIdentification-title>;
    sh:property <#ModelIdentification-uri>;



.

<#ModelIdentification-acronym> a sh:PropertyShape ;
    sh:path cdi:ModelIdentification-acronym;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.
<#ModelIdentification-language> a sh:PropertyShape ;
    sh:path cdi:ModelIdentification-language;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.
<#ModelIdentification-majorVersion> a sh:PropertyShape ;
    sh:path cdi:ModelIdentification-majorVersion;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.
<#ModelIdentification-minorVersion> a sh:PropertyShape ;
    sh:path cdi:ModelIdentification-minorVersion;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.
<#ModelIdentification-subtitle> a sh:PropertyShape ;
    sh:path cdi:ModelIdentification-subtitle;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.
<#ModelIdentification-title> a sh:PropertyShape ;
    sh:path cdi:ModelIdentification-title;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.
<#ModelIdentification-uri> a sh:PropertyShape ;
    sh:path cdi:ModelIdentification-uri;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.

# datatype NonDdiIdentifier
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::NonDdiIdentifier
<#NonDdiIdentifier> a sh:NodeShape;
    sh:targetClass cdi:NonDdiIdentifier;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/NonDdiIdentifier";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:NonDdiIdentifier
			 ) ;
    ];
    # attributes
    sh:property <#NonDdiIdentifier-managingAgency>;
    sh:property <#NonDdiIdentifier-type>;
    sh:property <#NonDdiIdentifier-value>;
    sh:property <#NonDdiIdentifier-version>;



.

<#NonDdiIdentifier-managingAgency> a sh:PropertyShape ;
    sh:path cdi:NonDdiIdentifier-managingAgency;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#NonDdiIdentifier-type> a sh:PropertyShape ;
    sh:path cdi:NonDdiIdentifier-type;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.
<#NonDdiIdentifier-value> a sh:PropertyShape ;
    sh:path cdi:NonDdiIdentifier-value;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.
<#NonDdiIdentifier-version> a sh:PropertyShape ;
    sh:path cdi:NonDdiIdentifier-version;
    sh:datatype xsd:string;
    sh:maxCount 1;
.

# datatype NonIsoDate
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::NonIsoDate
<#NonIsoDate> a sh:NodeShape;
    sh:targetClass cdi:NonIsoDate;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/NonIsoDate";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:NonIsoDate
			 ) ;
    ];
    # attributes
    sh:property <#NonIsoDate-calendar>;
    sh:property <#NonIsoDate-dateContent>;
    sh:property <#NonIsoDate-nonIsoDateFormat>;



.

<#NonIsoDate-calendar> a sh:PropertyShape ;
    sh:path cdi:NonIsoDate-calendar;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#NonIsoDate-dateContent> a sh:PropertyShape ;
    sh:path cdi:NonIsoDate-dateContent;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.
<#NonIsoDate-nonIsoDateFormat> a sh:PropertyShape ;
    sh:path cdi:NonIsoDate-nonIsoDateFormat;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype ObjectAttributeSelector
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::ObjectAttributeSelector
<#ObjectAttributeSelector> a sh:NodeShape;
    sh:targetClass cdi:ObjectAttributeSelector;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ObjectAttributeSelector";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ObjectAttributeSelector
			 ) ;
    ];
    # attributes
    sh:property <#ObjectAttributeSelector-refinedBy>;
    sh:property <#ObjectAttributeSelector-refinedByOrderNumber>;
    sh:property <#ObjectAttributeSelector-value>;

    # ---- superclass: Selector
    # attributes





.

<#ObjectAttributeSelector-refinedBy> a sh:PropertyShape ;
    sh:path cdi:ObjectAttributeSelector-refinedBy;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ObjectAttributeSelector
      
    ) ]];
    sh:maxCount 1;
.
<#ObjectAttributeSelector-refinedByOrderNumber> a sh:PropertyShape ;
    sh:path cdi:ObjectAttributeSelector-refinedByOrderNumber;
    sh:datatype xsd:integer;
    sh:maxCount 1;
.
<#ObjectAttributeSelector-value> a sh:PropertyShape ;
    sh:path cdi:ObjectAttributeSelector-value;
    sh:datatype xsd:string;
    sh:maxCount 1;
.

# datatype ObjectName
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::ObjectName
<#ObjectName> a sh:NodeShape;
    sh:targetClass cdi:ObjectName;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ObjectName";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ObjectName
			  cdi:OrganizationName
			 ) ;
    ];
    # attributes
    sh:property <#ObjectName-context>;
    sh:property <#ObjectName-name>;



.

<#ObjectName-context> a sh:PropertyShape ;
    sh:path cdi:ObjectName-context;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#ObjectName-name> a sh:PropertyShape ;
    sh:path cdi:ObjectName-name;
    sh:datatype xsd:string;
    sh:maxCount 1;
.

# datatype OrganizationName
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::OrganizationName
<#OrganizationName> a sh:NodeShape;
    sh:targetClass cdi:OrganizationName;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/OrganizationName";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:OrganizationName
			 ) ;
    ];
    # attributes
    sh:property <#OrganizationName-abbreviation>;
    sh:property <#OrganizationName-effectiveDates>;
    sh:property <#OrganizationName-isFormal>;
    sh:property <#OrganizationName-typeOfOrganizationName>;

    # ---- superclass: ObjectName
    # attributes
    sh:property <#ObjectName-context>;
    sh:property <#ObjectName-name>;





.

<#OrganizationName-abbreviation> a sh:PropertyShape ;
    sh:path cdi:OrganizationName-abbreviation;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#OrganizationName-effectiveDates> a sh:PropertyShape ;
    sh:path cdi:OrganizationName-effectiveDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.
<#OrganizationName-isFormal> a sh:PropertyShape ;
    sh:path cdi:OrganizationName-isFormal;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#OrganizationName-typeOfOrganizationName> a sh:PropertyShape ;
    sh:path cdi:OrganizationName-typeOfOrganizationName;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype PairedControlledVocabularyEntry
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::PairedControlledVocabularyEntry
<#PairedControlledVocabularyEntry> a sh:NodeShape;
    sh:targetClass cdi:PairedControlledVocabularyEntry;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PairedControlledVocabularyEntry";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PairedControlledVocabularyEntry
			 ) ;
    ];
    # attributes
    sh:property <#PairedControlledVocabularyEntry-extent>;
    sh:property <#PairedControlledVocabularyEntry-term>;



.

<#PairedControlledVocabularyEntry-extent> a sh:PropertyShape ;
    sh:path cdi:PairedControlledVocabularyEntry-extent;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#PairedControlledVocabularyEntry-term> a sh:PropertyShape ;
    sh:path cdi:PairedControlledVocabularyEntry-term;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:minCount 1;
    sh:maxCount 1;
.

# datatype PointFormat
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::PointFormat
<#PointFormat> a sh:NodeShape;
    sh:in ( cdi:DecimalDegree cdi:DecimalMinutes cdi:DegreesMinutesSeconds cdi:Feet cdi:Meters  );
    # attributes



.


# datatype PrivateImage
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::PrivateImage
<#PrivateImage> a sh:NodeShape;
    sh:targetClass cdi:PrivateImage;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/PrivateImage";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:PrivateImage
			 ) ;
    ];
    # attributes
    sh:property <#PrivateImage-effectiveDates>;
    sh:property <#PrivateImage-privacy>;



.

<#PrivateImage-effectiveDates> a sh:PropertyShape ;
    sh:path cdi:PrivateImage-effectiveDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.
<#PrivateImage-privacy> a sh:PropertyShape ;
    sh:path cdi:PrivateImage-privacy;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype ProvenanceInformation
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::ProvenanceInformation
<#ProvenanceInformation> a sh:NodeShape;
    sh:targetClass cdi:ProvenanceInformation;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/ProvenanceInformation";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:ProvenanceInformation
			 ) ;
    ];
    # attributes
    sh:property <#ProvenanceInformation-funding>;
    sh:property <#ProvenanceInformation-provenanceStatement>;
    sh:property <#ProvenanceInformation-recordCreationDate>;
    sh:property <#ProvenanceInformation-recordLastRevisionDate>;



.

<#ProvenanceInformation-funding> a sh:PropertyShape ;
    sh:path cdi:ProvenanceInformation-funding;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:FundingInformation
      
    ) ]];
.
<#ProvenanceInformation-provenanceStatement> a sh:PropertyShape ;
    sh:path cdi:ProvenanceInformation-provenanceStatement;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
.
<#ProvenanceInformation-recordCreationDate> a sh:PropertyShape ;
    sh:path cdi:ProvenanceInformation-recordCreationDate;
    sh:datatype xsd:date;
    sh:maxCount 1;
.
<#ProvenanceInformation-recordLastRevisionDate> a sh:PropertyShape ;
    sh:path cdi:ProvenanceInformation-recordLastRevisionDate;
    sh:datatype xsd:date;
    sh:maxCount 1;
.

# datatype RationaleDefinition
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::RationaleDefinition
<#RationaleDefinition> a sh:NodeShape;
    sh:targetClass cdi:RationaleDefinition;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/RationaleDefinition";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:RationaleDefinition
			 ) ;
    ];
    # attributes
    sh:property <#RationaleDefinition-rationaleCode>;
    sh:property <#RationaleDefinition-rationaleDescription>;



.

<#RationaleDefinition-rationaleCode> a sh:PropertyShape ;
    sh:path cdi:RationaleDefinition-rationaleCode;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#RationaleDefinition-rationaleDescription> a sh:PropertyShape ;
    sh:path cdi:RationaleDefinition-rationaleDescription;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.

# datatype Reference
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::Reference
<#Reference> a sh:NodeShape;
    sh:targetClass cdi:Reference;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Reference";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Reference
			 ) ;
    ];
    # attributes
    sh:property <#Reference-ddiReference>;
    sh:property <#Reference-deepLink>;
    sh:property <#Reference-description>;
    sh:property <#Reference-location>;
    sh:property <#Reference-nonDdiReference>;
    sh:property <#Reference-semantic>;
    sh:property <#Reference-uri>;
    sh:property <#Reference-validType>;



.

<#Reference-ddiReference> a sh:PropertyShape ;
    sh:path cdi:Reference-ddiReference;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalRegistrationDataIdentifier
      
    ) ]];
    sh:maxCount 1;
.
<#Reference-deepLink> a sh:PropertyShape ;
    sh:path cdi:Reference-deepLink;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:Selector
        cdi:ObjectAttributeSelector
        cdi:TextPositionSelector
      
    ) ]];
    sh:maxCount 1;
.
<#Reference-description> a sh:PropertyShape ;
    sh:path cdi:Reference-description;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#Reference-location> a sh:PropertyShape ;
    sh:path cdi:Reference-location;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:InternationalString
        cdi:BibliographicName
        cdi:LabelForDisplay
      
    ) ]];
    sh:maxCount 1;
.
<#Reference-nonDdiReference> a sh:PropertyShape ;
    sh:path cdi:Reference-nonDdiReference;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:NonDdiIdentifier
      
    ) ]];
.
<#Reference-semantic> a sh:PropertyShape ;
    sh:path cdi:Reference-semantic;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#Reference-uri> a sh:PropertyShape ;
    sh:path cdi:Reference-uri;
    sh:datatype xsd:anyURI;
    sh:maxCount 1;
.
<#Reference-validType> a sh:PropertyShape ;
    sh:path cdi:Reference-validType;
    sh:datatype xsd:string;
.

# datatype SchedulingStrategy
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::SchedulingStrategy
<#SchedulingStrategy> a sh:NodeShape;
    sh:in ( cdi:BackwardChaining cdi:ForwardChaining  );
    # attributes



.


# datatype Selector
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::Selector
<#Selector> a sh:NodeShape;
    sh:targetClass cdi:Selector;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Selector";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Selector
			  cdi:ObjectAttributeSelector
			  cdi:TextPositionSelector
			 ) ;
    ];
    # attributes



.


# datatype SexSpecification
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::SexSpecification
<#SexSpecification> a sh:NodeShape;
    sh:in ( cdi:Feminine cdi:GenderNeutral cdi:Masculine  );
    # attributes



.


# datatype SpatialCoordinate
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::SpatialCoordinate
<#SpatialCoordinate> a sh:NodeShape;
    sh:targetClass cdi:SpatialCoordinate;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SpatialCoordinate";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:SpatialCoordinate
			 ) ;
    ];
    # attributes
    sh:property <#SpatialCoordinate-content>;
    sh:property <#SpatialCoordinate-coordinateType>;



.

<#SpatialCoordinate-content> a sh:PropertyShape ;
    sh:path cdi:SpatialCoordinate-content;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#SpatialCoordinate-coordinateType> a sh:PropertyShape ;
    sh:path cdi:SpatialCoordinate-coordinateType;
    sh:node <#PointFormat>
    ;
    sh:maxCount 1;
.

# datatype SpatialPoint
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::SpatialPoint
<#SpatialPoint> a sh:NodeShape;
    sh:targetClass cdi:SpatialPoint;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SpatialPoint";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:SpatialPoint
			 ) ;
    ];
    # attributes
    sh:property <#SpatialPoint-xCoordinate>;
    sh:property <#SpatialPoint-yCoordinate>;



.

<#SpatialPoint-xCoordinate> a sh:PropertyShape ;
    sh:path cdi:SpatialPoint-xCoordinate;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:SpatialCoordinate
      
    ) ]];
    sh:maxCount 1;
.
<#SpatialPoint-yCoordinate> a sh:PropertyShape ;
    sh:path cdi:SpatialPoint-yCoordinate;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:SpatialCoordinate
      
    ) ]];
    sh:maxCount 1;
.

# datatype SpecializationRole
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::SpecializationRole
<#SpecializationRole> a sh:NodeShape;
    sh:targetClass cdi:SpecializationRole;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/SpecializationRole";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:SpecializationRole
			  cdi:GeoRole
			  cdi:TimeRole
			 ) ;
    ];
    # attributes



.


# datatype Statistic
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::Statistic
<#Statistic> a sh:NodeShape;
    sh:targetClass cdi:Statistic;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Statistic";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Statistic
			 ) ;
    ];
    # attributes
    sh:property <#Statistic-computationBase>;
    sh:property <#Statistic-content>;
    sh:property <#Statistic-isWeighted>;
    sh:property <#Statistic-typeOfNumericValue>;



.

<#Statistic-computationBase> a sh:PropertyShape ;
    sh:path cdi:Statistic-computationBase;
    sh:node <#ComputationBaseList>
    ;
    sh:maxCount 1;
.
<#Statistic-content> a sh:PropertyShape ;
    sh:path cdi:Statistic-content;
    sh:datatype xsd:double;
    sh:maxCount 1;
.
<#Statistic-isWeighted> a sh:PropertyShape ;
    sh:path cdi:Statistic-isWeighted;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#Statistic-typeOfNumericValue> a sh:PropertyShape ;
    sh:path cdi:Statistic-typeOfNumericValue;
    sh:datatype xsd:string;
    sh:maxCount 1;
.

# datatype StructureExtent
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::StructureExtent
<#StructureExtent> a sh:NodeShape;
    sh:in ( cdi:Partial cdi:Total  );
    # attributes



.


# datatype StructureSpecification
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::StructureSpecification
<#StructureSpecification> a sh:NodeShape;
    sh:targetClass cdi:StructureSpecification;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/StructureSpecification";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:StructureSpecification
			 ) ;
    ];
    # attributes
    sh:property <#StructureSpecification-reflexive>;
    sh:property <#StructureSpecification-symmetric>;
    sh:property <#StructureSpecification-transitive>;



.

<#StructureSpecification-reflexive> a sh:PropertyShape ;
    sh:path cdi:StructureSpecification-reflexive;
    sh:node <#MemberRelationshipScope>
    ;
    sh:maxCount 1;
.
<#StructureSpecification-symmetric> a sh:PropertyShape ;
    sh:path cdi:StructureSpecification-symmetric;
    sh:node <#MemberRelationshipScope>
    ;
    sh:maxCount 1;
.
<#StructureSpecification-transitive> a sh:PropertyShape ;
    sh:path cdi:StructureSpecification-transitive;
    sh:node <#MemberRelationshipScope>
    ;
    sh:maxCount 1;
.

# datatype TableDirectionValues
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::TableDirectionValues
<#TableDirectionValues> a sh:NodeShape;
    sh:in ( cdi:Auto cdi:Ltr cdi:Rtl  );
    # attributes



.


# datatype Telephone
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::Telephone
<#Telephone> a sh:NodeShape;
    sh:targetClass cdi:Telephone;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/Telephone";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:Telephone
			 ) ;
    ];
    # attributes
    sh:property <#Telephone-effectiveDates>;
    sh:property <#Telephone-isPreferred>;
    sh:property <#Telephone-privacy>;
    sh:property <#Telephone-telephoneNumber>;
    sh:property <#Telephone-typeOfTelephone>;



.

<#Telephone-effectiveDates> a sh:PropertyShape ;
    sh:path cdi:Telephone-effectiveDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.
<#Telephone-isPreferred> a sh:PropertyShape ;
    sh:path cdi:Telephone-isPreferred;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#Telephone-privacy> a sh:PropertyShape ;
    sh:path cdi:Telephone-privacy;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#Telephone-telephoneNumber> a sh:PropertyShape ;
    sh:path cdi:Telephone-telephoneNumber;
    sh:datatype xsd:string;
    sh:maxCount 1;
.
<#Telephone-typeOfTelephone> a sh:PropertyShape ;
    sh:path cdi:Telephone-typeOfTelephone;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype TemporalOperator
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::TemporalOperator
<#TemporalOperator> a sh:NodeShape;
    sh:in ( cdi:AndJoin cdi:AndSplit cdi:XorJoin cdi:XorSplit  );
    # attributes



.


# datatype TemporalRelation
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::TemporalRelation
<#TemporalRelation> a sh:NodeShape;
    sh:in ( cdi:Contains cdi:Equals cdi:Finishes cdi:Meets cdi:Overlaps cdi:Precedes cdi:Starts  );
    # attributes



.


# datatype TextDirectionValues
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::TextDirectionValues
<#TextDirectionValues> a sh:NodeShape;
    sh:in ( cdi:Auto cdi:Inherit cdi:Ltr cdi:Rtl  );
    # attributes



.


# datatype TextPositionSelector
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::TextPositionSelector
<#TextPositionSelector> a sh:NodeShape;
    sh:targetClass cdi:TextPositionSelector;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/TextPositionSelector";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:TextPositionSelector
			 ) ;
    ];
    # attributes
    sh:property <#TextPositionSelector-end>;
    sh:property <#TextPositionSelector-start>;

    # ---- superclass: Selector
    # attributes





.

<#TextPositionSelector-end> a sh:PropertyShape ;
    sh:path cdi:TextPositionSelector-end;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.
<#TextPositionSelector-start> a sh:PropertyShape ;
    sh:path cdi:TextPositionSelector-start;
    sh:datatype xsd:integer;
    sh:minCount 1;
    sh:maxCount 1;
.

# datatype TimeRole
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::TimeRole
<#TimeRole> a sh:NodeShape;
    sh:targetClass cdi:TimeRole;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/TimeRole";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:TimeRole
			 ) ;
    ];
    # attributes
    sh:property <#TimeRole-time>;

    # ---- superclass: SpecializationRole
    # attributes





.

<#TimeRole-time> a sh:PropertyShape ;
    sh:path cdi:TimeRole-time;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype TrimValues
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::TrimValues
<#TrimValues> a sh:NodeShape;
    sh:in ( cdi:Both cdi:End cdi:Neither cdi:Start  );
    # attributes



.


# datatype TypedString
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::TypedString
<#TypedString> a sh:NodeShape;
    sh:targetClass cdi:TypedString;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/TypedString";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:TypedString
			 ) ;
    ];
    # attributes
    sh:property <#TypedString-content>;
    sh:property <#TypedString-typeOfContent>;



.

<#TypedString-content> a sh:PropertyShape ;
    sh:path cdi:TypedString-content;
    sh:datatype xsd:string;
    sh:minCount 1;
    sh:maxCount 1;
.
<#TypedString-typeOfContent> a sh:PropertyShape ;
    sh:path cdi:TypedString-typeOfContent;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.

# datatype WebLink
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::StructuredDataTypes::WebLink
<#WebLink> a sh:NodeShape;
    sh:targetClass cdi:WebLink;
	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/WebLink";
	sh:closed true;
	sh:ignoredProperties ( owl:sameAs );
    sh:property [
			sh:path rdf:type;
			sh:in (   cdi:WebLink
			 ) ;
    ];
    # attributes
    sh:property <#WebLink-effectiveDates>;
    sh:property <#WebLink-isPreferred>;
    sh:property <#WebLink-privacy>;
    sh:property <#WebLink-typeOfWebsite>;
    sh:property <#WebLink-uri>;



.

<#WebLink-effectiveDates> a sh:PropertyShape ;
    sh:path cdi:WebLink-effectiveDates;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:DateRange
      
    ) ]];
    sh:maxCount 1;
.
<#WebLink-isPreferred> a sh:PropertyShape ;
    sh:path cdi:WebLink-isPreferred;
    sh:datatype xsd:boolean;
    sh:maxCount 1;
.
<#WebLink-privacy> a sh:PropertyShape ;
    sh:path cdi:WebLink-privacy;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#WebLink-typeOfWebsite> a sh:PropertyShape ;
    sh:path cdi:WebLink-typeOfWebsite;
    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
        cdi:ControlledVocabularyEntry
      
    ) ]];
    sh:maxCount 1;
.
<#WebLink-uri> a sh:PropertyShape ;
    sh:path cdi:WebLink-uri;
    sh:datatype xsd:anyURI;
    sh:maxCount 1;
.

# datatype WhiteSpaceRule
# based on the UML data type DDICDIModels::DDICDILibrary::DataTypes::Enumerations::WhiteSpaceRule
<#WhiteSpaceRule> a sh:NodeShape;
    sh:in ( cdi:Collapse cdi:Preserve cdi:Replace  );
    # attributes



.


