@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix sh: <http://www.w3.org/ns/shacl#>.
@prefix constraintParameters: <https://cogsdata.org/ns/shacl#>.
@prefix sdtl: <https://rdf-vocabulary.ddialliance.org/sdtl#>.
@prefix shapes: <https://rdf-vocabulary.ddialliance.org/sdtl#shapes/1.2/>.
@prefix typeShapes: <https://rdf-vocabulary.ddialliance.org/sdtl#shapes/1.2/type/>.
@prefix targetShapes: <https://rdf-vocabulary.ddialliance.org/sdtl#shapes/1.2/target/>.
@prefix signatureShapes: <https://rdf-vocabulary.ddialliance.org/sdtl#shapes/1.2/signature/>.
@prefix propertyShapes: <https://rdf-vocabulary.ddialliance.org/sdtl#shapes/1.2/property/>.
@prefix valueShapes: <https://rdf-vocabulary.ddialliance.org/sdtl#shapes/1.2/value/>.
@prefix primitiveShapes: <https://rdf-vocabulary.ddialliance.org/sdtl#shapes/1.2/primitive/>.
@prefix constraintShapes: <https://rdf-vocabulary.ddialliance.org/sdtl#shapes/1.2/constraint/>.
@prefix declarationShapes: <https://rdf-vocabulary.ddialliance.org/sdtl#shapes/1.2/declaration/>.
@prefix identityShapes: <https://rdf-vocabulary.ddialliance.org/sdtl#shapes/1.2/identity/>.

sdtl:Aggregate a rdfs:Class;
               rdfs:subClassOf sdtl:TransformBase.
sdtl:AllNumericVariablesExpression a rdfs:Class;
                                   rdfs:subClassOf sdtl:VariableReferenceBase.
sdtl:AllTextVariablesExpression a rdfs:Class;
                                rdfs:subClassOf sdtl:VariableReferenceBase.
sdtl:AllVariablesExpression a rdfs:Class;
                            rdfs:subClassOf sdtl:VariableReferenceBase.
sdtl:Analysis a rdfs:Class;
              rdfs:subClassOf sdtl:InformBase.
sdtl:AppendDatasets a rdfs:Class;
                    rdfs:subClassOf sdtl:TransformBase.
sdtl:AppendFileDescription a rdfs:Class.
sdtl:BooleanConstantExpression a rdfs:Class;
                               rdfs:subClassOf sdtl:ExpressionBase.
sdtl:Collapse a rdfs:Class;
              rdfs:subClassOf sdtl:TransformBase.
sdtl:CommandBase a rdfs:Class.
sdtl:Comment a rdfs:Class;
             rdfs:subClassOf sdtl:InformBase.
sdtl:CompositeVariableNameExpression a rdfs:Class;
                                     rdfs:subClassOf sdtl:VariableReferenceBase.
sdtl:Compute a rdfs:Class;
             rdfs:subClassOf sdtl:TransformBase.
sdtl:DataframeDescription a rdfs:Class.
sdtl:DateTimeConstant a rdfs:Class;
                      rdfs:subClassOf sdtl:ExpressionBase.
sdtl:DoIf a rdfs:Class;
          rdfs:subClassOf sdtl:TransformBase.
sdtl:DropCases a rdfs:Class;
               rdfs:subClassOf sdtl:TransformBase.
sdtl:DropVariables a rdfs:Class;
                   rdfs:subClassOf sdtl:TransformBase.
sdtl:Execute a rdfs:Class;
             rdfs:subClassOf sdtl:TransformBase.
sdtl:ExpressionBase a rdfs:Class.
sdtl:FunctionArgument a rdfs:Class.
sdtl:FunctionCallExpression a rdfs:Class;
                            rdfs:subClassOf sdtl:ExpressionBase.
sdtl:GroupedExpression a rdfs:Class;
                       rdfs:subClassOf sdtl:ExpressionBase.
sdtl:IfRows a rdfs:Class;
            rdfs:subClassOf sdtl:TransformBase.
sdtl:InformBase a rdfs:Class;
                rdfs:subClassOf sdtl:CommandBase.
sdtl:Invalid a rdfs:Class;
             rdfs:subClassOf sdtl:InformBase.
sdtl:IteratorDescription a rdfs:Class.
sdtl:IteratorSymbolExpression a rdfs:Class;
                              rdfs:subClassOf sdtl:ExpressionBase.
sdtl:KeepCases a rdfs:Class;
               rdfs:subClassOf sdtl:TransformBase.
sdtl:KeepVariables a rdfs:Class;
                   rdfs:subClassOf sdtl:TransformBase.
sdtl:Load a rdfs:Class;
          rdfs:subClassOf sdtl:TransformBase.
sdtl:LoopOverList a rdfs:Class;
                  rdfs:subClassOf sdtl:TransformBase.
sdtl:LoopWhile a rdfs:Class;
               rdfs:subClassOf sdtl:TransformBase.
sdtl:MergeDatasets a rdfs:Class;
                   rdfs:subClassOf sdtl:TransformBase.
sdtl:MergeFileDescription a rdfs:Class.
sdtl:Message a rdfs:Class;
             rdfs:subClassOf sdtl:InformBase.
sdtl:MissingValueConstantExpression a rdfs:Class;
                                    rdfs:subClassOf sdtl:ExpressionBase.
sdtl:NewDataframe a rdfs:Class;
                  rdfs:subClassOf sdtl:TransformBase.
sdtl:NoTransformOp a rdfs:Class;
                   rdfs:subClassOf sdtl:InformBase.
sdtl:NumberRangeExpression a rdfs:Class;
                           rdfs:subClassOf sdtl:ExpressionBase.
sdtl:NumericConstantExpression a rdfs:Class;
                               rdfs:subClassOf sdtl:ExpressionBase.
sdtl:NumericMaximumValueExpression a rdfs:Class;
                                   rdfs:subClassOf sdtl:ExpressionBase.
sdtl:NumericMinimumValueExpression a rdfs:Class;
                                   rdfs:subClassOf sdtl:ExpressionBase.
sdtl:Program a rdfs:Class.
sdtl:Recode a rdfs:Class;
            rdfs:subClassOf sdtl:TransformBase.
sdtl:RecodeRule a rdfs:Class.
sdtl:RecodeVariable a rdfs:Class.
sdtl:Rename a rdfs:Class;
            rdfs:subClassOf sdtl:TransformBase.
sdtl:RenamePair a rdfs:Class.
sdtl:ReshapeItemDescription a rdfs:Class.
sdtl:ReshapeLong a rdfs:Class;
                 rdfs:subClassOf sdtl:TransformBase.
sdtl:ReshapeWide a rdfs:Class;
                 rdfs:subClassOf sdtl:TransformBase.
sdtl:Save a rdfs:Class;
          rdfs:subClassOf sdtl:TransformBase.
sdtl:SetDataType a rdfs:Class;
                 rdfs:subClassOf sdtl:TransformBase.
sdtl:SetDatasetProperty a rdfs:Class;
                        rdfs:subClassOf sdtl:TransformBase.
sdtl:SetDisplayFormat a rdfs:Class;
                      rdfs:subClassOf sdtl:TransformBase.
sdtl:SetMissingValues a rdfs:Class;
                      rdfs:subClassOf sdtl:TransformBase.
sdtl:SetValueLabels a rdfs:Class;
                    rdfs:subClassOf sdtl:TransformBase.
sdtl:SetVariableLabel a rdfs:Class;
                      rdfs:subClassOf sdtl:TransformBase.
sdtl:SortCases a rdfs:Class;
               rdfs:subClassOf sdtl:TransformBase.
sdtl:SortCriterion a rdfs:Class.
sdtl:SourceInformation a rdfs:Class.
sdtl:StringConstantExpression a rdfs:Class;
                              rdfs:subClassOf sdtl:ExpressionBase.
sdtl:StringRangeExpression a rdfs:Class;
                           rdfs:subClassOf sdtl:ExpressionBase.
sdtl:TimeDurationConstant a rdfs:Class;
                          rdfs:subClassOf sdtl:ExpressionBase.
sdtl:TransformBase a rdfs:Class;
                   rdfs:subClassOf sdtl:CommandBase.
sdtl:UnhandledValuesExpression a rdfs:Class;
                               rdfs:subClassOf sdtl:ExpressionBase.
sdtl:Unsupported a rdfs:Class;
                 rdfs:subClassOf sdtl:InformBase.
sdtl:ValueLabel a rdfs:Class.
sdtl:ValueListExpression a rdfs:Class;
                         rdfs:subClassOf sdtl:ExpressionBase.
sdtl:VariableListExpression a rdfs:Class;
                            rdfs:subClassOf sdtl:VariableReferenceBase.
sdtl:VariableRangeExpression a rdfs:Class;
                             rdfs:subClassOf sdtl:VariableReferenceBase.
sdtl:VariableReferenceBase a rdfs:Class;
                           rdfs:subClassOf sdtl:ExpressionBase.
sdtl:VariableSymbolExpression a rdfs:Class;
                              rdfs:subClassOf sdtl:VariableReferenceBase.
sdtl:Weight a rdfs:Class.
constraintShapes:CalendarDate.calendarDate a sh:Parameter;
                                           sh:datatype xsd:boolean;
                                           sh:name "calendarDate";
                                           sh:path constraintParameters:calendarDate.
constraintShapes:CalendarDateConstraintComponent a sh:ConstraintComponent;
                                                 sh:description "Calendar month/day combination is invalid.";
                                                 sh:labelTemplate "Calendar month/day combination is invalid.";
                                                 sh:name "CalendarDate";
                                                 sh:nodeValidator constraintShapes:CalendarDateValidator;
                                                 sh:parameter constraintShapes:CalendarDate.calendarDate.
constraintShapes:CalendarDateValidator a sh:SPARQLSelectValidator;
                                       sh:message "Calendar month/day combination is invalid.";
                                       sh:select """
                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                     SELECT $this
                                                     WHERE {
                                                         BIND(xsd:integer(SUBSTR(STR($this), 1, 4)) AS ?year)
                                                         BIND(xsd:integer(SUBSTR(STR($this), 6, 2)) AS ?month)
                                                         BIND(xsd:integer(SUBSTR(STR($this), 9, 2)) AS ?day)
                                                         BIND(IF(?month = 2, IF((?year - FLOOR(?year / 4) * 4 = 0) && ((?year - FLOOR(?year / 100) * 100 != 0) || (?year - FLOOR(?year / 400) * 400 = 0)),
                                                             29, 28), IF(?month IN (4,6,9,11), 30, 31)) AS ?days)
                                                         FILTER($calendarDate && (?year = 0 || ?day > ?days))
                                                     }
                                                 """.
constraintShapes:CalendarYear.yearMaximum a sh:Parameter;
                                          sh:datatype xsd:integer;
                                          sh:name "yearMaximum";
                                          sh:path constraintParameters:yearMaximum.
constraintShapes:CalendarYear.yearMinimum a sh:Parameter;
                                          sh:datatype xsd:integer;
                                          sh:name "yearMinimum";
                                          sh:path constraintParameters:yearMinimum.
constraintShapes:CalendarYearConstraintComponent a sh:ConstraintComponent;
                                                 sh:description "Calendar years must be nonzero signed Int32 values.";
                                                 sh:labelTemplate "Calendar years must be nonzero signed Int32 values.";
                                                 sh:name "CalendarYear";
                                                 sh:nodeValidator constraintShapes:CalendarYearValidator;
                                                 sh:parameter constraintShapes:CalendarYear.yearMinimum,
                                                              constraintShapes:CalendarYear.yearMaximum.
constraintShapes:CalendarYearValidator a sh:SPARQLSelectValidator;
                                       sh:message "Calendar years must be nonzero signed Int32 values.";
                                       sh:select """
                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                     SELECT $this
                                                     WHERE {
                                                         BIND(xsd:integer(REPLACE(STR($this), \"^(-?[0-9]{4,}).*$\", \"$1\")) AS ?year)
                                                         FILTER(!BOUND(?year) || ?year = 0 || ?year < $yearMinimum || ?year > $yearMaximum)
                                                     }
                                                 """.
constraintShapes:DateTimeRange.dateTimeMaximum a sh:Parameter;
                                               sh:datatype xsd:dateTime;
                                               sh:name "dateTimeMaximum";
                                               sh:path constraintParameters:dateTimeMaximum.
constraintShapes:DateTimeRange.dateTimeMinimum a sh:Parameter;
                                               sh:datatype xsd:dateTime;
                                               sh:name "dateTimeMinimum";
                                               sh:path constraintParameters:dateTimeMinimum.
constraintShapes:DateTimeRangeConstraintComponent a sh:ConstraintComponent;
                                                  sh:description "UTC dateTime must remain in years 0001 through 9999.";
                                                  sh:labelTemplate "UTC dateTime must remain in years 0001 through 9999.";
                                                  sh:name "DateTimeRange";
                                                  sh:nodeValidator constraintShapes:DateTimeRangeValidator;
                                                  sh:parameter constraintShapes:DateTimeRange.dateTimeMinimum,
                                                               constraintShapes:DateTimeRange.dateTimeMaximum.
constraintShapes:DateTimeRangeValidator a sh:SPARQLSelectValidator;
                                        sh:message "UTC dateTime must remain in years 0001 through 9999.";
                                        sh:select """
                                                      PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                      PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                      SELECT $this
                                                      WHERE {
                                                          BIND(STR($this) AS ?vText)
                                                          BIND(REPLACE(?vText, \"(Z|[+-][0-9]{2}:[0-9]{2})$\", \"\") AS ?vCore)
                                                          BIND(xsd:integer(SUBSTR(?vCore, 1, 4)) AS ?vYear)
                                                          BIND(xsd:integer(SUBSTR(?vCore, 6, 2)) AS ?vMonth)
                                                          BIND(xsd:integer(SUBSTR(?vCore, 9, 2)) AS ?vDay)
                                                          BIND(IF(?vYear < 0, ?vYear + 1, ?vYear) - IF(?vMonth <= 2, 1, 0) AS ?vY)
                                                          BIND(FLOOR(?vY / 400) AS ?vEra)
                                                          BIND(?vY - ?vEra * 400 AS ?vYoe)
                                                          BIND(?vMonth + IF(?vMonth > 2, -3, 9) AS ?vM)
                                                          BIND((?vEra * 146097 + ?vYoe * 365 + FLOOR(?vYoe / 4) - FLOOR(?vYoe / 100) + FLOOR((153 * ?vM + 2) / 5) + ?vDay - 1) * 86400 + xsd:decimal(SUBSTR(?vCore,
                                                              12, 2)) * 3600 + xsd:decimal(SUBSTR(?vCore, 15, 2)) * 60 + xsd:decimal(SUBSTR(?vCore, 18)) AS ?vLocal)
                                                          BIND(REGEX(?vText, \"[+-][0-9]{2}:[0-9]{2}$\") AS ?vHasOffset)
                                                          BIND(IF(?vHasOffset, xsd:integer(SUBSTR(?vText, STRLEN(?vText) - 4, 2)) * 3600 + xsd:integer(SUBSTR(?vText, STRLEN(?vText) - 1,
                                                              2)) * 60, 0) * IF(SUBSTR(?vText, STRLEN(?vText) - 5, 1) = \"-\", -1, 1) AS ?vOffset)
                                                          BIND(IF(?vHasOffset || STRENDS(?vText, \"Z\") || \"dateTime\" = \"date\", 0, 50400) AS ?vUncertainty)
                                                          BIND(?vLocal - ?vOffset - ?vUncertainty AS ?vLow)
                                                          BIND(?vLocal - ?vOffset + ?vUncertainty AS ?vHigh)
                                                          BIND(STR($dateTimeMinimum) AS ?aText)
                                                          BIND(REPLACE(?aText, \"(Z|[+-][0-9]{2}:[0-9]{2})$\", \"\") AS ?aCore)
                                                          BIND(xsd:integer(SUBSTR(?aCore, 1, 4)) AS ?aYear)
                                                          BIND(xsd:integer(SUBSTR(?aCore, 6, 2)) AS ?aMonth)
                                                          BIND(xsd:integer(SUBSTR(?aCore, 9, 2)) AS ?aDay)
                                                          BIND(IF(?aYear < 0, ?aYear + 1, ?aYear) - IF(?aMonth <= 2, 1, 0) AS ?aY)
                                                          BIND(FLOOR(?aY / 400) AS ?aEra)
                                                          BIND(?aY - ?aEra * 400 AS ?aYoe)
                                                          BIND(?aMonth + IF(?aMonth > 2, -3, 9) AS ?aM)
                                                          BIND((?aEra * 146097 + ?aYoe * 365 + FLOOR(?aYoe / 4) - FLOOR(?aYoe / 100) + FLOOR((153 * ?aM + 2) / 5) + ?aDay - 1) * 86400 + xsd:decimal(SUBSTR(?aCore,
                                                              12, 2)) * 3600 + xsd:decimal(SUBSTR(?aCore, 15, 2)) * 60 + xsd:decimal(SUBSTR(?aCore, 18)) AS ?aLocal)
                                                          BIND(REGEX(?aText, \"[+-][0-9]{2}:[0-9]{2}$\") AS ?aHasOffset)
                                                          BIND(IF(?aHasOffset, xsd:integer(SUBSTR(?aText, STRLEN(?aText) - 4, 2)) * 3600 + xsd:integer(SUBSTR(?aText, STRLEN(?aText) - 1,
                                                              2)) * 60, 0) * IF(SUBSTR(?aText, STRLEN(?aText) - 5, 1) = \"-\", -1, 1) AS ?aOffset)
                                                          BIND(IF(?aHasOffset || STRENDS(?aText, \"Z\") || \"dateTime\" = \"date\", 0, 50400) AS ?aUncertainty)
                                                          BIND(?aLocal - ?aOffset - ?aUncertainty AS ?aLow)
                                                          BIND(?aLocal - ?aOffset + ?aUncertainty AS ?aHigh)
                                                          BIND(STR($dateTimeMaximum) AS ?bText)
                                                          BIND(REPLACE(?bText, \"(Z|[+-][0-9]{2}:[0-9]{2})$\", \"\") AS ?bCore)
                                                          BIND(xsd:integer(SUBSTR(?bCore, 1, 4)) AS ?bYear)
                                                          BIND(xsd:integer(SUBSTR(?bCore, 6, 2)) AS ?bMonth)
                                                          BIND(xsd:integer(SUBSTR(?bCore, 9, 2)) AS ?bDay)
                                                          BIND(IF(?bYear < 0, ?bYear + 1, ?bYear) - IF(?bMonth <= 2, 1, 0) AS ?bY)
                                                          BIND(FLOOR(?bY / 400) AS ?bEra)
                                                          BIND(?bY - ?bEra * 400 AS ?bYoe)
                                                          BIND(?bMonth + IF(?bMonth > 2, -3, 9) AS ?bM)
                                                          BIND((?bEra * 146097 + ?bYoe * 365 + FLOOR(?bYoe / 4) - FLOOR(?bYoe / 100) + FLOOR((153 * ?bM + 2) / 5) + ?bDay - 1) * 86400 + xsd:decimal(SUBSTR(?bCore,
                                                              12, 2)) * 3600 + xsd:decimal(SUBSTR(?bCore, 15, 2)) * 60 + xsd:decimal(SUBSTR(?bCore, 18)) AS ?bLocal)
                                                          BIND(REGEX(?bText, \"[+-][0-9]{2}:[0-9]{2}$\") AS ?bHasOffset)
                                                          BIND(IF(?bHasOffset, xsd:integer(SUBSTR(?bText, STRLEN(?bText) - 4, 2)) * 3600 + xsd:integer(SUBSTR(?bText, STRLEN(?bText) - 1,
                                                              2)) * 60, 0) * IF(SUBSTR(?bText, STRLEN(?bText) - 5, 1) = \"-\", -1, 1) AS ?bOffset)
                                                          BIND(IF(?bHasOffset || STRENDS(?bText, \"Z\") || \"dateTime\" = \"date\", 0, 50400) AS ?bUncertainty)
                                                          BIND(?bLocal - ?bOffset - ?bUncertainty AS ?bLow)
                                                          BIND(?bLocal - ?bOffset + ?bUncertainty AS ?bHigh)
                                                          FILTER(!BOUND(?vLow) || ?vLow < ?aLow || ?vHigh > ?bHigh)
                                                      }
                                                  """.
constraintShapes:DecimalProfile.decimalCoefficient a sh:Parameter;
                                                   sh:datatype xsd:integer;
                                                   sh:name "decimalCoefficient";
                                                   sh:path constraintParameters:decimalCoefficient.
constraintShapes:DecimalProfile.decimalScale a sh:Parameter;
                                             sh:datatype xsd:integer;
                                             sh:name "decimalScale";
                                             sh:path constraintParameters:decimalScale.
constraintShapes:DecimalProfileConstraintComponent a sh:ConstraintComponent;
                                                   sh:description "Decimal coefficient or fractional precision exceeds the permitted range.";
                                                   sh:labelTemplate "Decimal coefficient or fractional precision exceeds the permitted range.";
                                                   sh:name "DecimalProfile";
                                                   sh:nodeValidator constraintShapes:DecimalProfileValidator;
                                                   sh:parameter constraintShapes:DecimalProfile.decimalScale,
                                                                constraintShapes:DecimalProfile.decimalCoefficient.
constraintShapes:DecimalProfileValidator a sh:SPARQLSelectValidator;
                                         sh:message "Decimal coefficient or fractional precision exceeds the permitted range.";
                                         sh:select """
                                                       PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                       PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                       SELECT $this
                                                       WHERE {
                                                           BIND(REPLACE(REPLACE(STR($this), \"^[+-]\", \"\"), \"0+$\", \"\") AS ?unused)
                                                           BIND(REPLACE(STR($this), \"^[+-]\", \"\") AS ?absolute)
                                                           BIND(IF(CONTAINS(?absolute, \".\"), REPLACE(STRAFTER(?absolute, \".\"), \"0+$\", \"\"), \"\") AS ?fraction)
                                                           BIND(xsd:integer(CONCAT(IF(CONTAINS(?absolute, \".\"), STRBEFORE(?absolute, \".\"), ?absolute), ?fraction)) AS ?coefficient)
                                                           FILTER(!BOUND(?coefficient) || STRLEN(?fraction) > $decimalScale || ?coefficient > $decimalCoefficient)
                                                       }
                                                   """.
constraintShapes:DurationRange.durationLimit a sh:Parameter;
                                             sh:datatype xsd:integer;
                                             sh:name "durationLimit";
                                             sh:path constraintParameters:durationLimit.
constraintShapes:DurationRangeConstraintComponent a sh:ConstraintComponent;
                                                  sh:description "Duration requires a nonempty elapsed millisecond quantity in range.";
                                                  sh:labelTemplate "Duration requires a nonempty elapsed millisecond quantity in range.";
                                                  sh:name "DurationRange";
                                                  sh:nodeValidator constraintShapes:DurationRangeValidator;
                                                  sh:parameter constraintShapes:DurationRange.durationLimit.
constraintShapes:DurationRangeValidator a sh:SPARQLSelectValidator;
                                        sh:message "Duration requires a nonempty elapsed millisecond quantity in range.";
                                        sh:select """
                                                      PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                      PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                      SELECT $this
                                                      WHERE {
                                                          BIND(STR($this) AS ?dText)
                                                          BIND(IF(REGEX(?dText, \"^-?P[0-9]+D\"), xsd:decimal(REPLACE(?dText, \"^-?P([0-9]+)D.*$\", \"$1\")), 0) AS ?dDays)
                                                          BIND(IF(CONTAINS(?dText, \"H\"), xsd:decimal(REPLACE(?dText, \"^.*T([0-9]+)H.*$\", \"$1\")), 0) AS ?dHours)
                                                          BIND(IF(CONTAINS(?dText, \"M\"), xsd:decimal(REPLACE(?dText, \"^.*T([0-9]+H)?([0-9]+)M.*$\", \"$2\")), 0) AS ?dMinutes)
                                                          BIND(IF(CONTAINS(?dText, \"S\"), xsd:decimal(REPLACE(REPLACE(?dText, \"^.*[THM]\", \"\"), \"S$\", \"\")), 0) AS ?dSeconds)
                                                          BIND(IF(STRSTARTS(?dText, \"-\"), -1, 1) * (?dDays * 86400000 + ?dHours * 3600000 + ?dMinutes * 60000 + ?dSeconds * 1000) AS ?d)
                                                          FILTER(!BOUND(?d) || ABS(?d) > $durationLimit || REGEX(STR($this), \"^-?P(T)?$|T$\"))
                                                      }
                                                  """.
constraintShapes:ExactDatatype.exactDatatype a sh:Parameter;
                                             sh:name "exactDatatype";
                                             sh:nodeKind sh:IRI;
                                             sh:path constraintParameters:exactDatatype.
constraintShapes:ExactDatatypeConstraintComponent a sh:ConstraintComponent;
                                                  sh:description "Temporal literals must use the exact XSD datatype.";
                                                  sh:labelTemplate "Temporal literals must use the exact XSD datatype.";
                                                  sh:name "ExactDatatype";
                                                  sh:nodeValidator constraintShapes:ExactDatatypeValidator;
                                                  sh:parameter constraintShapes:ExactDatatype.exactDatatype.
constraintShapes:ExactDatatypeValidator a sh:SPARQLSelectValidator;
                                        sh:message "Temporal literals must use the exact XSD datatype.";
                                        sh:select """
                                                      PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                      PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                      SELECT $this
                                                      WHERE {
                                                          FILTER(!isLiteral($this) || DATATYPE($this) != $exactDatatype)
                                                      }
                                                  """.
constraintShapes:FiniteFloat.floatInclusive a sh:Parameter;
                                            sh:datatype xsd:boolean;
                                            sh:name "floatInclusive";
                                            sh:path constraintParameters:floatInclusive.
constraintShapes:FiniteFloat.floatLimit a sh:Parameter;
                                        sh:datatype xsd:double;
                                        sh:name "floatLimit";
                                        sh:path constraintParameters:floatLimit.
constraintShapes:FiniteFloatConstraintComponent a sh:ConstraintComponent;
                                                sh:description "Floating values must be finite and in range.";
                                                sh:labelTemplate "Floating values must be finite and in range.";
                                                sh:name "FiniteFloat";
                                                sh:nodeValidator constraintShapes:FiniteFloatValidator;
                                                sh:parameter constraintShapes:FiniteFloat.floatLimit,
                                                             constraintShapes:FiniteFloat.floatInclusive.
constraintShapes:FiniteFloatValidator a sh:SPARQLSelectValidator;
                                      sh:message "Floating values must be finite and in range.";
                                      sh:select """
                                                    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                    SELECT $this
                                                    WHERE {
                                                        BIND(xsd:double($this) AS ?number)
                                                        FILTER(!BOUND(?number) || !IF($floatInclusive, ABS(?number) <= $floatLimit, ABS(?number) < $floatLimit))
                                                    }
                                                """.
constraintShapes:LanguageTag.languageTagPattern a sh:Parameter;
                                                sh:datatype xsd:string;
                                                sh:name "languageTagPattern";
                                                sh:path constraintParameters:languageTagPattern.
constraintShapes:LanguageTagConstraintComponent a sh:ConstraintComponent;
                                                sh:description "Language tags must follow BCP 47 syntax.";
                                                sh:labelTemplate "Language tags must follow BCP 47 syntax.";
                                                sh:name "LanguageTag";
                                                sh:nodeValidator constraintShapes:LanguageTagValidator;
                                                sh:parameter constraintShapes:LanguageTag.languageTagPattern.
constraintShapes:LanguageTagValidator a sh:SPARQLSelectValidator;
                                      sh:message "Language tags must follow BCP 47 syntax.";
                                      sh:select """
                                                    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                    SELECT $this
                                                    WHERE {
                                                        FILTER(!REGEX(LANG($this), $languageTagPattern))
                                                    }
                                                """.
constraintShapes:MonthDay.monthDayLeapYear a sh:Parameter;
                                           sh:datatype xsd:integer;
                                           sh:name "monthDayLeapYear";
                                           sh:path constraintParameters:monthDayLeapYear.
constraintShapes:MonthDayConstraintComponent a sh:ConstraintComponent;
                                             sh:description "Calendar month/day combination is invalid.";
                                             sh:labelTemplate "Calendar month/day combination is invalid.";
                                             sh:name "MonthDay";
                                             sh:nodeValidator constraintShapes:MonthDayValidator;
                                             sh:parameter constraintShapes:MonthDay.monthDayLeapYear.
constraintShapes:MonthDayValidator a sh:SPARQLSelectValidator;
                                   sh:message "Calendar month/day combination is invalid.";
                                   sh:select """
                                                 PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                 PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                 SELECT $this
                                                 WHERE {
                                                     BIND($monthDayLeapYear AS ?year)
                                                     BIND(xsd:integer(SUBSTR(STR($this), 3, 2)) AS ?month)
                                                     BIND(xsd:integer(SUBSTR(STR($this), 6, 2)) AS ?day)
                                                     BIND(IF(?month = 2, IF((?year - FLOOR(?year / 4) * 4 = 0) && ((?year - FLOOR(?year / 100) * 100 != 0) || (?year - FLOOR(?year / 400) * 400 = 0)),
                                                         29, 28), IF(?month IN (4,6,9,11), 30, 31)) AS ?days)
                                                     FILTER(?year = 0 || ?day > ?days)
                                                 }
                                             """.
constraintShapes:NoWhitespace.noWhitespace a sh:Parameter;
                                           sh:datatype xsd:boolean;
                                           sh:name "noWhitespace";
                                           sh:path constraintParameters:noWhitespace.
constraintShapes:NoWhitespaceConstraintComponent a sh:ConstraintComponent;
                                                 sh:description "Primitive lexical values must not contain whitespace.";
                                                 sh:labelTemplate "Primitive lexical values must not contain whitespace.";
                                                 sh:name "NoWhitespace";
                                                 sh:nodeValidator constraintShapes:NoWhitespaceValidator;
                                                 sh:parameter constraintShapes:NoWhitespace.noWhitespace.
constraintShapes:NoWhitespaceValidator a sh:SPARQLSelectValidator;
                                       sh:message "Primitive lexical values must not contain whitespace.";
                                       sh:select """
                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                     SELECT $this
                                                     WHERE {
                                                         FILTER($noWhitespace && REGEX(STR($this), \"[ \\\\t\\\\r\\\\n]\"))
                                                     }
                                                 """.
constraintShapes:Precision3.precision3Pattern a sh:Parameter;
                                              sh:datatype xsd:string;
                                              sh:name "precision3Pattern";
                                              sh:path constraintParameters:precision3Pattern.
constraintShapes:Precision3ConstraintComponent a sh:ConstraintComponent;
                                               sh:description "Fractional seconds must be representable in whole milliseconds.";
                                               sh:labelTemplate "Fractional seconds must be representable in whole milliseconds.";
                                               sh:name "Precision3";
                                               sh:nodeValidator constraintShapes:Precision3Validator;
                                               sh:parameter constraintShapes:Precision3.precision3Pattern.
constraintShapes:Precision3Validator a sh:SPARQLSelectValidator;
                                     sh:message "Fractional seconds must be representable in whole milliseconds.";
                                     sh:select """
                                                   PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                   PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                   SELECT $this
                                                   WHERE {
                                                       FILTER(REGEX(STR($this), $precision3Pattern))
                                                   }
                                               """.
constraintShapes:Precision6.precision6Pattern a sh:Parameter;
                                              sh:datatype xsd:string;
                                              sh:name "precision6Pattern";
                                              sh:path constraintParameters:precision6Pattern.
constraintShapes:Precision6ConstraintComponent a sh:ConstraintComponent;
                                               sh:description "Fractional seconds must be representable in whole microseconds.";
                                               sh:labelTemplate "Fractional seconds must be representable in whole microseconds.";
                                               sh:name "Precision6";
                                               sh:nodeValidator constraintShapes:Precision6Validator;
                                               sh:parameter constraintShapes:Precision6.precision6Pattern.
constraintShapes:Precision6Validator a sh:SPARQLSelectValidator;
                                     sh:message "Fractional seconds must be representable in whole microseconds.";
                                     sh:select """
                                                   PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                   PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                   SELECT $this
                                                   WHERE {
                                                       FILTER(REGEX(STR($this), $precision6Pattern))
                                                   }
                                               """.
constraintShapes:Query0E03746733C892CDD5C209D11A03EC13691B2A362BB7E76F127F62DD22DBDE24 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#appendFiles>|<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query0FB0978B5AC212945D23428A5C2B43BAA32ED82118641A93E7203FC04D8DE3A0 a sh:SPARQLConstraint;
                                                                                       sh:message "Value is outside the declared enumeration.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER(STR($this) NOT IN (\"Text\", \"Numeric\", \"Boolean\", \"Date-Time\", \"Factor\"))
                                                                                                     }
                                                                                                 """.
constraintShapes:Query1A52A131FC6410939DA530A10F7AF34E8D93B79BB8063F6CC6822AAFF0C8F504 a sh:SPARQLConstraint;
                                                                                       sh:message "Composite containment must be acyclic.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         $this (<https://rdf-vocabulary.ddialliance.org/sdtl#argumentValue>|<https://rdf-vocabulary.ddialliance.org/sdtl#arguments>|<https://rdf-vocabulary.ddialliance.org/sdtl#computedVariableName>|<https://rdf-vocabulary.ddialliance.org/sdtl#expression>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeEnd>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeIncrement>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeStart>|<https://rdf-vocabulary.ddialliance.org/sdtl#values>|<https://rdf-vocabulary.ddialliance.org/sdtl#variables>)+ $this .
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query1F6B627E37217E80830132CFD90DE0E402349055EB231821D75917FEC66B2624 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#aggregateVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#appendFiles>|<https://rdf-vocabulary.ddialliance.org/sdtl#argumentValue>|<https://rdf-vocabulary.ddialliance.org/sdtl#arguments>|<https://rdf-vocabulary.ddialliance.org/sdtl#columnDimensions>|<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#computedVariableName>|<https://rdf-vocabulary.ddialliance.org/sdtl#condition>|<https://rdf-vocabulary.ddialliance.org/sdtl#consumesDataframe>|<https://rdf-vocabulary.ddialliance.org/sdtl#dropCasesCondition>|<https://rdf-vocabulary.ddialliance.org/sdtl#dropVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#endCondition>|<https://rdf-vocabulary.ddialliance.org/sdtl#expression>|<https://rdf-vocabulary.ddialliance.org/sdtl#fromValue>|<https://rdf-vocabulary.ddialliance.org/sdtl#groupByVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#idVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#indexValues>|<https://rdf-vocabulary.ddialliance.org/sdtl#iteratorSymbolName>|<https://rdf-vocabulary.ddialliance.org/sdtl#iteratorValues>|<https://rdf-vocabulary.ddialliance.org/sdtl#iterators>|<https://rdf-vocabulary.ddialliance.org/sdtl#keepCasesCondition>|<https://rdf-vocabulary.ddialliance.org/sdtl#keepVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#makeItems>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeByNames>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeByVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeFiles>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeEnd>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeIncrement>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeStart>|<https://rdf-vocabulary.ddialliance.org/sdtl#producesDataframe>|<https://rdf-vocabulary.ddialliance.org/sdtl#rowDimensions>|<https://rdf-vocabulary.ddialliance.org/sdtl#rules>|<https://rdf-vocabulary.ddialliance.org/sdtl#sortCriteria>|<https://rdf-vocabulary.ddialliance.org/sdtl#sourceVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#values>|<https://rdf-vocabulary.ddialliance.org/sdtl#variable>|<https://rdf-vocabulary.ddialliance.org/sdtl#variables>|<https://rdf-vocabulary.ddialliance.org/sdtl#weightVariable>|<https://rdf-vocabulary.ddialliance.org/sdtl#weighting>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query2AB1FF1950C6E44EAF38A19DCC425B78801E3A6CC9D80C89FE2DDDD7556F4732 a sh:SPARQLConstraint;
                                                                                       sh:message "A subject using a model predicate must declare a concrete model type.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         ?value ?path ?object .
                                                                                                         FILTER(STRSTARTS(STR(?path), \"https://rdf-vocabulary.ddialliance.org/sdtl#\"))
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?value rdf:type ?type .
                                                                                                             FILTER(?type IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Aggregate>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#AllNumericVariablesExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#AllTextVariablesExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#AllVariablesExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#Analysis>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#AppendDatasets>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#AppendFileDescription>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#BooleanConstantExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#Collapse>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#Comment>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#CompositeVariableNameExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#Compute>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#DataframeDescription>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#DateTimeConstant>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#DoIf>, <https://rdf-vocabulary.ddialliance.org/sdtl#DropCases>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#DropVariables>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#Execute>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#FunctionArgument>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#FunctionCallExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#GroupedExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#IfRows>, <https://rdf-vocabulary.ddialliance.org/sdtl#Invalid>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#IteratorDescription>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#IteratorSymbolExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#KeepCases>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#KeepVariables>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#Load>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#LoopOverList>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#LoopWhile>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#MergeDatasets>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#MergeFileDescription>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#Message>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#MissingValueConstantExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#NewDataframe>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#NoTransformOp>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#NumberRangeExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#NumericConstantExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#NumericMaximumValueExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#NumericMinimumValueExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#Program>, <https://rdf-vocabulary.ddialliance.org/sdtl#Recode>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#RecodeRule>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#RecodeVariable>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#Rename>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#RenamePair>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#ReshapeItemDescription>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#ReshapeLong>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#ReshapeWide>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#Save>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#SetDataType>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#SetDatasetProperty>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#SetDisplayFormat>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#SetMissingValues>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#SetValueLabels>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#SetVariableLabel>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#SortCases>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#SortCriterion>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#SourceInformation>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#StringConstantExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#StringRangeExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#TimeDurationConstant>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#UnhandledValuesExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#Unsupported>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#ValueLabel>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#ValueListExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#VariableListExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#VariableRangeExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#VariableSymbolExpression>,
                                                                                                                 <https://rdf-vocabulary.ddialliance.org/sdtl#Weight>))
                                                                                                         }
                                                                                                     }
                                                                                                 """.
constraintShapes:Query2E25836B9AB1073346A63C77FB6EA6BF40778783CABF38A212ABEAC393E735E7 a sh:SPARQLConstraint;
                                                                                       sh:message "Value is outside the declared enumeration.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER(STR($this) NOT IN (\"Integer\", \"Real\"))
                                                                                                     }
                                                                                                 """.
constraintShapes:Query3DAA6A1548E0EE22EC76D7E21D4840D8E462A40683A3BBBE0CC897E3B1E9EB03 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#messages>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query41E93E1AE695FAEB7CEE8C3989FD92144D3A286F2BC60613A29E4065A70672A9 a sh:SPARQLConstraint;
                                                                                       sh:message "Value is outside the declared enumeration.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER(STR($this) NOT IN (\"frequency\", \"probability\", \"Stata_aweight\", \"Stata_iweight\"))
                                                                                                     }
                                                                                                 """.
constraintShapes:Query43529A7EAE9ADF1CB43675E70BF88F9CB548B78D5A1E1E5B4D207FAF6EFB3F21 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#sortCriteria>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query4542A6316B4E1BFC60610FDA1CA3F264107E9F8D45FBEB3923091B39DDD9E0E2 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#recodedVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query484BBDA9CBD5C39ADE662882C48C5516433E6C016622823951C0BA48F527603C a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#messages>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#aggregateVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#sourceInformation>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query498DE822A4536EBE0CF24566F9A6D68FA1594625ECE4C9F5CBA1798E27EE750D a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#iterators>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#aggregateVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#appendFiles>|<https://rdf-vocabulary.ddialliance.org/sdtl#argumentValue>|<https://rdf-vocabulary.ddialliance.org/sdtl#arguments>|<https://rdf-vocabulary.ddialliance.org/sdtl#columnDimensions>|<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#computedVariableName>|<https://rdf-vocabulary.ddialliance.org/sdtl#condition>|<https://rdf-vocabulary.ddialliance.org/sdtl#consumesDataframe>|<https://rdf-vocabulary.ddialliance.org/sdtl#dropCasesCondition>|<https://rdf-vocabulary.ddialliance.org/sdtl#dropVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#endCondition>|<https://rdf-vocabulary.ddialliance.org/sdtl#expression>|<https://rdf-vocabulary.ddialliance.org/sdtl#fromValue>|<https://rdf-vocabulary.ddialliance.org/sdtl#groupByVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#idVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#indexValues>|<https://rdf-vocabulary.ddialliance.org/sdtl#iteratorValues>|<https://rdf-vocabulary.ddialliance.org/sdtl#iterators>|<https://rdf-vocabulary.ddialliance.org/sdtl#keepCasesCondition>|<https://rdf-vocabulary.ddialliance.org/sdtl#keepVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#makeItems>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeByNames>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeByVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeFiles>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeEnd>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeIncrement>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeStart>|<https://rdf-vocabulary.ddialliance.org/sdtl#producesDataframe>|<https://rdf-vocabulary.ddialliance.org/sdtl#rowDimensions>|<https://rdf-vocabulary.ddialliance.org/sdtl#rules>|<https://rdf-vocabulary.ddialliance.org/sdtl#sortCriteria>|<https://rdf-vocabulary.ddialliance.org/sdtl#sourceVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#values>|<https://rdf-vocabulary.ddialliance.org/sdtl#variable>|<https://rdf-vocabulary.ddialliance.org/sdtl#variables>|<https://rdf-vocabulary.ddialliance.org/sdtl#weightVariable>|<https://rdf-vocabulary.ddialliance.org/sdtl#weighting>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query5CA407172E25E0827936ABA0BB672704BAF8A74D15C472C3D0AC90C9738D10E3 a sh:SPARQLConstraint;
                                                                                       sh:message "Value is outside the declared enumeration.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER(STR($this) NOT IN (\"csv\", \"txt\", \"dat\", \"xls\", \"xlsx\", \"sav\", \"dta\", \"sas7bdat\", \"rds\", \"rdata\"))
                                                                                                     }
                                                                                                 """.
constraintShapes:Query5ED8B9181CE5C09BD3D2147D07EF3EF9CEBD4DC674F9F9AB32DA8BC12DC742B7 a sh:SPARQLConstraint;
                                                                                       sh:message "Value is outside the declared enumeration.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER(STR($this) NOT IN (\"Master\", \"Ignore\", \"FillNew\", \"UpdateMissing\", \"Replace\"))
                                                                                                     }
                                                                                                 """.
constraintShapes:Query69591A155E89BC767DE95ECDFD1AA9315F705B6BB5FBB2BA163A4185DE825FBE a sh:SPARQLConstraint;
                                                                                       sh:message "Value is outside the declared enumeration.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER(STR($this) NOT IN (\"Stata\"))
                                                                                                     }
                                                                                                 """.
constraintShapes:Query76D8D9FBF048043A8C562AA5AC56A27D489487AC968EA77A7F3A4BE7997D35B3 a sh:SPARQLConstraint;
                                                                                       sh:message "Composite containment must be acyclic.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         $this (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)+ $this .
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query797B00E709B65D52D30F8434F28B4C74DD210BFEA3BB081319FAD469FD40A957 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#aggregateVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#consumesDataframe>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#producesDataframe>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query7D422ED6D971A3195212E33F586ADB26AE8B798C7F0832F0E5D18EF54E1E795F a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#aggregateVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#appendFiles>|<https://rdf-vocabulary.ddialliance.org/sdtl#argumentValue>|<https://rdf-vocabulary.ddialliance.org/sdtl#arguments>|<https://rdf-vocabulary.ddialliance.org/sdtl#columnDimensions>|<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#computedVariableName>|<https://rdf-vocabulary.ddialliance.org/sdtl#condition>|<https://rdf-vocabulary.ddialliance.org/sdtl#consumesDataframe>|<https://rdf-vocabulary.ddialliance.org/sdtl#dropCasesCondition>|<https://rdf-vocabulary.ddialliance.org/sdtl#dropVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#endCondition>|<https://rdf-vocabulary.ddialliance.org/sdtl#expression>|<https://rdf-vocabulary.ddialliance.org/sdtl#fromValue>|<https://rdf-vocabulary.ddialliance.org/sdtl#groupByVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#idVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#indexValues>|<https://rdf-vocabulary.ddialliance.org/sdtl#iteratorValues>|<https://rdf-vocabulary.ddialliance.org/sdtl#iterators>|<https://rdf-vocabulary.ddialliance.org/sdtl#keepCasesCondition>|<https://rdf-vocabulary.ddialliance.org/sdtl#keepVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#makeItems>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeByNames>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeByVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeFiles>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeEnd>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeIncrement>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeStart>|<https://rdf-vocabulary.ddialliance.org/sdtl#producesDataframe>|<https://rdf-vocabulary.ddialliance.org/sdtl#recodedVariableRange>|<https://rdf-vocabulary.ddialliance.org/sdtl#rowDimensions>|<https://rdf-vocabulary.ddialliance.org/sdtl#rules>|<https://rdf-vocabulary.ddialliance.org/sdtl#sortCriteria>|<https://rdf-vocabulary.ddialliance.org/sdtl#sourceVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#values>|<https://rdf-vocabulary.ddialliance.org/sdtl#variable>|<https://rdf-vocabulary.ddialliance.org/sdtl#variables>|<https://rdf-vocabulary.ddialliance.org/sdtl#weightVariable>|<https://rdf-vocabulary.ddialliance.org/sdtl#weighting>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query8F913CDA25B8AC87BE7E6040246E15D2255BC4B1B24D99713C4A47253F3C2532 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#aggregateVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:Query9E09428BF7C17790197B504657AB1082AF3684D382B851F6906DAE6B2AE32A78 a sh:SPARQLConstraint;
                                                                                       sh:message "Value is outside the declared enumeration.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER(STR($this) NOT IN (\"SPSS\"))
                                                                                                     }
                                                                                                 """.
constraintShapes:QueryAB3C73D4A048E35BDF55D82CE50B268B714C317E77663A18C3EC2918328F68C7 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#appendFiles>|<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeFiles>|<https://rdf-vocabulary.ddialliance.org/sdtl#renameVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#renames>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:QueryAED401EF4E3470BB74DE4F51814C295D0C653ED646B2A80E4D3E41CF1DB94943 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#weighting>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:QueryB28E3CD8A3E36B3DDEAB141425510BC4AE525E288F48F1A4E6A1C83568A1951C a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeFiles>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:QueryC7FD861DC856805D5A32068E55BBBC8B03499BE22CCD69D00E76CC82A8E2008B a sh:SPARQLConstraint;
                                                                                       sh:message "Value is outside the declared enumeration.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER(STR($this) NOT IN (\"Sequential\", \"OneToOne\", \"ManyToOne\", \"OneToMany\", \"Cartesian\", \"Unmatched\",
                                                                                                             \"SASmatchMerge\"))
                                                                                                     }
                                                                                                 """.
constraintShapes:QueryCFE92FB8358A224E76BAC40172CCDD3D677927DAB204F890B07533B31B738165 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#rules>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:QueryD289095DEFA2516796159A6E0CF07AF77CF94CD50D2B910C47869322E6E65648 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#makeItems>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:QueryDB493B7BB281165C1FBF3039E8D49E5F8021F3AF877600CD8F8FC37B01538F88 a sh:SPARQLConstraint;
                                                                                       sh:message "Unknown model rdf:type.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         ?value rdf:type ?path .
                                                                                                         FILTER(STRSTARTS(STR(?path), \"https://rdf-vocabulary.ddialliance.org/sdtl#\") && ?path NOT IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Aggregate>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#AllNumericVariablesExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#AllTextVariablesExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#AllVariablesExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#Analysis>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#AppendDatasets>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#AppendFileDescription>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#BooleanConstantExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#Collapse>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#CommandBase>, <https://rdf-vocabulary.ddialliance.org/sdtl#Comment>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#CompositeVariableNameExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#Compute>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#DataframeDescription>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#DateTimeConstant>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#DoIf>, <https://rdf-vocabulary.ddialliance.org/sdtl#DropCases>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#DropVariables>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#Execute>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#ExpressionBase>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#FunctionArgument>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#FunctionCallExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#GroupedExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#IfRows>, <https://rdf-vocabulary.ddialliance.org/sdtl#InformBase>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#Invalid>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#IteratorDescription>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#IteratorSymbolExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#KeepCases>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#KeepVariables>, <https://rdf-vocabulary.ddialliance.org/sdtl#Load>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#LoopOverList>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#LoopWhile>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#MergeDatasets>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#MergeFileDescription>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#Message>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#MissingValueConstantExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#NewDataframe>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#NoTransformOp>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#NumberRangeExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#NumericConstantExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#NumericMaximumValueExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#NumericMinimumValueExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#Program>, <https://rdf-vocabulary.ddialliance.org/sdtl#Recode>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#RecodeRule>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#RecodeVariable>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#Rename>, <https://rdf-vocabulary.ddialliance.org/sdtl#RenamePair>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#ReshapeItemDescription>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#ReshapeLong>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#ReshapeWide>, <https://rdf-vocabulary.ddialliance.org/sdtl#Save>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#SetDataType>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#SetDatasetProperty>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#SetDisplayFormat>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#SetMissingValues>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#SetValueLabels>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#SetVariableLabel>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#SortCases>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#SortCriterion>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#SourceInformation>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#StringConstantExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#StringRangeExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#TimeDurationConstant>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#TransformBase>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#UnhandledValuesExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#Unsupported>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#ValueLabel>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#ValueListExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#VariableListExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#VariableRangeExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#VariableReferenceBase>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#VariableSymbolExpression>,
                                                                                                             <https://rdf-vocabulary.ddialliance.org/sdtl#Weight>))
                                                                                                     }
                                                                                                 """.
constraintShapes:QueryE0D38A36D09226C2625C3B3D325E48096D8BF89B9B96A7CFD8FA184D7F06E2B4 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#aggregateVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#appendFiles>|<https://rdf-vocabulary.ddialliance.org/sdtl#argumentValue>|<https://rdf-vocabulary.ddialliance.org/sdtl#arguments>|<https://rdf-vocabulary.ddialliance.org/sdtl#columnDimensions>|<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#computedVariableName>|<https://rdf-vocabulary.ddialliance.org/sdtl#condition>|<https://rdf-vocabulary.ddialliance.org/sdtl#consumesDataframe>|<https://rdf-vocabulary.ddialliance.org/sdtl#dropCasesCondition>|<https://rdf-vocabulary.ddialliance.org/sdtl#dropVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#endCondition>|<https://rdf-vocabulary.ddialliance.org/sdtl#expression>|<https://rdf-vocabulary.ddialliance.org/sdtl#fromValue>|<https://rdf-vocabulary.ddialliance.org/sdtl#groupByVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#idVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#indexValues>|<https://rdf-vocabulary.ddialliance.org/sdtl#iteratorValues>|<https://rdf-vocabulary.ddialliance.org/sdtl#iterators>|<https://rdf-vocabulary.ddialliance.org/sdtl#keepCasesCondition>|<https://rdf-vocabulary.ddialliance.org/sdtl#keepVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#makeItems>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeByNames>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeByVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#mergeFiles>|<https://rdf-vocabulary.ddialliance.org/sdtl#newVariable>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeEnd>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeIncrement>|<https://rdf-vocabulary.ddialliance.org/sdtl#numberRangeStart>|<https://rdf-vocabulary.ddialliance.org/sdtl#oldVariable>|<https://rdf-vocabulary.ddialliance.org/sdtl#producesDataframe>|<https://rdf-vocabulary.ddialliance.org/sdtl#renameVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#renames>|<https://rdf-vocabulary.ddialliance.org/sdtl#rowDimensions>|<https://rdf-vocabulary.ddialliance.org/sdtl#rules>|<https://rdf-vocabulary.ddialliance.org/sdtl#sortCriteria>|<https://rdf-vocabulary.ddialliance.org/sdtl#sourceVariables>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#values>|<https://rdf-vocabulary.ddialliance.org/sdtl#variable>|<https://rdf-vocabulary.ddialliance.org/sdtl#variables>|<https://rdf-vocabulary.ddialliance.org/sdtl#weightVariable>|<https://rdf-vocabulary.ddialliance.org/sdtl#weighting>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:QueryE58489AA1ED074C6ADB44CB8150736F4649781CC563825F8F3F0B80D786810C8 a sh:SPARQLConstraint;
                                                                                       sh:message "A composite must be reachable from a concrete item.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER NOT EXISTS {
                                                                                                             ?item rdf:type ?itemType .
                                                                                                             FILTER(?itemType IN (<https://rdf-vocabulary.ddialliance.org/sdtl#Program>)) ?item (<https://rdf-vocabulary.ddialliance.org/sdtl#commands>)/(<https://rdf-vocabulary.ddialliance.org/sdtl#commands>|<https://rdf-vocabulary.ddialliance.org/sdtl#elseCommands>|<https://rdf-vocabulary.ddialliance.org/sdtl#labels>|<https://rdf-vocabulary.ddialliance.org/sdtl#thenCommands>)* $this
                                                                                                         }
                                                                                                         BIND($this AS ?value)
                                                                                                     }
                                                                                                 """.
constraintShapes:QueryED0754F7BFF04700A556098B31CC2EB3578E0CC7F251559004DCB989D1A93A68 a sh:SPARQLConstraint;
                                                                                       sh:message "Value is outside the declared enumeration.";
                                                                                       sh:select """
                                                                                                     PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                                                                     PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                                                                     SELECT $this ?path ?value
                                                                                                     WHERE {
                                                                                                         FILTER(STR($this) NOT IN (\"Ascending\", \"Descending\"))
                                                                                                     }
                                                                                                 """.
constraintShapes:XmlText.xmlText a sh:Parameter;
                                 sh:datatype xsd:boolean;
                                 sh:name "xmlText";
                                 sh:path constraintParameters:xmlText.
constraintShapes:XmlTextConstraintComponent a sh:ConstraintComponent;
                                            sh:description "Text must contain only XML 1.0 Unicode characters.";
                                            sh:labelTemplate "Text must contain only XML 1.0 Unicode characters.";
                                            sh:name "XmlText";
                                            sh:nodeValidator constraintShapes:XmlTextValidator;
                                            sh:parameter constraintShapes:XmlText.xmlText.
constraintShapes:XmlTextValidator a sh:SPARQLSelectValidator;
                                  sh:message "Text must contain only XML 1.0 Unicode characters.";
                                  sh:select """
                                                PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
                                                PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                                                SELECT $this
                                                WHERE {
                                                    FILTER($xmlText && REGEX(STR($this), \"[\\u0000-\\b\\u000B\\f\\u000E-\\u001F\\uFFFE\\uFFFF]\"))
                                                }
                                            """.
declarationShapes:Aggregate a sh:NodeShape;
                            sh:description """An aggregation summarizes data using aggregation functions applied to data that may be grouped\r
by one or more variables. The resulting summary data is added to each row of the\r
existing dataset.  See the aggregation functions in the Function Library.\r
""";
                            sh:name "Aggregate";
                            sh:node declarationShapes:TransformBase;
                            sh:property propertyShapes:Aggregate.GroupByVariables,
                                        propertyShapes:Aggregate.AggregateVariables,
                                        propertyShapes:Aggregate.Weighting;
                            sh:targetClass sdtl:Aggregate.
declarationShapes:AllNumericVariablesExpression a sh:NodeShape;
                                                sh:description """An expression that represents all numeric variables in the dataset, similar to `_all` in SPSS or Stata.\r
""";
                                                sh:name "AllNumericVariablesExpression";
                                                sh:node declarationShapes:VariableReferenceBase;
                                                sh:targetClass sdtl:AllNumericVariablesExpression.
declarationShapes:AllTextVariablesExpression a sh:NodeShape;
                                             sh:description """An expression that represents all text variables in the dataset, similar to `_all` in SPSS or Stata.\r
""";
                                             sh:name "AllTextVariablesExpression";
                                             sh:node declarationShapes:VariableReferenceBase;
                                             sh:targetClass sdtl:AllTextVariablesExpression.
declarationShapes:AllVariablesExpression a sh:NodeShape;
                                         sh:description """An expression that represents all variables in the dataset, similar to `_all` in SPSS or Stata.\r
""";
                                         sh:name "AllVariablesExpression";
                                         sh:node declarationShapes:VariableReferenceBase;
                                         sh:targetClass sdtl:AllVariablesExpression.
declarationShapes:Analysis a sh:NodeShape;
                           sh:description """Describes an analysis command. An analysis command does not result in any data transformation.\r
""";
                           sh:name "Analysis";
                           sh:node declarationShapes:InformBase;
                           sh:targetClass sdtl:Analysis.
declarationShapes:AppendDatasets a sh:NodeShape;
                                 sh:description """Combines datasets by concatenation for datasets with the same or overlapping variables.  \r
""";
                                 sh:name "AppendDatasets";
                                 sh:node declarationShapes:TransformBase;
                                 sh:property propertyShapes:AppendDatasets.AppendFiles,
                                             propertyShapes:AppendDatasets.AppendFlagVariable;
                                 sh:targetClass sdtl:AppendDatasets.
declarationShapes:AppendFileDescription a sh:NodeShape;
                                        sh:description """Describes files used in an AppendDatasets command.\r
""";
                                        sh:name "AppendFileDescription";
                                        sh:property propertyShapes:AppendFileDescription.FileName,
                                                    propertyShapes:AppendFileDescription.RenameVariables,
                                                    propertyShapes:AppendFileDescription.KeepVariables,
                                                    propertyShapes:AppendFileDescription.DropVariables,
                                                    propertyShapes:AppendFileDescription.KeepCasesCondition,
                                                    propertyShapes:AppendFileDescription.DropCasesCondition,
                                                    propertyShapes:AppendFileDescription.Software,
                                                    propertyShapes:AppendFileDescription.FileFormat,
                                                    propertyShapes:AppendFileDescription.IsCompressed;
                                        sh:targetClass sdtl:AppendFileDescription.
declarationShapes:BooleanConstantExpression a sh:NodeShape;
                                            sh:description """BooleanConstantExpression takes values of TRUE and FALSE.\r
""";
                                            sh:name "BooleanConstantExpression";
                                            sh:node declarationShapes:ExpressionBase;
                                            sh:property propertyShapes:BooleanConstantExpression.BooleanValue;
                                            sh:targetClass sdtl:BooleanConstantExpression.
declarationShapes:Collapse a sh:NodeShape;
                           sh:description """A collapse command summarizes data using aggregation functions applied to data\r
that may be grouped by one or more variables. The resulting summary data is\r
represented in a new dataset.  See the collapse functions in the Function Library.   \r
   \r
The details of implementation of caseWise and columnWise exclusion vary in each statistical package.  The source language is indicated in this property for reference.   """;
                           sh:name "Collapse";
                           sh:node declarationShapes:TransformBase;
                           sh:property propertyShapes:Collapse.OutputDatasetName,
                                       propertyShapes:Collapse.GroupByVariables,
                                       propertyShapes:Collapse.AggregateVariables,
                                       propertyShapes:Collapse.Weighting,
                                       propertyShapes:Collapse.CaseWise,
                                       propertyShapes:Collapse.ColumnWise;
                           sh:targetClass sdtl:Collapse.
declarationShapes:CommandBase a sh:NodeShape;
                              sh:description """CommandBase defines general properties available to all commands.\r
""";
                              sh:name "CommandBase";
                              sh:property propertyShapes:CommandBase.Command,
                                          propertyShapes:CommandBase.SourceInformation,
                                          propertyShapes:CommandBase.MessageText;
                              sh:targetClass sdtl:CommandBase.
declarationShapes:Comment a sh:NodeShape;
                          sh:description """Describes a source code comment.  Comments should not include special characters.  \r
""";
                          sh:name "Comment";
                          sh:node declarationShapes:InformBase;
                          sh:property propertyShapes:Comment.CommentText;
                          sh:targetClass sdtl:Comment.
declarationShapes:CompositeVariableNameExpression a sh:NodeShape;
                                                  sh:description """A composite variable name is used to describe a variable name that is computed.\r
""";
                                                  sh:name "CompositeVariableNameExpression";
                                                  sh:node declarationShapes:VariableReferenceBase;
                                                  sh:property propertyShapes:CompositeVariableNameExpression.ComputedVariableName;
                                                  sh:targetClass sdtl:CompositeVariableNameExpression.
declarationShapes:Compute a sh:NodeShape;
                          sh:description "Assigns the value of an expression to a variable.  ";
                          sh:name "Compute";
                          sh:node declarationShapes:TransformBase;
                          sh:property propertyShapes:Compute.Variable,
                                      propertyShapes:Compute.Expression;
                          sh:targetClass sdtl:Compute.
declarationShapes:DataframeDescription a sh:NodeShape;
                                       sh:description """Provides a name for the dataframe and an ordered list of variables (optional).   \r
""";
                                       sh:name "DataframeDescription";
                                       sh:property propertyShapes:DataframeDescription.DataframeName,
                                                   propertyShapes:DataframeDescription.VariableInventory,
                                                   propertyShapes:DataframeDescription.RowDimensions,
                                                   propertyShapes:DataframeDescription.RowDimensions.list,
                                                   propertyShapes:DataframeDescription.ColumnDimensions,
                                                   propertyShapes:DataframeDescription.ColumnDimensions.list;
                                       sh:targetClass sdtl:DataframeDescription.
declarationShapes:DateTimeConstant a sh:NodeShape;
                                   sh:description """A date-time constant expressed in ISO 8601 format.\r
""";
                                   sh:name "DateTimeConstant";
                                   sh:node declarationShapes:ExpressionBase;
                                   sh:property propertyShapes:DateTimeConstant.DateTimeValue;
                                   sh:targetClass sdtl:DateTimeConstant.
declarationShapes:DoIf a sh:NodeShape;
                       sh:description """A set of commands that are performed when a logical expression is true.  May also include ElseCommands to be performed if the logical expression is false.  The commands in DoIf are performed once, and it expects a logical condition that applies to the entire dataframe.  Use IfRows for commands that are performed on each row depending upon values on those rows. \r
""";
                       sh:name "DoIf";
                       sh:node declarationShapes:TransformBase;
                       sh:property propertyShapes:DoIf.Condition,
                                   propertyShapes:DoIf.ThenCommands,
                                   propertyShapes:DoIf.ElseCommands;
                       sh:targetClass sdtl:DoIf.
declarationShapes:DropCases a sh:NodeShape;
                            sh:description """Rows that match the selection condition are deleted from the dataset.  \r
""";
                            sh:name "DropCases";
                            sh:node declarationShapes:TransformBase;
                            sh:property propertyShapes:DropCases.Condition;
                            sh:targetClass sdtl:DropCases.
declarationShapes:DropVariables a sh:NodeShape;
                                sh:description """Deletes variables from the data.\r
""";
                                sh:name "DropVariables";
                                sh:node declarationShapes:TransformBase;
                                sh:property propertyShapes:DropVariables.Variables;
                                sh:targetClass sdtl:DropVariables.
declarationShapes:Execute a sh:NodeShape;
                          sh:description """This command causes the system to execute preceding commands before continuing to process the command script.\r
""";
                          sh:name "Execute";
                          sh:node declarationShapes:TransformBase;
                          sh:targetClass sdtl:Execute.
declarationShapes:ExpressionBase a sh:NodeShape;
                                 sh:description """The SDTL types in  ExpressionBase are used in expressions, which may be numeric, text or logical. \r
""";
                                 sh:name "ExpressionBase";
                                 sh:targetClass sdtl:ExpressionBase.
declarationShapes:FunctionArgument a sh:NodeShape;
                                   sh:description """Describes the arguments in a function as specified in the SDTL Function Library.   \r
Notes:\r
1. The argumentName property must always be present.   \r
2. The argumentValue property is required, and it must be a single object.  When the argumentValue is a list of items in the source language, the ValueListExpression or VariableListExpression should be used. """;
                                   sh:name "FunctionArgument";
                                   sh:property propertyShapes:FunctionArgument.ArgumentName,
                                               propertyShapes:FunctionArgument.ArgumentValue;
                                   sh:targetClass sdtl:FunctionArgument.
declarationShapes:FunctionCallExpression a sh:NodeShape;
                                         sh:description "An expression evaluated by reference to the Function Library.";
                                         sh:name "FunctionCallExpression";
                                         sh:node declarationShapes:ExpressionBase;
                                         sh:property propertyShapes:FunctionCallExpression.Function,
                                                     propertyShapes:FunctionCallExpression.IsSdtlName,
                                                     propertyShapes:FunctionCallExpression.Arguments,
                                                     propertyShapes:FunctionCallExpression.Arguments.list;
                                         sh:targetClass sdtl:FunctionCallExpression.
declarationShapes:GroupedExpression a sh:NodeShape;
                                    sh:description """A group of expressions to be evaluated before expressions outside of the group.  Used to control the order of operations in a formula.\r
""";
                                    sh:name "GroupedExpression";
                                    sh:node declarationShapes:ExpressionBase;
                                    sh:property propertyShapes:GroupedExpression.Expression;
                                    sh:targetClass sdtl:GroupedExpression.
declarationShapes:IfRows a sh:NodeShape;
                         sh:description """A set of commands that are performed on each row in the dataframe when a logical expression is true for that row.  May also include ElseCommands to be performed if the logical expression is false.  Use DoIf for a logical condition that applies to the entire dataframe and commands that are performed once.  \r
""";
                         sh:name "IfRows";
                         sh:node declarationShapes:TransformBase;
                         sh:property propertyShapes:IfRows.Condition,
                                     propertyShapes:IfRows.ThenCommands,
                                     propertyShapes:IfRows.ElseCommands;
                         sh:targetClass sdtl:IfRows.
declarationShapes:InformBase a sh:NodeShape;
                             sh:description """InformBase includes information elements that do not transform data.\r
""";
                             sh:name "InformBase";
                             sh:node declarationShapes:CommandBase;
                             sh:targetClass sdtl:InformBase.
declarationShapes:Invalid a sh:NodeShape;
                          sh:description """Describes an invalid command. A command is invalid if it uses incorrect syntax, or is otherwise not allowed by the executing system.\r
""";
                          sh:name "Invalid";
                          sh:node declarationShapes:InformBase;
                          sh:property propertyShapes:Invalid.ProblemDescription;
                          sh:targetClass sdtl:Invalid.
declarationShapes:IteratorDescription a sh:NodeShape;
                                      sh:description """Describes an iteration process consisting of an IteratorSymbolExpression and a list of values it takes.  \r
""";
                                      sh:name "IteratorDescription";
                                      sh:property propertyShapes:IteratorDescription.IteratorSymbolName,
                                                  propertyShapes:IteratorDescription.IteratorValues;
                                      sh:targetClass sdtl:IteratorDescription.
declarationShapes:IteratorSymbolExpression a sh:NodeShape;
                                           sh:description """The name of an iterator symbol used as an index in describing the actions of \r
a loop.\r
""";
                                           sh:name "IteratorSymbolExpression";
                                           sh:node declarationShapes:ExpressionBase;
                                           sh:property propertyShapes:IteratorSymbolExpression.Name;
                                           sh:targetClass sdtl:IteratorSymbolExpression.
declarationShapes:KeepCases a sh:NodeShape;
                            sh:description """Rows that match the selection condition are retained in the dataset.  Other rows are deleted.\r
""";
                            sh:name "KeepCases";
                            sh:node declarationShapes:TransformBase;
                            sh:property propertyShapes:KeepCases.Condition;
                            sh:targetClass sdtl:KeepCases.
declarationShapes:KeepVariables a sh:NodeShape;
                                sh:description """Variables to be retained in the dataset. Variables not on the list are deleted.\r
""";
                                sh:name "KeepVariables";
                                sh:node declarationShapes:TransformBase;
                                sh:property propertyShapes:KeepVariables.Variables;
                                sh:targetClass sdtl:KeepVariables.
declarationShapes:Load a sh:NodeShape;
                       sh:description """Load data from a file.\r
""";
                       sh:name "Load";
                       sh:node declarationShapes:TransformBase;
                       sh:property propertyShapes:Load.FileName,
                                   propertyShapes:Load.Software,
                                   propertyShapes:Load.FileFormat,
                                   propertyShapes:Load.IsCompressed;
                       sh:targetClass sdtl:Load.
declarationShapes:LoopOverList a sh:NodeShape;
                               sh:description """A loop creates multiple versions of a set of commands by iterating over a list of variables, numbers, or strings.  \r
""";
                               sh:name "LoopOverList";
                               sh:node declarationShapes:TransformBase;
                               sh:property propertyShapes:LoopOverList.Iterators,
                                           propertyShapes:LoopOverList.Commands,
                                           propertyShapes:LoopOverList.Updated;
                               sh:targetClass sdtl:LoopOverList.
declarationShapes:LoopWhile a sh:NodeShape;
                            sh:description "LoopWhile iterates over a set of commands under the control of one or more logical expressions.  Since the logical conditions typically depend upon values in the data, commands executed in a LoopWhile cannot be anticipated and expanded in SDTL.";
                            sh:name "LoopWhile";
                            sh:node declarationShapes:TransformBase;
                            sh:property propertyShapes:LoopWhile.Condition,
                                        propertyShapes:LoopWhile.EndCondition,
                                        propertyShapes:LoopWhile.Commands,
                                        propertyShapes:LoopWhile.Updated;
                            sh:targetClass sdtl:LoopWhile.
declarationShapes:MergeDatasets a sh:NodeShape;
                                sh:description """Merges datasets holding overlapping cases but different variables.  The merge may be controlled by keys or grouping variables.\r
""";
                                sh:name "MergeDatasets";
                                sh:node declarationShapes:TransformBase;
                                sh:property propertyShapes:MergeDatasets.MergeFiles,
                                            propertyShapes:MergeDatasets.MergeByVariables,
                                            propertyShapes:MergeDatasets.FirstVariable,
                                            propertyShapes:MergeDatasets.LastVariable;
                                sh:targetClass sdtl:MergeDatasets.
declarationShapes:MergeFileDescription a sh:NodeShape;
                                       sh:description """Describes files used in a MergeData command.\r
""";
                                       sh:name "MergeFileDescription";
                                       sh:property propertyShapes:MergeFileDescription.FileName,
                                                   propertyShapes:MergeFileDescription.MergeType,
                                                   propertyShapes:MergeFileDescription.MergeFlagVariable,
                                                   propertyShapes:MergeFileDescription.RenameVariables,
                                                   propertyShapes:MergeFileDescription.Update,
                                                   propertyShapes:MergeFileDescription.NewRow,
                                                   propertyShapes:MergeFileDescription.KeepVariables,
                                                   propertyShapes:MergeFileDescription.DropVariables,
                                                   propertyShapes:MergeFileDescription.KeepCasesCondition,
                                                   propertyShapes:MergeFileDescription.DropCasesCondition,
                                                   propertyShapes:MergeFileDescription.MergeByNames,
                                                   propertyShapes:MergeFileDescription.MergeByNames.list,
                                                   propertyShapes:MergeFileDescription.Software,
                                                   propertyShapes:MergeFileDescription.FileFormat,
                                                   propertyShapes:MergeFileDescription.IsCompressed;
                                       sh:targetClass sdtl:MergeFileDescription.
declarationShapes:Message a sh:NodeShape;
                          sh:description """Inserts message text in the SDTL file.\r
""";
                          sh:name "Message";
                          sh:node declarationShapes:InformBase;
                          sh:property propertyShapes:Message.Severity,
                                      propertyShapes:Message.LineNumber,
                                      propertyShapes:Message.CharacterPosition;
                          sh:targetClass sdtl:Message.
declarationShapes:MissingValueConstantExpression a sh:NodeShape;
                                                 sh:description """A missing value constant.  Some languages allow multiple missing value constants.\r
""";
                                                 sh:name "MissingValueConstantExpression";
                                                 sh:node declarationShapes:ExpressionBase;
                                                 sh:property propertyShapes:MissingValueConstantExpression.Value;
                                                 sh:targetClass sdtl:MissingValueConstantExpression.
declarationShapes:NewDataframe a sh:NodeShape;
                               sh:description """The NewDataframe command copies or creates a new dataframe.  It can be used in two ways.    \r
    \r
An existing dataframe can be copied to a new dataframe by using the consumesDataframe and producesDataframe properties of NewDataframe.  The new dataframe will be a \"deep\" copy in the sense used in R and Python.      \r
   \r
NewDataframe can also be used to create an empty dataframe of a specific size.  In Stata, the \"set obs #\" command will create a dataframe with a user-defined number of rows.  All values are assumed to be missing.  This may be used in simulations to preset a number of simulated observations, which are then filled with randomly generated data.\r
\r
\r
\r
""";
                               sh:name "NewDataframe";
                               sh:node declarationShapes:TransformBase;
                               sh:property propertyShapes:NewDataframe.NumberOfRows,
                                           propertyShapes:NewDataframe.NumberOfColumns;
                               sh:targetClass sdtl:NewDataframe.
declarationShapes:NoTransformOp a sh:NodeShape;
                                sh:description """NoTransformOp is used for a command in the original script that provides important information but does not have a function in SDTL.  For example, “library()” in R loads a package of R functions.  Since the Parser detects the library, the SDTL will reflect the library that is used, and commands derived from the library will be translated in the SDTL script.  However, it is useful to know which library is active for auditing the R script, even if it does not perform any data transformations.  \r
""";
                                sh:name "NoTransformOp";
                                sh:node declarationShapes:InformBase;
                                sh:targetClass sdtl:NoTransformOp.
declarationShapes:NumberRangeExpression a sh:NodeShape;
                                        sh:description """Defines a range of numeric values.\r
""";
                                        sh:name "NumberRangeExpression";
                                        sh:node declarationShapes:ExpressionBase;
                                        sh:property propertyShapes:NumberRangeExpression.NumberRangeStart,
                                                    propertyShapes:NumberRangeExpression.NumberRangeEnd,
                                                    propertyShapes:NumberRangeExpression.NumberRangeIncrement;
                                        sh:targetClass sdtl:NumberRangeExpression.
declarationShapes:NumericConstantExpression a sh:NodeShape;
                                            sh:description """A numeric constant.\r
""";
                                            sh:name "NumericConstantExpression";
                                            sh:node declarationShapes:ExpressionBase;
                                            sh:property propertyShapes:NumericConstantExpression.Value,
                                                        propertyShapes:NumericConstantExpression.NumericType;
                                            sh:targetClass sdtl:NumericConstantExpression.
declarationShapes:NumericMaximumValueExpression a sh:NodeShape;
                                                sh:description """Represents the largest numeric value supported by a system.\r
""";
                                                sh:name "NumericMaximumValueExpression";
                                                sh:node declarationShapes:ExpressionBase;
                                                sh:targetClass sdtl:NumericMaximumValueExpression.
declarationShapes:NumericMinimumValueExpression a sh:NodeShape;
                                                sh:description """Represents the smallest numeric value supported by a system.\r
""";
                                                sh:name "NumericMinimumValueExpression";
                                                sh:node declarationShapes:ExpressionBase;
                                                sh:targetClass sdtl:NumericMinimumValueExpression.
declarationShapes:Program a sh:NodeShape;
                          sh:description """The program represents a list of commands from a statistical package.\r
""";
                          sh:name "Program";
                          sh:property propertyShapes:Program.ID,
                                      propertyShapes:Program.SourceFileName,
                                      propertyShapes:Program.SourceLanguage,
                                      propertyShapes:Program.ScriptMD5,
                                      propertyShapes:Program.ScriptSHA1,
                                      propertyShapes:Program.SourceFileLastUpdate,
                                      propertyShapes:Program.SourceFileSize,
                                      propertyShapes:Program.LineCount,
                                      propertyShapes:Program.CommandCount,
                                      propertyShapes:Program.Messages,
                                      propertyShapes:Program.Parser,
                                      propertyShapes:Program.ParserVersion,
                                      propertyShapes:Program.ModelVersion,
                                      propertyShapes:Program.ModelCreatedTime,
                                      propertyShapes:Program.Commands,
                                      propertyShapes:Program.Commands.list;
                          sh:targetClass sdtl:Program.
declarationShapes:Recode a sh:NodeShape;
                         sh:description """Describes recoding values in one or more variables according to a specified mapping.\r
\r
The Recode command can either describe a recoding of one or more individual variables,\r
or a range of variables. When one or more individual variables are described, a new\r
variable name can be specified. In this case, the original variable is left alone, and\r
a new variable is created with the recoded values.\r
""";
                         sh:name "Recode";
                         sh:node declarationShapes:TransformBase;
                         sh:property propertyShapes:Recode.RecodedVariables,
                                     propertyShapes:Recode.RecodedVariableRange,
                                     propertyShapes:Recode.Rules;
                         sh:targetClass sdtl:Recode.
declarationShapes:RecodeRule a sh:NodeShape;
                             sh:description """Describes how values will be recoded.\r
""";
                             sh:name "RecodeRule";
                             sh:property propertyShapes:RecodeRule.FromValue,
                                         propertyShapes:RecodeRule.To,
                                         propertyShapes:RecodeRule.Label;
                             sh:targetClass sdtl:RecodeRule.
declarationShapes:RecodeVariable a sh:NodeShape;
                                 sh:description """Describes a variable that will have its values recoded.\r
""";
                                 sh:name "RecodeVariable";
                                 sh:property propertyShapes:RecodeVariable.Source,
                                             propertyShapes:RecodeVariable.Target;
                                 sh:targetClass sdtl:RecodeVariable.
declarationShapes:Rename a sh:NodeShape;
                         sh:description """Rename changes the names of variables.\r
""";
                         sh:name "Rename";
                         sh:node declarationShapes:TransformBase;
                         sh:property propertyShapes:Rename.Renames;
                         sh:targetClass sdtl:Rename.
declarationShapes:RenamePair a sh:NodeShape;
                             sh:description """Variable names before and after a variable is renamed.\r
""";
                             sh:name "RenamePair";
                             sh:property propertyShapes:RenamePair.OldVariable,
                                         propertyShapes:RenamePair.NewVariable;
                             sh:targetClass sdtl:RenamePair.
declarationShapes:ReshapeItemDescription a sh:NodeShape;
                                         sh:description """Descripbes a new variable created by reshaping a dataset from wide to long or vice versa.\r
""";
                                         sh:name "ReshapeItemDescription";
                                         sh:property propertyShapes:ReshapeItemDescription.TargetVariableName,
                                                     propertyShapes:ReshapeItemDescription.TargetVariableLabel,
                                                     propertyShapes:ReshapeItemDescription.SourceVariables,
                                                     propertyShapes:ReshapeItemDescription.Stub,
                                                     propertyShapes:ReshapeItemDescription.IndexValues,
                                                     propertyShapes:ReshapeItemDescription.IndexVariableName,
                                                     propertyShapes:ReshapeItemDescription.IndexVariableLabel;
                                         sh:targetClass sdtl:ReshapeItemDescription.
declarationShapes:ReshapeLong a sh:NodeShape;
                              sh:description """Creates a new dataset with multiple rows per case by assigning a set of variables in the original dataset to a single variable in the new dataset.\r
""";
                              sh:name "ReshapeLong";
                              sh:node declarationShapes:TransformBase;
                              sh:property propertyShapes:ReshapeLong.MakeItems,
                                          propertyShapes:ReshapeLong.CaseNumberVariable,
                                          propertyShapes:ReshapeLong.IDVariables,
                                          propertyShapes:ReshapeLong.DropVariables,
                                          propertyShapes:ReshapeLong.KeepVariables,
                                          propertyShapes:ReshapeLong.KeepNullCases,
                                          propertyShapes:ReshapeLong.CountByID,
                                          propertyShapes:ReshapeLong.CountByIDLabel;
                              sh:targetClass sdtl:ReshapeLong.
declarationShapes:ReshapeWide a sh:NodeShape;
                              sh:description """ReshapeWide is not supported in the current version of SDTL, because it depends on values in the data.  However, it may be useful when values of the index variable are available in the metadata file or the data can be processed.\r
""";
                              sh:name "ReshapeWide";
                              sh:node declarationShapes:TransformBase;
                              sh:property propertyShapes:ReshapeWide.MakeItems,
                                          propertyShapes:ReshapeWide.IDVariables,
                                          propertyShapes:ReshapeWide.DropVariables,
                                          propertyShapes:ReshapeWide.KeepVariables;
                              sh:targetClass sdtl:ReshapeWide.
declarationShapes:Save a sh:NodeShape;
                       sh:description """Writes a dataset to a file.\r
""";
                       sh:name "Save";
                       sh:node declarationShapes:TransformBase;
                       sh:property propertyShapes:Save.FileName,
                                   propertyShapes:Save.Software,
                                   propertyShapes:Save.FileFormat,
                                   propertyShapes:Save.IsCompressed;
                       sh:targetClass sdtl:Save.
declarationShapes:SetDataType a sh:NodeShape;
                              sh:description """Sets the data type of a variable.   \r
Examples:   \r
\r
```\r
\"dataType\": \"Text\",\r
\"subTypeSchema\": \"Stata 15.1\",\r
\"subType\": \"str1\"\r
```\r
\r
```\r
\"dataType\": \"Numeric\",\r
\"subTypeSchema\": \"https://www.ddialliance.org/Specification/DDI-CV/DataType_1.0.html\" ,\r
\"subType\": \"Int\"\r
```\r
\r
\r
""";
                              sh:name "SetDataType";
                              sh:node declarationShapes:TransformBase;
                              sh:property propertyShapes:SetDataType.Variables,
                                          propertyShapes:SetDataType.DataType,
                                          propertyShapes:SetDataType.SubTypeSchema,
                                          propertyShapes:SetDataType.SubType;
                              sh:targetClass sdtl:SetDataType.
declarationShapes:SetDatasetProperty a sh:NodeShape;
                                     sh:description """Changes a property of a dataframe.\r
""";
                                     sh:name "SetDatasetProperty";
                                     sh:node declarationShapes:TransformBase;
                                     sh:property propertyShapes:SetDatasetProperty.PropertyName,
                                                 propertyShapes:SetDatasetProperty.Value;
                                     sh:targetClass sdtl:SetDatasetProperty.
declarationShapes:SetDisplayFormat a sh:NodeShape;
                                   sh:description """Sets the display or output format for a variable.    \r
Examples:   \r
```\r
\"displayFormatSchema\": \"SAS\"\r
\"displayFormatName\": \"DOLLAR6.2\"\r
```\r
\r
```\r
\"displayFormatSchema\": \"Stata 15.1\"\r
\"displayFormatName\": \"%tcDDmonCCYY_HH:MM:SS\"\r
```\r
""";
                                   sh:name "SetDisplayFormat";
                                   sh:node declarationShapes:TransformBase;
                                   sh:property propertyShapes:SetDisplayFormat.Variables,
                                               propertyShapes:SetDisplayFormat.DisplayFormatSchema,
                                               propertyShapes:SetDisplayFormat.DisplayFormatName;
                                   sh:targetClass sdtl:SetDisplayFormat.
declarationShapes:SetMissingValues a sh:NodeShape;
                                   sh:description """Defines values that are treated as missing values for a list of variables.\r
""";
                                   sh:name "SetMissingValues";
                                   sh:node declarationShapes:TransformBase;
                                   sh:property propertyShapes:SetMissingValues.Variables,
                                               propertyShapes:SetMissingValues.Values;
                                   sh:targetClass sdtl:SetMissingValues.
declarationShapes:SetValueLabels a sh:NodeShape;
                                 sh:description """Describes the assignment of labels to categorical values.\r
""";
                                 sh:name "SetValueLabels";
                                 sh:node declarationShapes:TransformBase;
                                 sh:property propertyShapes:SetValueLabels.Variables,
                                             propertyShapes:SetValueLabels.Labels;
                                 sh:targetClass sdtl:SetValueLabels.
declarationShapes:SetVariableLabel a sh:NodeShape;
                                   sh:description """Describes the assignment of a label to a variable.\r
""";
                                   sh:name "SetVariableLabel";
                                   sh:node declarationShapes:TransformBase;
                                   sh:property propertyShapes:SetVariableLabel.Variable,
                                               propertyShapes:SetVariableLabel.Label;
                                   sh:targetClass sdtl:SetVariableLabel.
declarationShapes:SortCases a sh:NodeShape;
                            sh:description """Sorts rows in the dataframe in a specified order.\r
""";
                            sh:name "SortCases";
                            sh:node declarationShapes:TransformBase;
                            sh:property propertyShapes:SortCases.SortCriteria;
                            sh:targetClass sdtl:SortCases.
declarationShapes:SortCriterion a sh:NodeShape;
                                sh:description """Describes a criterion by which cases are sorted, including the variable name and whether to sort ascending or descending.\r
""";
                                sh:name "SortCriterion";
                                sh:property propertyShapes:SortCriterion.Variable,
                                            propertyShapes:SortCriterion.SortDirection;
                                sh:targetClass sdtl:SortCriterion.
declarationShapes:SourceInformation a sh:NodeShape;
                                    sh:description """SourceInformation defines information about the original source of a data transform.\r
""";
                                    sh:name "SourceInformation";
                                    sh:property propertyShapes:SourceInformation.LineNumberStart,
                                                propertyShapes:SourceInformation.LineNumberEnd,
                                                propertyShapes:SourceInformation.SourceStartIndex,
                                                propertyShapes:SourceInformation.SourceStopIndex,
                                                propertyShapes:SourceInformation.OriginalSourceText,
                                                propertyShapes:SourceInformation.ProcessedSourceText;
                                    sh:targetClass sdtl:SourceInformation.
declarationShapes:StringConstantExpression a sh:NodeShape;
                                           sh:description """A text string.\r
""";
                                           sh:name "StringConstantExpression";
                                           sh:node declarationShapes:ExpressionBase;
                                           sh:property propertyShapes:StringConstantExpression.Value;
                                           sh:targetClass sdtl:StringConstantExpression.
declarationShapes:StringRangeExpression a sh:NodeShape;
                                        sh:description """Defines a range of string values, such as \"A to N\".\r
""";
                                        sh:name "StringRangeExpression";
                                        sh:node declarationShapes:ExpressionBase;
                                        sh:property propertyShapes:StringRangeExpression.RangeStart,
                                                    propertyShapes:StringRangeExpression.RangeEnd;
                                        sh:targetClass sdtl:StringRangeExpression.
declarationShapes:TimeDurationConstant a sh:NodeShape;
                                       sh:description """A time duration constant expressed in ISO 8601 format.\r
""";
                                       sh:name "TimeDurationConstant";
                                       sh:node declarationShapes:ExpressionBase;
                                       sh:property propertyShapes:TimeDurationConstant.TimeDurationValue;
                                       sh:targetClass sdtl:TimeDurationConstant.
declarationShapes:TransformBase a sh:NodeShape;
                                sh:description """TransformBase defines properties available for transform commands.\r
""";
                                sh:name "TransformBase";
                                sh:node declarationShapes:CommandBase;
                                sh:property propertyShapes:TransformBase.ProducesDataframe,
                                            propertyShapes:TransformBase.ConsumesDataframe;
                                sh:targetClass sdtl:TransformBase.
declarationShapes:UnhandledValuesExpression a sh:NodeShape;
                                            sh:description """Represents any values not previously handled (for example, in a set of recode rules).\r
""";
                                            sh:name "UnhandledValuesExpression";
                                            sh:node declarationShapes:ExpressionBase;
                                            sh:targetClass sdtl:UnhandledValuesExpression.
declarationShapes:Unsupported a sh:NodeShape;
                              sh:description """Describes an unsupported command. An unsupported command is valid syntax, but not supported by the parsing application.\r
""";
                              sh:name "Unsupported";
                              sh:node declarationShapes:InformBase;
                              sh:targetClass sdtl:Unsupported.
declarationShapes:ValueLabel a sh:NodeShape;
                             sh:description """Associates a label with a  value in a categorical variable.\r
""";
                             sh:name "ValueLabel";
                             sh:property propertyShapes:ValueLabel.Value,
                                         propertyShapes:ValueLabel.Label;
                             sh:targetClass sdtl:ValueLabel.
declarationShapes:ValueListExpression a sh:NodeShape;
                                      sh:description """Wraps a list of other expressions.\r
""";
                                      sh:name "ValueListExpression";
                                      sh:node declarationShapes:ExpressionBase;
                                      sh:property propertyShapes:ValueListExpression.Values;
                                      sh:targetClass sdtl:ValueListExpression.
declarationShapes:VariableListExpression a sh:NodeShape;
                                         sh:description """A list of variables which may include variable names (VariableSymbolExpression, CompositeVariableNameExpression), variable ranges (VariableRangeExpression), and variable lists.\r
""";
                                         sh:name "VariableListExpression";
                                         sh:node declarationShapes:VariableReferenceBase;
                                         sh:property propertyShapes:VariableListExpression.Variables;
                                         sh:targetClass sdtl:VariableListExpression.
declarationShapes:VariableRangeExpression a sh:NodeShape;
                                          sh:description "A list of variables in adjacent columns defined by the variable names of first and last columns.";
                                          sh:name "VariableRangeExpression";
                                          sh:node declarationShapes:VariableReferenceBase;
                                          sh:property propertyShapes:VariableRangeExpression.First,
                                                      propertyShapes:VariableRangeExpression.Last;
                                          sh:targetClass sdtl:VariableRangeExpression.
declarationShapes:VariableReferenceBase a sh:NodeShape;
                                        sh:description """Types used to describe variables in expressions.\r
""";
                                        sh:name "VariableReferenceBase";
                                        sh:node declarationShapes:ExpressionBase;
                                        sh:targetClass sdtl:VariableReferenceBase.
declarationShapes:VariableSymbolExpression a sh:NodeShape;
                                           sh:description """A reference to a variable.\r
""";
                                           sh:name "VariableSymbolExpression";
                                           sh:node declarationShapes:VariableReferenceBase;
                                           sh:property propertyShapes:VariableSymbolExpression.VariableName;
                                           sh:targetClass sdtl:VariableSymbolExpression.
declarationShapes:Weight a sh:NodeShape;
                         sh:description """Weight describes the type of weight to apply and variables holding weights.   \r
""";
                         sh:name "Weight";
                         sh:property propertyShapes:Weight.WeightVariable,
                                     propertyShapes:Weight.WeightType;
                         sh:targetClass sdtl:Weight.
shapes:graph a sh:NodeShape;
             sh:description "Graph-wide model type and predicate checks.";
             sh:name "Model graph";
             sh:sparql constraintShapes:QueryDB493B7BB281165C1FBF3039E8D49E5F8021F3AF877600CD8F8FC37B01538F88,
                       constraintShapes:Query2AB1FF1950C6E44EAF38A19DCC425B78801E3A6CC9D80C89FE2DDDD7556F4732;
             sh:targetNode shapes:graph.
identityShapes:Program a sh:NodeShape;
                       sh:description "Distinct item IRIs must not share a concrete type and identification tuple.";
                       sh:name "Program identification";
                       sh:targetWhere signatureShapes:Program;
                       sh:uniqueValuesFor (sdtl:id).
primitiveShapes:anyURI a sh:NodeShape;
                       sh:datatype xsd:anyURI;
                       sh:description "RDF literal constraints for the anyURI datatype.";
                       sh:name "anyURI";
                       sh:nodeKind sh:Literal;
                       sh:pattern "^([A-Za-z][A-Za-z0-9+.-]*:(//(([A-Za-z0-9._~!$&'()*+,;=:-]|%[0-9A-Fa-f]{2})*@)?(\\[(([0-9A-Fa-f]{1,4}:){6}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|::([0-9A-Fa-f]{1,4}:){5}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|([0-9A-Fa-f]{1,4})?::([0-9A-Fa-f]{1,4}:){4}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|(([0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::([0-9A-Fa-f]{1,4}:){3}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|(([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::([0-9A-Fa-f]{1,4}:){2}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|(([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::([0-9A-Fa-f]{1,4}:){1}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|(([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::([0-9A-Fa-f]{1,4}:){0}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|(([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::|[vV][0-9A-Fa-f]+\\.[A-Za-z0-9._~!$&'()*+,;=:-]+)\\]|([A-Za-z0-9._~!$&'()*+,;=-]|%[0-9A-Fa-f]{2})*)(:[0-9]*)?(/([A-Za-z0-9._~!$&'()*+,;=:@-]|%[0-9A-Fa-f]{2})*)*|/(([A-Za-z0-9._~!$&'()*+,;=:@-]|%[0-9A-Fa-f]{2})+(/([A-Za-z0-9._~!$&'()*+,;=:@-]|%[0-9A-Fa-f]{2})*)*)?|([A-Za-z0-9._~!$&'()*+,;=:@-]|%[0-9A-Fa-f]{2})+(/([A-Za-z0-9._~!$&'()*+,;=:@-]|%[0-9A-Fa-f]{2})*)*|)|(//(([A-Za-z0-9._~!$&'()*+,;=:-]|%[0-9A-Fa-f]{2})*@)?(\\[(([0-9A-Fa-f]{1,4}:){6}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|::([0-9A-Fa-f]{1,4}:){5}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|([0-9A-Fa-f]{1,4})?::([0-9A-Fa-f]{1,4}:){4}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|(([0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::([0-9A-Fa-f]{1,4}:){3}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|(([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::([0-9A-Fa-f]{1,4}:){2}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|(([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::([0-9A-Fa-f]{1,4}:){1}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|(([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::([0-9A-Fa-f]{1,4}:){0}([0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})|(([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::|[vV][0-9A-Fa-f]+\\.[A-Za-z0-9._~!$&'()*+,;=:-]+)\\]|([A-Za-z0-9._~!$&'()*+,;=-]|%[0-9A-Fa-f]{2})*)(:[0-9]*)?(/([A-Za-z0-9._~!$&'()*+,;=:@-]|%[0-9A-Fa-f]{2})*)*|/(([A-Za-z0-9._~!$&'()*+,;=:@-]|%[0-9A-Fa-f]{2})+(/([A-Za-z0-9._~!$&'()*+,;=:@-]|%[0-9A-Fa-f]{2})*)*)?|([A-Za-z0-9._~!$&'()*+,;=@-]|%[0-9A-Fa-f]{2})+(/([A-Za-z0-9._~!$&'()*+,;=:@-]|%[0-9A-Fa-f]{2})*)*|))(\\?(([A-Za-z0-9._~!$&'()*+,;=:@-]|%[0-9A-Fa-f]{2})|[/?])*)?(#(([A-Za-z0-9._~!$&'()*+,;=:@-]|%[0-9A-Fa-f]{2})|[/?])*)?$";
                       constraintParameters:noWhitespace "true"^^xsd:boolean;
                       constraintParameters:xmlText "true"^^xsd:boolean.
primitiveShapes:boolean a sh:NodeShape;
                        sh:datatype xsd:boolean;
                        sh:description "RDF literal constraints for the boolean datatype.";
                        sh:name "boolean";
                        sh:nodeKind sh:Literal;
                        sh:pattern "^(true|false|0|1)$";
                        constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:cogsDate a sh:NodeShape;
                         sh:description "An RDF literal representing a date-time, date, year and month, year, or duration.";
                         sh:name "Date or duration value";
                         sh:nodeKind sh:Literal;
                         sh:or (primitiveShapes:dateTime
                                primitiveShapes:date
                                primitiveShapes:gYearMonth
                                primitiveShapes:gYear
                                primitiveShapes:duration).
primitiveShapes:date a sh:NodeShape;
                     sh:description "RDF literal constraints for the date datatype.";
                     sh:name "date";
                     sh:nodeKind sh:Literal;
                     sh:pattern "^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$";
                     constraintParameters:calendarDate "true"^^xsd:boolean;
                     constraintParameters:exactDatatype xsd:date;
                     constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:dateTime a sh:NodeShape;
                         sh:description "RDF literal constraints for the dateTime datatype.";
                         sh:name "dateTime";
                         sh:nodeKind sh:Literal;
                         sh:pattern "^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|24:00:00(\\.0+)?)(Z|[+-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))$";
                         constraintParameters:calendarDate "true"^^xsd:boolean;
                         constraintParameters:dateTimeMaximum "9999-12-31T23:59:59.999Z"^^xsd:dateTime;
                         constraintParameters:dateTimeMinimum "0001-01-01T00:00:00Z"^^xsd:dateTime;
                         constraintParameters:exactDatatype xsd:dateTime;
                         constraintParameters:noWhitespace "true"^^xsd:boolean;
                         constraintParameters:precision3Pattern "\\.[0-9]{3}[0-9]*[1-9][0-9]*".
primitiveShapes:decimal a sh:NodeShape;
                        sh:datatype xsd:decimal;
                        sh:description "RDF literal constraints for the decimal datatype.";
                        sh:name "decimal";
                        sh:nodeKind sh:Literal;
                        sh:pattern "^[+-]?([0-9]+(\\.[0-9]*)?|\\.[0-9]+)$";
                        constraintParameters:decimalCoefficient "79228162514264337593543950335"^^xsd:integer;
                        constraintParameters:decimalScale "28"^^xsd:integer;
                        constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:double a sh:NodeShape;
                       sh:datatype xsd:double;
                       sh:description "RDF literal constraints for the double datatype.";
                       sh:name "double";
                       sh:nodeKind sh:Literal;
                       sh:pattern "^[+-]?([0-9]+(\\.[0-9]*)?|\\.[0-9]+)([eE][+-]?[0-9]+)?$";
                       constraintParameters:floatInclusive "true"^^xsd:boolean;
                       constraintParameters:floatLimit "1.7976931348623157E308"^^xsd:double;
                       constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:duration a sh:NodeShape;
                         sh:description "RDF literal constraints for the duration datatype.";
                         sh:name "duration";
                         sh:nodeKind sh:Literal;
                         sh:pattern "^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?(([0-9]+(\\.[0-9]*)?|\\.[0-9]+)S)?)?$";
                         constraintParameters:durationLimit "922337203685477"^^xsd:integer;
                         constraintParameters:exactDatatype xsd:duration;
                         constraintParameters:noWhitespace "true"^^xsd:boolean;
                         constraintParameters:precision3Pattern "\\.[0-9]{3}[0-9]*[1-9][0-9]*".
primitiveShapes:float a sh:NodeShape;
                      sh:datatype xsd:float;
                      sh:description "RDF literal constraints for the float datatype.";
                      sh:name "float";
                      sh:nodeKind sh:Literal;
                      sh:pattern "^[+-]?([0-9]+(\\.[0-9]*)?|\\.[0-9]+)([eE][+-]?[0-9]+)?$";
                      constraintParameters:floatInclusive "false"^^xsd:boolean;
                      constraintParameters:floatLimit "3.40282356779733661637539395458142568448E38"^^xsd:double;
                      constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:gDay a sh:NodeShape;
                     sh:description "RDF literal constraints for the gDay datatype.";
                     sh:name "gDay";
                     sh:nodeKind sh:Literal;
                     sh:pattern "^---(0[1-9]|[12][0-9]|3[01])(Z|[+-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$";
                     constraintParameters:exactDatatype xsd:gDay;
                     constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:gMonth a sh:NodeShape;
                       sh:description "RDF literal constraints for the gMonth datatype.";
                       sh:name "gMonth";
                       sh:nodeKind sh:Literal;
                       sh:pattern "^--(0[1-9]|1[0-2])--(Z|[+-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$";
                       constraintParameters:exactDatatype xsd:gMonth;
                       constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:gMonthDay a sh:NodeShape;
                          sh:description "RDF literal constraints for the gMonthDay datatype.";
                          sh:name "gMonthDay";
                          sh:nodeKind sh:Literal;
                          sh:pattern "^--(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|[+-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$";
                          constraintParameters:exactDatatype xsd:gMonthDay;
                          constraintParameters:monthDayLeapYear "2000"^^xsd:integer;
                          constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:gYear a sh:NodeShape;
                      sh:description "RDF literal constraints for the gYear datatype.";
                      sh:name "gYear";
                      sh:nodeKind sh:Literal;
                      sh:pattern "^-?([0-9]{4}|[1-9][0-9]{4,})(Z|[+-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$";
                      constraintParameters:exactDatatype xsd:gYear;
                      constraintParameters:noWhitespace "true"^^xsd:boolean;
                      constraintParameters:yearMaximum "2147483647"^^xsd:integer;
                      constraintParameters:yearMinimum "-2147483648"^^xsd:integer.
primitiveShapes:gYearMonth a sh:NodeShape;
                           sh:description "RDF literal constraints for the gYearMonth datatype.";
                           sh:name "gYearMonth";
                           sh:nodeKind sh:Literal;
                           sh:pattern "^-?([0-9]{4}|[1-9][0-9]{4,})-(0[1-9]|1[0-2])(Z|[+-]((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$";
                           constraintParameters:exactDatatype xsd:gYearMonth;
                           constraintParameters:noWhitespace "true"^^xsd:boolean;
                           constraintParameters:yearMaximum "2147483647"^^xsd:integer;
                           constraintParameters:yearMinimum "-2147483648"^^xsd:integer.
primitiveShapes:int a sh:NodeShape;
                    sh:datatype xsd:int;
                    sh:description "RDF literal constraints for the int datatype.";
                    sh:maxInclusive "2147483647"^^xsd:integer;
                    sh:minInclusive "-2147483648"^^xsd:integer;
                    sh:name "int";
                    sh:nodeKind sh:Literal;
                    sh:pattern "^[+-]?[0-9]+$";
                    constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:langString a sh:NodeShape;
                           sh:datatype rdf:langString;
                           sh:description "RDF literal constraints for the langString datatype.";
                           sh:name "langString";
                           sh:nodeKind sh:Literal;
                           constraintParameters:languageTagPattern "^((([A-Za-z]{2,3}(-[A-Za-z]{3}){0,3}|[A-Za-z]{4}|[A-Za-z]{5,8})(-[A-Za-z]{4})?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*(-[0-9A-WY-Za-wy-z](-[A-Za-z0-9]{2,8})+)*(-[xX](-[A-Za-z0-9]{1,8})+)?|[xX](-[A-Za-z0-9]{1,8})+)|[eE][nN]-[gG][bB]-[oO][eE][dD]|[iI]-[aA][mM][iI]|[iI]-[bB][nN][nN]|[iI]-[dD][eE][fF][aA][uU][lL][tT]|[iI]-[eE][nN][oO][cC][hH][iI][aA][nN]|[iI]-[hH][aA][kK]|[iI]-[kK][lL][iI][nN][gG][oO][nN]|[iI]-[lL][uU][xX]|[iI]-[mM][iI][nN][gG][oO]|[iI]-[nN][aA][vV][aA][jJ][oO]|[iI]-[pP][wW][nN]|[iI]-[tT][aA][oO]|[iI]-[tT][aA][yY]|[iI]-[tT][sS][uU]|[sS][gG][nN]-[bB][eE]-[fF][rR]|[sS][gG][nN]-[bB][eE]-[nN][lL]|[sS][gG][nN]-[cC][hH]-[dD][eE]|[aA][rR][tT]-[lL][oO][jJ][bB][aA][nN]|[cC][eE][lL]-[gG][aA][uU][lL][iI][sS][hH]|[nN][oO]-[bB][oO][kK]|[nN][oO]-[nN][yY][nN]|[zZ][hH]-[gG][uU][oO][yY][uU]|[zZ][hH]-[hH][aA][kK][kK][aA]|[zZ][hH]-[mM][iI][nN]|[zZ][hH]-[mM][iI][nN]-[nN][aA][nN]|[zZ][hH]-[xX][iI][aA][nN][gG])$";
                           constraintParameters:xmlText "true"^^xsd:boolean.
primitiveShapes:language a sh:NodeShape;
                         sh:datatype xsd:language;
                         sh:description "RDF literal constraints for the language datatype.";
                         sh:name "language";
                         sh:nodeKind sh:Literal;
                         sh:pattern "^((([A-Za-z]{2,3}(-[A-Za-z]{3}){0,3}|[A-Za-z]{4}|[A-Za-z]{5,8})(-[A-Za-z]{4})?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*(-[0-9A-WY-Za-wy-z](-[A-Za-z0-9]{2,8})+)*(-[xX](-[A-Za-z0-9]{1,8})+)?|[xX](-[A-Za-z0-9]{1,8})+)|[eE][nN]-[gG][bB]-[oO][eE][dD]|[iI]-[aA][mM][iI]|[iI]-[bB][nN][nN]|[iI]-[dD][eE][fF][aA][uU][lL][tT]|[iI]-[eE][nN][oO][cC][hH][iI][aA][nN]|[iI]-[hH][aA][kK]|[iI]-[kK][lL][iI][nN][gG][oO][nN]|[iI]-[lL][uU][xX]|[iI]-[mM][iI][nN][gG][oO]|[iI]-[nN][aA][vV][aA][jJ][oO]|[iI]-[pP][wW][nN]|[iI]-[tT][aA][oO]|[iI]-[tT][aA][yY]|[iI]-[tT][sS][uU]|[sS][gG][nN]-[bB][eE]-[fF][rR]|[sS][gG][nN]-[bB][eE]-[nN][lL]|[sS][gG][nN]-[cC][hH]-[dD][eE]|[aA][rR][tT]-[lL][oO][jJ][bB][aA][nN]|[cC][eE][lL]-[gG][aA][uU][lL][iI][sS][hH]|[nN][oO]-[bB][oO][kK]|[nN][oO]-[nN][yY][nN]|[zZ][hH]-[gG][uU][oO][yY][uU]|[zZ][hH]-[hH][aA][kK][kK][aA]|[zZ][hH]-[mM][iI][nN]|[zZ][hH]-[mM][iI][nN]-[nN][aA][nN]|[zZ][hH]-[xX][iI][aA][nN][gG])$";
                         constraintParameters:noWhitespace "true"^^xsd:boolean;
                         constraintParameters:xmlText "true"^^xsd:boolean.
primitiveShapes:long a sh:NodeShape;
                     sh:datatype xsd:long;
                     sh:description "RDF literal constraints for the long datatype.";
                     sh:maxInclusive "9007199254740991"^^xsd:integer;
                     sh:minInclusive "-9007199254740991"^^xsd:integer;
                     sh:name "long";
                     sh:nodeKind sh:Literal;
                     sh:pattern "^[+-]?[0-9]+$";
                     constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:negativeInteger a sh:NodeShape;
                                sh:datatype xsd:negativeInteger;
                                sh:description "RDF literal constraints for the negativeInteger datatype.";
                                sh:maxInclusive "-1"^^xsd:integer;
                                sh:minInclusive "-9007199254740991"^^xsd:integer;
                                sh:name "negativeInteger";
                                sh:nodeKind sh:Literal;
                                sh:pattern "^[+-]?[0-9]+$";
                                constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:nonNegativeInteger a sh:NodeShape;
                                   sh:datatype xsd:nonNegativeInteger;
                                   sh:description "RDF literal constraints for the nonNegativeInteger datatype.";
                                   sh:maxInclusive "9007199254740991"^^xsd:integer;
                                   sh:minInclusive "0"^^xsd:integer;
                                   sh:name "nonNegativeInteger";
                                   sh:nodeKind sh:Literal;
                                   sh:pattern "^[+-]?[0-9]+$";
                                   constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:nonPositiveInteger a sh:NodeShape;
                                   sh:datatype xsd:nonPositiveInteger;
                                   sh:description "RDF literal constraints for the nonPositiveInteger datatype.";
                                   sh:maxInclusive "0"^^xsd:integer;
                                   sh:minInclusive "-9007199254740991"^^xsd:integer;
                                   sh:name "nonPositiveInteger";
                                   sh:nodeKind sh:Literal;
                                   sh:pattern "^[+-]?[0-9]+$";
                                   constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:positiveInteger a sh:NodeShape;
                                sh:datatype xsd:positiveInteger;
                                sh:description "RDF literal constraints for the positiveInteger datatype.";
                                sh:maxInclusive "9007199254740991"^^xsd:integer;
                                sh:minInclusive "1"^^xsd:integer;
                                sh:name "positiveInteger";
                                sh:nodeKind sh:Literal;
                                sh:pattern "^[+-]?[0-9]+$";
                                constraintParameters:noWhitespace "true"^^xsd:boolean.
primitiveShapes:string a sh:NodeShape;
                       sh:datatype xsd:string;
                       sh:description "RDF literal constraints for the string datatype.";
                       sh:name "string";
                       sh:nodeKind sh:Literal;
                       constraintParameters:xmlText "true"^^xsd:boolean.
primitiveShapes:time a sh:NodeShape;
                     sh:description "RDF literal constraints for the time datatype.";
                     sh:name "time";
                     sh:nodeKind sh:Literal;
                     sh:pattern "^(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|24:00:00(\\.0+)?)$";
                     constraintParameters:exactDatatype xsd:time;
                     constraintParameters:noWhitespace "true"^^xsd:boolean;
                     constraintParameters:precision6Pattern "\\.[0-9]{6}[0-9]*[1-9][0-9]*".
primitiveShapes:unsignedLong a sh:NodeShape;
                             sh:datatype xsd:unsignedLong;
                             sh:description "RDF literal constraints for the unsignedLong datatype.";
                             sh:maxInclusive "9007199254740991"^^xsd:integer;
                             sh:minInclusive "0"^^xsd:integer;
                             sh:name "unsignedLong";
                             sh:nodeKind sh:Literal;
                             sh:pattern "^[+-]?[0-9]+$";
                             constraintParameters:noWhitespace "true"^^xsd:boolean.
shapes:profile <http://purl.org/dc/terms/conformsTo> <https://www.w3.org/TR/2026/WD-shacl12-core-20261011/>,
                                                     <https://www.w3.org/TR/2026/WD-shacl12-sparql-20261011/>;
               rdfs:comment "Native SHACL 1.2 draft profile; engine qualification is advisory. Do not merge with the stable profile.".
propertyShapes:Aggregate.AggregateVariables a sh:PropertyShape;
                                            sh:description "The expressions that compute the aggregations. An aggregation function should be used.";
                                            sh:minCount "1"^^xsd:integer;
                                            sh:name "AggregateVariables";
                                            sh:node valueShapes:Aggregate.AggregateVariables;
                                            sh:order "1"^^xsd:integer;
                                            sh:path sdtl:aggregateVariables.
propertyShapes:Aggregate.GroupByVariables a sh:PropertyShape;
                                          sh:description "Variables used as keys to identify groups.";
                                          sh:minCount "0"^^xsd:integer;
                                          sh:name "GroupByVariables";
                                          sh:node valueShapes:Aggregate.GroupByVariables;
                                          sh:order "0"^^xsd:integer;
                                          sh:path sdtl:groupByVariables.
propertyShapes:Aggregate.Weighting a sh:PropertyShape;
                                   sh:description "Description of the weights to be used";
                                   sh:maxCount "1"^^xsd:integer;
                                   sh:minCount "0"^^xsd:integer;
                                   sh:name "Weighting";
                                   sh:node valueShapes:Aggregate.Weighting;
                                   sh:order "2"^^xsd:integer;
                                   sh:path sdtl:weighting.
propertyShapes:AppendDatasets.AppendFiles a sh:PropertyShape;
                                          sh:description "Description of files to be appended";
                                          sh:minCount "1"^^xsd:integer;
                                          sh:name "AppendFiles";
                                          sh:node valueShapes:AppendDatasets.AppendFiles;
                                          sh:order "0"^^xsd:integer;
                                          sh:path sdtl:appendFiles.
propertyShapes:AppendDatasets.AppendFlagVariable a sh:PropertyShape;
                                                 sh:description "Creates a new variable identifying the source dataframe for a row with the variable name given in the value of the property";
                                                 sh:maxCount "1"^^xsd:integer;
                                                 sh:minCount "0"^^xsd:integer;
                                                 sh:name "AppendFlagVariable";
                                                 sh:node valueShapes:AppendDatasets.AppendFlagVariable;
                                                 sh:order "1"^^xsd:integer;
                                                 sh:path sdtl:appendFlagVariable.
propertyShapes:AppendFileDescription.DropCasesCondition a sh:PropertyShape;
                                                        sh:description "Logical condition for dropping rows.";
                                                        sh:maxCount "1"^^xsd:integer;
                                                        sh:minCount "0"^^xsd:integer;
                                                        sh:name "DropCasesCondition";
                                                        sh:node valueShapes:AppendFileDescription.DropCasesCondition;
                                                        sh:order "5"^^xsd:integer;
                                                        sh:path sdtl:dropCasesCondition.
propertyShapes:AppendFileDescription.DropVariables a sh:PropertyShape;
                                                   sh:description "List of variables to drop";
                                                   sh:minCount "0"^^xsd:integer;
                                                   sh:name "DropVariables";
                                                   sh:node valueShapes:AppendFileDescription.DropVariables;
                                                   sh:order "3"^^xsd:integer;
                                                   sh:path sdtl:dropVariables.
propertyShapes:AppendFileDescription.FileFormat a sh:PropertyShape;
                                                sh:description "The name of a file format";
                                                sh:maxCount "1"^^xsd:integer;
                                                sh:minCount "0"^^xsd:integer;
                                                sh:name "FileFormat";
                                                sh:node valueShapes:AppendFileDescription.FileFormat;
                                                sh:order "7"^^xsd:integer;
                                                sh:path sdtl:fileFormat.
propertyShapes:AppendFileDescription.FileName a sh:PropertyShape;
                                              sh:description "Name of the file being appended.  May be the name of an active dataframe.";
                                              sh:maxCount "1"^^xsd:integer;
                                              sh:minCount "1"^^xsd:integer;
                                              sh:name "FileName";
                                              sh:node valueShapes:AppendFileDescription.FileName;
                                              sh:order "0"^^xsd:integer;
                                              sh:path sdtl:fileName.
propertyShapes:AppendFileDescription.IsCompressed a sh:PropertyShape;
                                                  sh:description "Indicates whether the file format is compressed.";
                                                  sh:maxCount "1"^^xsd:integer;
                                                  sh:minCount "0"^^xsd:integer;
                                                  sh:name "IsCompressed";
                                                  sh:node valueShapes:AppendFileDescription.IsCompressed;
                                                  sh:order "8"^^xsd:integer;
                                                  sh:path sdtl:isCompressed.
propertyShapes:AppendFileDescription.KeepCasesCondition a sh:PropertyShape;
                                                        sh:description "Logical condition for keeping rows.";
                                                        sh:maxCount "1"^^xsd:integer;
                                                        sh:minCount "0"^^xsd:integer;
                                                        sh:name "KeepCasesCondition";
                                                        sh:node valueShapes:AppendFileDescription.KeepCasesCondition;
                                                        sh:order "4"^^xsd:integer;
                                                        sh:path sdtl:keepCasesCondition.
propertyShapes:AppendFileDescription.KeepVariables a sh:PropertyShape;
                                                   sh:description "List of variables to keep";
                                                   sh:minCount "0"^^xsd:integer;
                                                   sh:name "KeepVariables";
                                                   sh:node valueShapes:AppendFileDescription.KeepVariables;
                                                   sh:order "2"^^xsd:integer;
                                                   sh:path sdtl:keepVariables.
propertyShapes:AppendFileDescription.RenameVariables a sh:PropertyShape;
                                                     sh:description "Variables to be renamed";
                                                     sh:minCount "0"^^xsd:integer;
                                                     sh:name "RenameVariables";
                                                     sh:node valueShapes:AppendFileDescription.RenameVariables;
                                                     sh:order "1"^^xsd:integer;
                                                     sh:path sdtl:renameVariables.
propertyShapes:AppendFileDescription.Software a sh:PropertyShape;
                                              sh:description "The software package that works with the file.";
                                              sh:maxCount "1"^^xsd:integer;
                                              sh:minCount "0"^^xsd:integer;
                                              sh:name "Software";
                                              sh:node valueShapes:AppendFileDescription.Software;
                                              sh:order "6"^^xsd:integer;
                                              sh:path sdtl:software.
propertyShapes:BooleanConstantExpression.BooleanValue a sh:PropertyShape;
                                                      sh:description "Values of TRUE and FALSE are used in logical expressions.";
                                                      sh:maxCount "1"^^xsd:integer;
                                                      sh:minCount "1"^^xsd:integer;
                                                      sh:name "BooleanValue";
                                                      sh:node valueShapes:BooleanConstantExpression.BooleanValue;
                                                      sh:order "0"^^xsd:integer;
                                                      sh:path sdtl:booleanValue.
propertyShapes:Collapse.AggregateVariables a sh:PropertyShape;
                                           sh:description "The expressions that compute the aggregations. An aggregation function should be used.";
                                           sh:minCount "1"^^xsd:integer;
                                           sh:name "AggregateVariables";
                                           sh:node valueShapes:Collapse.AggregateVariables;
                                           sh:order "2"^^xsd:integer;
                                           sh:path sdtl:aggregateVariables.
propertyShapes:Collapse.CaseWise a sh:PropertyShape;
                                 sh:description "Observations are not included if any variable  is missing";
                                 sh:maxCount "1"^^xsd:integer;
                                 sh:minCount "0"^^xsd:integer;
                                 sh:name "CaseWise";
                                 sh:node valueShapes:Collapse.CaseWise;
                                 sh:order "4"^^xsd:integer;
                                 sh:path sdtl:caseWise.
propertyShapes:Collapse.ColumnWise a sh:PropertyShape;
                                   sh:description "Variables are not included if any value in a column is missing";
                                   sh:maxCount "1"^^xsd:integer;
                                   sh:minCount "0"^^xsd:integer;
                                   sh:name "ColumnWise";
                                   sh:node valueShapes:Collapse.ColumnWise;
                                   sh:order "5"^^xsd:integer;
                                   sh:path sdtl:columnWise.
propertyShapes:Collapse.GroupByVariables a sh:PropertyShape;
                                         sh:description "Variables used as keys to identify groups.";
                                         sh:minCount "0"^^xsd:integer;
                                         sh:name "GroupByVariables";
                                         sh:node valueShapes:Collapse.GroupByVariables;
                                         sh:order "1"^^xsd:integer;
                                         sh:path sdtl:groupByVariables.
propertyShapes:Collapse.OutputDatasetName a sh:PropertyShape;
                                          sh:description "The name of a new, aggregated dataset to be created.";
                                          sh:maxCount "1"^^xsd:integer;
                                          sh:minCount "0"^^xsd:integer;
                                          sh:name "OutputDatasetName";
                                          sh:node valueShapes:Collapse.OutputDatasetName;
                                          sh:order "0"^^xsd:integer;
                                          sh:path sdtl:outputDatasetName.
propertyShapes:Collapse.Weighting a sh:PropertyShape;
                                  sh:description "Description of the weights to be used";
                                  sh:maxCount "1"^^xsd:integer;
                                  sh:minCount "0"^^xsd:integer;
                                  sh:name "Weighting";
                                  sh:node valueShapes:Collapse.Weighting;
                                  sh:order "3"^^xsd:integer;
                                  sh:path sdtl:weighting.
propertyShapes:CommandBase.Command a sh:PropertyShape;
                                   sh:description "The type of command";
                                   sh:maxCount "1"^^xsd:integer;
                                   sh:minCount "1"^^xsd:integer;
                                   sh:name "Command";
                                   sh:node valueShapes:CommandBase.Command;
                                   sh:order "0"^^xsd:integer;
                                   sh:path sdtl:command.
propertyShapes:CommandBase.MessageText a sh:PropertyShape;
                                       sh:description "Adds a message that can be displayed with the command.";
                                       sh:minCount "0"^^xsd:integer;
                                       sh:name "MessageText";
                                       sh:node valueShapes:CommandBase.MessageText;
                                       sh:order "2"^^xsd:integer;
                                       sh:path sdtl:messageText.
propertyShapes:CommandBase.SourceInformation a sh:PropertyShape;
                                             sh:description "Information about the source of the command.";
                                             sh:minCount "0"^^xsd:integer;
                                             sh:name "SourceInformation";
                                             sh:node valueShapes:CommandBase.SourceInformation;
                                             sh:order "1"^^xsd:integer;
                                             sh:path sdtl:sourceInformation.
propertyShapes:Comment.CommentText a sh:PropertyShape;
                                   sh:description "The text of the source code comment.";
                                   sh:maxCount "1"^^xsd:integer;
                                   sh:minCount "1"^^xsd:integer;
                                   sh:name "CommentText";
                                   sh:node valueShapes:Comment.CommentText;
                                   sh:order "0"^^xsd:integer;
                                   sh:path sdtl:commentText.
propertyShapes:CompositeVariableNameExpression.ComputedVariableName a sh:PropertyShape;
                                                                    sh:description "An expression that evaluates to the constructed variable name.";
                                                                    sh:maxCount "1"^^xsd:integer;
                                                                    sh:minCount "1"^^xsd:integer;
                                                                    sh:name "ComputedVariableName";
                                                                    sh:node valueShapes:CompositeVariableNameExpression.ComputedVariableName;
                                                                    sh:order "0"^^xsd:integer;
                                                                    sh:path sdtl:computedVariableName.
propertyShapes:Compute.Expression a sh:PropertyShape;
                                  sh:description "The expression used to compute the value of the variable(s)";
                                  sh:maxCount "1"^^xsd:integer;
                                  sh:minCount "1"^^xsd:integer;
                                  sh:name "Expression";
                                  sh:node valueShapes:Compute.Expression;
                                  sh:order "1"^^xsd:integer;
                                  sh:path sdtl:expression.
propertyShapes:Compute.Variable a sh:PropertyShape;
                                sh:description "The variable that is computed.";
                                sh:maxCount "1"^^xsd:integer;
                                sh:minCount "1"^^xsd:integer;
                                sh:name "Variable";
                                sh:node valueShapes:Compute.Variable;
                                sh:order "0"^^xsd:integer;
                                sh:path sdtl:variable.
propertyShapes:DataframeDescription.ColumnDimensions a sh:PropertyShape;
                                                     sh:description "An ordered list of variables used as colum indexes in a multi-index";
                                                     sh:equals (sdtl:columnDimensionsList
                                                                [sh:zeroOrMorePath rdf:rest]
                                                                rdf:first);
                                                     sh:name "ColumnDimensions";
                                                     sh:node valueShapes:DataframeDescription.ColumnDimensions;
                                                     sh:order "3"^^xsd:integer;
                                                     sh:path sdtl:columnDimensions.
propertyShapes:DataframeDescription.ColumnDimensions.list a sh:PropertyShape;
                                                          sh:description "An ordered list of variables used as colum indexes in a multi-index";
                                                          sh:maxCount "1"^^xsd:integer;
                                                          sh:memberShape valueShapes:DataframeDescription.ColumnDimensions;
                                                          sh:minCount "1"^^xsd:integer;
                                                          sh:minListLength "0"^^xsd:integer;
                                                          sh:name "ColumnDimensions list";
                                                          sh:nodeKind sh:BlankNodeOrIRI;
                                                          sh:order "0"^^xsd:integer;
                                                          sh:path sdtl:columnDimensionsList.
propertyShapes:DataframeDescription.DataframeName a sh:PropertyShape;
                                                  sh:description "Name of the dataframe.";
                                                  sh:maxCount "1"^^xsd:integer;
                                                  sh:minCount "1"^^xsd:integer;
                                                  sh:name "DataframeName";
                                                  sh:node valueShapes:DataframeDescription.DataframeName;
                                                  sh:order "0"^^xsd:integer;
                                                  sh:path sdtl:dataframeName.
propertyShapes:DataframeDescription.RowDimensions a sh:PropertyShape;
                                                  sh:description "An ordered list of variables used as hierarchical dimensions in a data cube or multi-index";
                                                  sh:equals (sdtl:rowDimensionsList
                                                             [sh:zeroOrMorePath rdf:rest]
                                                             rdf:first);
                                                  sh:name "RowDimensions";
                                                  sh:node valueShapes:DataframeDescription.RowDimensions;
                                                  sh:order "2"^^xsd:integer;
                                                  sh:path sdtl:rowDimensions.
propertyShapes:DataframeDescription.RowDimensions.list a sh:PropertyShape;
                                                       sh:description "An ordered list of variables used as hierarchical dimensions in a data cube or multi-index";
                                                       sh:maxCount "1"^^xsd:integer;
                                                       sh:memberShape valueShapes:DataframeDescription.RowDimensions;
                                                       sh:minCount "1"^^xsd:integer;
                                                       sh:minListLength "0"^^xsd:integer;
                                                       sh:name "RowDimensions list";
                                                       sh:nodeKind sh:BlankNodeOrIRI;
                                                       sh:order "0"^^xsd:integer;
                                                       sh:path sdtl:rowDimensionsList.
propertyShapes:DataframeDescription.VariableInventory a sh:PropertyShape;
                                                      sh:description "Variables in the dataframe in order";
                                                      sh:minCount "0"^^xsd:integer;
                                                      sh:name "VariableInventory";
                                                      sh:node valueShapes:DataframeDescription.VariableInventory;
                                                      sh:order "1"^^xsd:integer;
                                                      sh:path sdtl:variableInventory.
propertyShapes:DateTimeConstant.DateTimeValue a sh:PropertyShape;
                                              sh:description "A specific instance of time in ISO 8601 format";
                                              sh:maxCount "1"^^xsd:integer;
                                              sh:minCount "1"^^xsd:integer;
                                              sh:name "DateTimeValue";
                                              sh:node valueShapes:DateTimeConstant.DateTimeValue;
                                              sh:order "0"^^xsd:integer;
                                              sh:path sdtl:dateTimeValue.
propertyShapes:DoIf.Condition a sh:PropertyShape;
                              sh:description "A logical expression";
                              sh:maxCount "1"^^xsd:integer;
                              sh:minCount "1"^^xsd:integer;
                              sh:name "Condition";
                              sh:node valueShapes:DoIf.Condition;
                              sh:order "0"^^xsd:integer;
                              sh:path sdtl:condition.
propertyShapes:DoIf.ElseCommands a sh:PropertyShape;
                                 sh:description "Commands to be performed if the condition is false.";
                                 sh:minCount "0"^^xsd:integer;
                                 sh:name "ElseCommands";
                                 sh:node valueShapes:DoIf.ElseCommands;
                                 sh:order "2"^^xsd:integer;
                                 sh:path sdtl:elseCommands.
propertyShapes:DoIf.ThenCommands a sh:PropertyShape;
                                 sh:description "Commands to be performed if the condition is true.";
                                 sh:minCount "1"^^xsd:integer;
                                 sh:name "ThenCommands";
                                 sh:node valueShapes:DoIf.ThenCommands;
                                 sh:order "1"^^xsd:integer;
                                 sh:path sdtl:thenCommands.
propertyShapes:DropCases.Condition a sh:PropertyShape;
                                   sh:description "If the logical expresion is true, the case (row) will be deleted from the working dataset.";
                                   sh:maxCount "1"^^xsd:integer;
                                   sh:minCount "1"^^xsd:integer;
                                   sh:name "Condition";
                                   sh:node valueShapes:DropCases.Condition;
                                   sh:order "0"^^xsd:integer;
                                   sh:path sdtl:condition.
propertyShapes:DropVariables.Variables a sh:PropertyShape;
                                       sh:description "The variables to be dropped.";
                                       sh:minCount "1"^^xsd:integer;
                                       sh:name "Variables";
                                       sh:node valueShapes:DropVariables.Variables;
                                       sh:order "0"^^xsd:integer;
                                       sh:path sdtl:variables.
propertyShapes:FunctionArgument.ArgumentName a sh:PropertyShape;
                                             sh:description "The name of the parameter.";
                                             sh:maxCount "1"^^xsd:integer;
                                             sh:minCount "1"^^xsd:integer;
                                             sh:name "ArgumentName";
                                             sh:node valueShapes:FunctionArgument.ArgumentName;
                                             sh:order "0"^^xsd:integer;
                                             sh:path sdtl:argumentName.
propertyShapes:FunctionArgument.ArgumentValue a sh:PropertyShape;
                                              sh:description "The value of the parameter.";
                                              sh:maxCount "1"^^xsd:integer;
                                              sh:minCount "1"^^xsd:integer;
                                              sh:name "ArgumentValue";
                                              sh:node valueShapes:FunctionArgument.ArgumentValue;
                                              sh:order "1"^^xsd:integer;
                                              sh:path sdtl:argumentValue.
propertyShapes:FunctionCallExpression.Arguments a sh:PropertyShape;
                                                sh:description "A list of parameters to the function.";
                                                sh:equals (sdtl:argumentsList
                                                           [sh:zeroOrMorePath rdf:rest]
                                                           rdf:first);
                                                sh:name "Arguments";
                                                sh:node valueShapes:FunctionCallExpression.Arguments;
                                                sh:order "2"^^xsd:integer;
                                                sh:path sdtl:arguments.
propertyShapes:FunctionCallExpression.Arguments.list a sh:PropertyShape;
                                                     sh:description "A list of parameters to the function.";
                                                     sh:maxCount "1"^^xsd:integer;
                                                     sh:memberShape valueShapes:FunctionCallExpression.Arguments;
                                                     sh:minCount "1"^^xsd:integer;
                                                     sh:minListLength "0"^^xsd:integer;
                                                     sh:name "Arguments list";
                                                     sh:nodeKind sh:BlankNodeOrIRI;
                                                     sh:order "0"^^xsd:integer;
                                                     sh:path sdtl:argumentsList.
propertyShapes:FunctionCallExpression.Function a sh:PropertyShape;
                                               sh:description "The name of the function being called.";
                                               sh:maxCount "1"^^xsd:integer;
                                               sh:minCount "1"^^xsd:integer;
                                               sh:name "Function";
                                               sh:node valueShapes:FunctionCallExpression.Function;
                                               sh:order "0"^^xsd:integer;
                                               sh:path sdtl:function.
propertyShapes:FunctionCallExpression.IsSdtlName a sh:PropertyShape;
                                                 sh:description "When true, the Function property contains the name of a function from the SDTL function library. When false, the Function property contains the name of a system-specific or user-defined function.";
                                                 sh:maxCount "1"^^xsd:integer;
                                                 sh:minCount "1"^^xsd:integer;
                                                 sh:name "IsSdtlName";
                                                 sh:node valueShapes:FunctionCallExpression.IsSdtlName;
                                                 sh:order "1"^^xsd:integer;
                                                 sh:path sdtl:isSdtlName.
propertyShapes:GroupedExpression.Expression a sh:PropertyShape;
                                            sh:description "Expression to be evaluated.";
                                            sh:maxCount "1"^^xsd:integer;
                                            sh:minCount "1"^^xsd:integer;
                                            sh:name "Expression";
                                            sh:node valueShapes:GroupedExpression.Expression;
                                            sh:order "0"^^xsd:integer;
                                            sh:path sdtl:expression.
propertyShapes:IfRows.Condition a sh:PropertyShape;
                                sh:description "A logical expression that is evaluated separately for every row in the dataframe.";
                                sh:maxCount "1"^^xsd:integer;
                                sh:minCount "1"^^xsd:integer;
                                sh:name "Condition";
                                sh:node valueShapes:IfRows.Condition;
                                sh:order "0"^^xsd:integer;
                                sh:path sdtl:condition.
propertyShapes:IfRows.ElseCommands a sh:PropertyShape;
                                   sh:description "Commands to be performed if the condition is false.";
                                   sh:minCount "0"^^xsd:integer;
                                   sh:name "ElseCommands";
                                   sh:node valueShapes:IfRows.ElseCommands;
                                   sh:order "2"^^xsd:integer;
                                   sh:path sdtl:elseCommands.
propertyShapes:IfRows.ThenCommands a sh:PropertyShape;
                                   sh:description "Commands to be performed if the condition is true.";
                                   sh:minCount "1"^^xsd:integer;
                                   sh:name "ThenCommands";
                                   sh:node valueShapes:IfRows.ThenCommands;
                                   sh:order "1"^^xsd:integer;
                                   sh:path sdtl:thenCommands.
propertyShapes:Invalid.ProblemDescription a sh:PropertyShape;
                                          sh:description "A message describing the issue with the invalid command.";
                                          sh:maxCount "1"^^xsd:integer;
                                          sh:minCount "1"^^xsd:integer;
                                          sh:name "ProblemDescription";
                                          sh:node valueShapes:Invalid.ProblemDescription;
                                          sh:order "0"^^xsd:integer;
                                          sh:path sdtl:problemDescription.
propertyShapes:IteratorDescription.IteratorSymbolName a sh:PropertyShape;
                                                      sh:description "The name used in  IteratorCommands  for the index variable that changes value in the loop.";
                                                      sh:maxCount "1"^^xsd:integer;
                                                      sh:minCount "1"^^xsd:integer;
                                                      sh:name "IteratorSymbolName";
                                                      sh:node valueShapes:IteratorDescription.IteratorSymbolName;
                                                      sh:order "0"^^xsd:integer;
                                                      sh:path sdtl:iteratorSymbolName.
propertyShapes:IteratorDescription.IteratorValues a sh:PropertyShape;
                                                  sh:description "Describes the values that are substituted for the index variable that changes value in the loop.";
                                                  sh:minCount "1"^^xsd:integer;
                                                  sh:name "IteratorValues";
                                                  sh:node valueShapes:IteratorDescription.IteratorValues;
                                                  sh:order "1"^^xsd:integer;
                                                  sh:path sdtl:iteratorValues.
propertyShapes:IteratorSymbolExpression.Name a sh:PropertyShape;
                                             sh:description "A name used for the index variable that takes different values inside a loop.";
                                             sh:maxCount "1"^^xsd:integer;
                                             sh:minCount "1"^^xsd:integer;
                                             sh:name "Name";
                                             sh:node valueShapes:IteratorSymbolExpression.Name;
                                             sh:order "0"^^xsd:integer;
                                             sh:path sdtl:name.
propertyShapes:KeepCases.Condition a sh:PropertyShape;
                                   sh:description "The logical expresion that must be true for a case to remain in the working dataset.";
                                   sh:maxCount "1"^^xsd:integer;
                                   sh:minCount "0"^^xsd:integer;
                                   sh:name "Condition";
                                   sh:node valueShapes:KeepCases.Condition;
                                   sh:order "0"^^xsd:integer;
                                   sh:path sdtl:condition.
propertyShapes:KeepVariables.Variables a sh:PropertyShape;
                                       sh:description "The variables to be kept in the dataset.";
                                       sh:minCount "0"^^xsd:integer;
                                       sh:name "Variables";
                                       sh:node valueShapes:KeepVariables.Variables;
                                       sh:order "0"^^xsd:integer;
                                       sh:path sdtl:variables.
propertyShapes:Load.FileFormat a sh:PropertyShape;
                               sh:description "The name of a file format";
                               sh:maxCount "1"^^xsd:integer;
                               sh:minCount "0"^^xsd:integer;
                               sh:name "FileFormat";
                               sh:node valueShapes:Load.FileFormat;
                               sh:order "2"^^xsd:integer;
                               sh:path sdtl:fileFormat.
propertyShapes:Load.FileName a sh:PropertyShape;
                             sh:description "The name of the file to be loaded.";
                             sh:maxCount "1"^^xsd:integer;
                             sh:minCount "1"^^xsd:integer;
                             sh:name "FileName";
                             sh:node valueShapes:Load.FileName;
                             sh:order "0"^^xsd:integer;
                             sh:path sdtl:fileName.
propertyShapes:Load.IsCompressed a sh:PropertyShape;
                                 sh:description "Indicates whether the file format is compressed.";
                                 sh:maxCount "1"^^xsd:integer;
                                 sh:minCount "0"^^xsd:integer;
                                 sh:name "IsCompressed";
                                 sh:node valueShapes:Load.IsCompressed;
                                 sh:order "3"^^xsd:integer;
                                 sh:path sdtl:isCompressed.
propertyShapes:Load.Software a sh:PropertyShape;
                             sh:description "The software package that works with the file.";
                             sh:maxCount "1"^^xsd:integer;
                             sh:minCount "0"^^xsd:integer;
                             sh:name "Software";
                             sh:node valueShapes:Load.Software;
                             sh:order "1"^^xsd:integer;
                             sh:path sdtl:software.
propertyShapes:LoopOverList.Commands a sh:PropertyShape;
                                     sh:description "Commands generated by the loop expanded by replacing tokens representing variables, numbers, or strings with their values.";
                                     sh:minCount "1"^^xsd:integer;
                                     sh:name "Commands";
                                     sh:node valueShapes:LoopOverList.Commands;
                                     sh:order "1"^^xsd:integer;
                                     sh:path sdtl:commands.
propertyShapes:LoopOverList.Iterators a sh:PropertyShape;
                                      sh:description "Describes one or more iteration processes in this loop.";
                                      sh:minCount "1"^^xsd:integer;
                                      sh:name "Iterators";
                                      sh:node valueShapes:LoopOverList.Iterators;
                                      sh:order "0"^^xsd:integer;
                                      sh:path sdtl:iterators.
propertyShapes:LoopOverList.Updated a sh:PropertyShape;
                                    sh:description "When TRUE, the loop has been expanded into separate commands.";
                                    sh:maxCount "1"^^xsd:integer;
                                    sh:minCount "0"^^xsd:integer;
                                    sh:name "Updated";
                                    sh:node valueShapes:LoopOverList.Updated;
                                    sh:order "2"^^xsd:integer;
                                    sh:path sdtl:updated.
propertyShapes:LoopWhile.Commands a sh:PropertyShape;
                                  sh:description "Commands within the loop.";
                                  sh:minCount "1"^^xsd:integer;
                                  sh:name "Commands";
                                  sh:node valueShapes:LoopWhile.Commands;
                                  sh:order "2"^^xsd:integer;
                                  sh:path sdtl:commands.
propertyShapes:LoopWhile.Condition a sh:PropertyShape;
                                   sh:description "Describes a condition required for the next iteration to begin.  ";
                                   sh:maxCount "1"^^xsd:integer;
                                   sh:minCount "0"^^xsd:integer;
                                   sh:name "Condition";
                                   sh:node valueShapes:LoopWhile.Condition;
                                   sh:order "0"^^xsd:integer;
                                   sh:path sdtl:condition.
propertyShapes:LoopWhile.EndCondition a sh:PropertyShape;
                                      sh:description "Describes a condition that ends interation.  ";
                                      sh:maxCount "1"^^xsd:integer;
                                      sh:minCount "0"^^xsd:integer;
                                      sh:name "EndCondition";
                                      sh:node valueShapes:LoopWhile.EndCondition;
                                      sh:order "1"^^xsd:integer;
                                      sh:path sdtl:endCondition.
propertyShapes:LoopWhile.Updated a sh:PropertyShape;
                                 sh:description "When TRUE, the loop has been expanded into separate commands.";
                                 sh:maxCount "1"^^xsd:integer;
                                 sh:minCount "0"^^xsd:integer;
                                 sh:name "Updated";
                                 sh:node valueShapes:LoopWhile.Updated;
                                 sh:order "3"^^xsd:integer;
                                 sh:path sdtl:updated.
propertyShapes:MergeDatasets.FirstVariable a sh:PropertyShape;
                                           sh:description "The name of a variable set to 1 for the first row of each group of cases with the same value for the MergeByVariables variables and set to  0 for all other rows.";
                                           sh:maxCount "1"^^xsd:integer;
                                           sh:minCount "0"^^xsd:integer;
                                           sh:name "FirstVariable";
                                           sh:node valueShapes:MergeDatasets.FirstVariable;
                                           sh:order "2"^^xsd:integer;
                                           sh:path sdtl:firstVariable.
propertyShapes:MergeDatasets.LastVariable a sh:PropertyShape;
                                          sh:description "The name of a variable set to 1 for the last row of each group of cases with the same value for the MergeByVariables variables and set to  0 for all other rows.";
                                          sh:maxCount "1"^^xsd:integer;
                                          sh:minCount "0"^^xsd:integer;
                                          sh:name "LastVariable";
                                          sh:node valueShapes:MergeDatasets.LastVariable;
                                          sh:order "3"^^xsd:integer;
                                          sh:path sdtl:lastVariable.
propertyShapes:MergeDatasets.MergeByVariables a sh:PropertyShape;
                                              sh:description """A variable or list of variables that acts as the unique case identifier across datasets.  If MergeByVariables is absent, MergeType must be \"sequential\" on all files.""";
                                              sh:maxCount "1"^^xsd:integer;
                                              sh:minCount "0"^^xsd:integer;
                                              sh:name "MergeByVariables";
                                              sh:node valueShapes:MergeDatasets.MergeByVariables;
                                              sh:order "1"^^xsd:integer;
                                              sh:path sdtl:mergeByVariables.
propertyShapes:MergeDatasets.MergeFiles a sh:PropertyShape;
                                        sh:description "Description of files to be merged.";
                                        sh:minCount "2"^^xsd:integer;
                                        sh:name "MergeFiles";
                                        sh:node valueShapes:MergeDatasets.MergeFiles;
                                        sh:order "0"^^xsd:integer;
                                        sh:path sdtl:mergeFiles.
propertyShapes:MergeFileDescription.DropCasesCondition a sh:PropertyShape;
                                                       sh:description "Logical condition for dropping rows.";
                                                       sh:maxCount "1"^^xsd:integer;
                                                       sh:minCount "0"^^xsd:integer;
                                                       sh:name "DropCasesCondition";
                                                       sh:node valueShapes:MergeFileDescription.DropCasesCondition;
                                                       sh:order "9"^^xsd:integer;
                                                       sh:path sdtl:dropCasesCondition.
propertyShapes:MergeFileDescription.DropVariables a sh:PropertyShape;
                                                  sh:description "List of variables to drop";
                                                  sh:minCount "0"^^xsd:integer;
                                                  sh:name "DropVariables";
                                                  sh:node valueShapes:MergeFileDescription.DropVariables;
                                                  sh:order "7"^^xsd:integer;
                                                  sh:path sdtl:dropVariables.
propertyShapes:MergeFileDescription.FileFormat a sh:PropertyShape;
                                               sh:description "The name of a file format";
                                               sh:maxCount "1"^^xsd:integer;
                                               sh:minCount "0"^^xsd:integer;
                                               sh:name "FileFormat";
                                               sh:node valueShapes:MergeFileDescription.FileFormat;
                                               sh:order "12"^^xsd:integer;
                                               sh:path sdtl:fileFormat.
propertyShapes:MergeFileDescription.FileName a sh:PropertyShape;
                                             sh:description "Name of the file being merged.  May be the name of an active dataframe.";
                                             sh:maxCount "1"^^xsd:integer;
                                             sh:minCount "1"^^xsd:integer;
                                             sh:name "FileName";
                                             sh:node valueShapes:MergeFileDescription.FileName;
                                             sh:order "0"^^xsd:integer;
                                             sh:path sdtl:fileName.
propertyShapes:MergeFileDescription.IsCompressed a sh:PropertyShape;
                                                 sh:description "Indicates whether the file format is compressed.";
                                                 sh:maxCount "1"^^xsd:integer;
                                                 sh:minCount "0"^^xsd:integer;
                                                 sh:name "IsCompressed";
                                                 sh:node valueShapes:MergeFileDescription.IsCompressed;
                                                 sh:order "13"^^xsd:integer;
                                                 sh:path sdtl:isCompressed.
propertyShapes:MergeFileDescription.KeepCasesCondition a sh:PropertyShape;
                                                       sh:description "Logical condition for keeping rows.";
                                                       sh:maxCount "1"^^xsd:integer;
                                                       sh:minCount "0"^^xsd:integer;
                                                       sh:name "KeepCasesCondition";
                                                       sh:node valueShapes:MergeFileDescription.KeepCasesCondition;
                                                       sh:order "8"^^xsd:integer;
                                                       sh:path sdtl:keepCasesCondition.
propertyShapes:MergeFileDescription.KeepVariables a sh:PropertyShape;
                                                  sh:description "List of variables to keep";
                                                  sh:minCount "0"^^xsd:integer;
                                                  sh:name "KeepVariables";
                                                  sh:node valueShapes:MergeFileDescription.KeepVariables;
                                                  sh:order "6"^^xsd:integer;
                                                  sh:path sdtl:keepVariables.
propertyShapes:MergeFileDescription.MergeByNames a sh:PropertyShape;
                                                 sh:description "An ordered list of variables used as keys  in this file to be matched to the variables in the mergeByVariables property of the MergeDatasets command.  This property is only used when the key variables in this file have different names than the variable names listed in the MergeDatasets command.";
                                                 sh:equals (sdtl:mergeByNamesList
                                                            [sh:zeroOrMorePath rdf:rest]
                                                            rdf:first);
                                                 sh:name "MergeByNames";
                                                 sh:node valueShapes:MergeFileDescription.MergeByNames;
                                                 sh:order "10"^^xsd:integer;
                                                 sh:path sdtl:mergeByNames.
propertyShapes:MergeFileDescription.MergeByNames.list a sh:PropertyShape;
                                                      sh:description "An ordered list of variables used as keys  in this file to be matched to the variables in the mergeByVariables property of the MergeDatasets command.  This property is only used when the key variables in this file have different names than the variable names listed in the MergeDatasets command.";
                                                      sh:maxCount "1"^^xsd:integer;
                                                      sh:memberShape valueShapes:MergeFileDescription.MergeByNames;
                                                      sh:minCount "1"^^xsd:integer;
                                                      sh:minListLength "0"^^xsd:integer;
                                                      sh:name "MergeByNames list";
                                                      sh:nodeKind sh:BlankNodeOrIRI;
                                                      sh:order "0"^^xsd:integer;
                                                      sh:path sdtl:mergeByNamesList.
propertyShapes:MergeFileDescription.MergeFlagVariable a sh:PropertyShape;
                                                      sh:description "Name of a new variable indicating whether the row came from this file or a different input file.";
                                                      sh:maxCount "1"^^xsd:integer;
                                                      sh:minCount "0"^^xsd:integer;
                                                      sh:name "MergeFlagVariable";
                                                      sh:node valueShapes:MergeFileDescription.MergeFlagVariable;
                                                      sh:order "2"^^xsd:integer;
                                                      sh:path sdtl:mergeFlagVariable.
propertyShapes:MergeFileDescription.MergeType a sh:PropertyShape;
                                              sh:description "Describes the type of merge performed. ";
                                              sh:maxCount "1"^^xsd:integer;
                                              sh:minCount "1"^^xsd:integer;
                                              sh:name "MergeType";
                                              sh:node valueShapes:MergeFileDescription.MergeType;
                                              sh:order "1"^^xsd:integer;
                                              sh:path sdtl:mergeType.
propertyShapes:MergeFileDescription.NewRow a sh:PropertyShape;
                                           sh:description "When TRUE,  generate new row when not matched to other files";
                                           sh:maxCount "1"^^xsd:integer;
                                           sh:minCount "1"^^xsd:integer;
                                           sh:name "NewRow";
                                           sh:node valueShapes:MergeFileDescription.NewRow;
                                           sh:order "5"^^xsd:integer;
                                           sh:path sdtl:newRow.
propertyShapes:MergeFileDescription.RenameVariables a sh:PropertyShape;
                                                    sh:description "Variables to be renamed";
                                                    sh:minCount "0"^^xsd:integer;
                                                    sh:name "RenameVariables";
                                                    sh:node valueShapes:MergeFileDescription.RenameVariables;
                                                    sh:order "3"^^xsd:integer;
                                                    sh:path sdtl:renameVariables.
propertyShapes:MergeFileDescription.Software a sh:PropertyShape;
                                             sh:description "The software package that works with the file.";
                                             sh:maxCount "1"^^xsd:integer;
                                             sh:minCount "0"^^xsd:integer;
                                             sh:name "Software";
                                             sh:node valueShapes:MergeFileDescription.Software;
                                             sh:order "11"^^xsd:integer;
                                             sh:path sdtl:software.
propertyShapes:MergeFileDescription.Update a sh:PropertyShape;
                                           sh:description """When the same variables exist in more than one dataframe. values in the \"Master\" dataframe can be replaced by values from a different dataframe. \"Master\" is the default value.  \"Ignore\" means values in this dataframe are never used.  \"FillNew\" is used on rows not found in the \"Master\" dataframe.  \"UpdateMissing\" replaces missing values in the \"Master\" dataframe. \"Replace\" changes all values in the \"Master\" dataframe.\"""";
                                           sh:maxCount "1"^^xsd:integer;
                                           sh:minCount "1"^^xsd:integer;
                                           sh:name "Update";
                                           sh:node valueShapes:MergeFileDescription.Update;
                                           sh:order "4"^^xsd:integer;
                                           sh:path sdtl:update.
propertyShapes:Message.CharacterPosition a sh:PropertyShape;
                                         sh:description "The character position of the source that the message is related to, if relevant.";
                                         sh:maxCount "1"^^xsd:integer;
                                         sh:minCount "0"^^xsd:integer;
                                         sh:name "CharacterPosition";
                                         sh:node valueShapes:Message.CharacterPosition;
                                         sh:order "2"^^xsd:integer;
                                         sh:path sdtl:characterPosition.
propertyShapes:Message.LineNumber a sh:PropertyShape;
                                  sh:description "The line number of the source that the messages is related to, if relevant.";
                                  sh:maxCount "1"^^xsd:integer;
                                  sh:minCount "0"^^xsd:integer;
                                  sh:name "LineNumber";
                                  sh:node valueShapes:Message.LineNumber;
                                  sh:order "1"^^xsd:integer;
                                  sh:path sdtl:lineNumber.
propertyShapes:Message.Severity a sh:PropertyShape;
                                sh:description "Information, Warning, Error";
                                sh:maxCount "1"^^xsd:integer;
                                sh:minCount "0"^^xsd:integer;
                                sh:name "Severity";
                                sh:node valueShapes:Message.Severity;
                                sh:order "0"^^xsd:integer;
                                sh:path sdtl:severity.
propertyShapes:MissingValueConstantExpression.Value a sh:PropertyShape;
                                                    sh:description "The missing value as it appears in the system (e.g., .a, .b, .c).  If Null, this is the system missing value.";
                                                    sh:maxCount "1"^^xsd:integer;
                                                    sh:minCount "0"^^xsd:integer;
                                                    sh:name "Value";
                                                    sh:node valueShapes:MissingValueConstantExpression.Value;
                                                    sh:order "0"^^xsd:integer;
                                                    sh:path sdtl:value.
propertyShapes:NewDataframe.NumberOfColumns a sh:PropertyShape;
                                            sh:description "Number of columns in new dataframe";
                                            sh:maxCount "1"^^xsd:integer;
                                            sh:minCount "0"^^xsd:integer;
                                            sh:name "NumberOfColumns";
                                            sh:node valueShapes:NewDataframe.NumberOfColumns;
                                            sh:order "1"^^xsd:integer;
                                            sh:path sdtl:numberOfColumns.
propertyShapes:NewDataframe.NumberOfRows a sh:PropertyShape;
                                         sh:description "Number of rows in new dataframe";
                                         sh:maxCount "1"^^xsd:integer;
                                         sh:minCount "0"^^xsd:integer;
                                         sh:name "NumberOfRows";
                                         sh:node valueShapes:NewDataframe.NumberOfRows;
                                         sh:order "0"^^xsd:integer;
                                         sh:path sdtl:numberOfRows.
propertyShapes:NumberRangeExpression.NumberRangeEnd a sh:PropertyShape;
                                                    sh:description "Ending value for range";
                                                    sh:maxCount "1"^^xsd:integer;
                                                    sh:minCount "1"^^xsd:integer;
                                                    sh:name "NumberRangeEnd";
                                                    sh:node valueShapes:NumberRangeExpression.NumberRangeEnd;
                                                    sh:order "1"^^xsd:integer;
                                                    sh:path sdtl:numberRangeEnd.
propertyShapes:NumberRangeExpression.NumberRangeIncrement a sh:PropertyShape;
                                                          sh:description "Increment for stepping through range";
                                                          sh:maxCount "1"^^xsd:integer;
                                                          sh:minCount "0"^^xsd:integer;
                                                          sh:name "NumberRangeIncrement";
                                                          sh:node valueShapes:NumberRangeExpression.NumberRangeIncrement;
                                                          sh:order "2"^^xsd:integer;
                                                          sh:path sdtl:numberRangeIncrement.
propertyShapes:NumberRangeExpression.NumberRangeStart a sh:PropertyShape;
                                                      sh:description "Starting value for range";
                                                      sh:maxCount "1"^^xsd:integer;
                                                      sh:minCount "1"^^xsd:integer;
                                                      sh:name "NumberRangeStart";
                                                      sh:node valueShapes:NumberRangeExpression.NumberRangeStart;
                                                      sh:order "0"^^xsd:integer;
                                                      sh:path sdtl:numberRangeStart.
propertyShapes:NumericConstantExpression.NumericType a sh:PropertyShape;
                                                     sh:description "Type of the number";
                                                     sh:maxCount "1"^^xsd:integer;
                                                     sh:minCount "1"^^xsd:integer;
                                                     sh:name "NumericType";
                                                     sh:node valueShapes:NumericConstantExpression.NumericType;
                                                     sh:order "1"^^xsd:integer;
                                                     sh:path sdtl:numericType.
propertyShapes:NumericConstantExpression.Value a sh:PropertyShape;
                                               sh:description "A number";
                                               sh:maxCount "1"^^xsd:integer;
                                               sh:minCount "1"^^xsd:integer;
                                               sh:name "Value";
                                               sh:node valueShapes:NumericConstantExpression.Value;
                                               sh:order "0"^^xsd:integer;
                                               sh:path sdtl:value.
propertyShapes:Program.CommandCount a sh:PropertyShape;
                                    sh:description "The number of commands detected in the source file.";
                                    sh:maxCount "1"^^xsd:integer;
                                    sh:minCount "0"^^xsd:integer;
                                    sh:name "CommandCount";
                                    sh:node valueShapes:Program.CommandCount;
                                    sh:order "8"^^xsd:integer;
                                    sh:path sdtl:commandCount.
propertyShapes:Program.Commands a sh:PropertyShape;
                                sh:description "The list of commands that make up the program.";
                                sh:equals (sdtl:commandsList
                                           [sh:zeroOrMorePath rdf:rest]
                                           rdf:first);
                                sh:name "Commands";
                                sh:node valueShapes:Program.Commands;
                                sh:order "14"^^xsd:integer;
                                sh:path sdtl:commands.
propertyShapes:Program.Commands.list a sh:PropertyShape;
                                     sh:description "The list of commands that make up the program.";
                                     sh:maxCount "1"^^xsd:integer;
                                     sh:memberShape valueShapes:Program.Commands;
                                     sh:minCount "1"^^xsd:integer;
                                     sh:minListLength "0"^^xsd:integer;
                                     sh:name "Commands list";
                                     sh:nodeKind sh:BlankNodeOrIRI;
                                     sh:order "0"^^xsd:integer;
                                     sh:path sdtl:commandsList.
propertyShapes:Program.ID a sh:PropertyShape;
                          sh:description "ID of the object being referenced.";
                          sh:maxCount "1"^^xsd:integer;
                          sh:minCount "1"^^xsd:integer;
                          sh:minLength "1"^^xsd:integer;
                          sh:name "ID";
                          sh:node valueShapes:Program.ID;
                          sh:order "0"^^xsd:integer;
                          sh:path sdtl:id.
propertyShapes:Program.LineCount a sh:PropertyShape;
                                 sh:description "The number of lines in the source file.";
                                 sh:maxCount "1"^^xsd:integer;
                                 sh:minCount "0"^^xsd:integer;
                                 sh:name "LineCount";
                                 sh:node valueShapes:Program.LineCount;
                                 sh:order "7"^^xsd:integer;
                                 sh:path sdtl:lineCount.
propertyShapes:Program.Messages a sh:PropertyShape;
                                sh:description "Messages related to the parsing of the source file.";
                                sh:minCount "0"^^xsd:integer;
                                sh:name "Messages";
                                sh:node valueShapes:Program.Messages;
                                sh:order "9"^^xsd:integer;
                                sh:path sdtl:messages.
propertyShapes:Program.ModelCreatedTime a sh:PropertyShape;
                                        sh:description "The date and time the SDTL was generated.";
                                        sh:maxCount "1"^^xsd:integer;
                                        sh:minCount "0"^^xsd:integer;
                                        sh:name "ModelCreatedTime";
                                        sh:node valueShapes:Program.ModelCreatedTime;
                                        sh:order "13"^^xsd:integer;
                                        sh:path sdtl:modelCreatedTime.
propertyShapes:Program.ModelVersion a sh:PropertyShape;
                                    sh:description "The version of the SDTL model.";
                                    sh:maxCount "1"^^xsd:integer;
                                    sh:minCount "0"^^xsd:integer;
                                    sh:name "ModelVersion";
                                    sh:node valueShapes:Program.ModelVersion;
                                    sh:order "12"^^xsd:integer;
                                    sh:path sdtl:modelVersion.
propertyShapes:Program.Parser a sh:PropertyShape;
                              sh:description "The name of the parser used to generate the SDTL.";
                              sh:maxCount "1"^^xsd:integer;
                              sh:minCount "0"^^xsd:integer;
                              sh:name "Parser";
                              sh:node valueShapes:Program.Parser;
                              sh:order "10"^^xsd:integer;
                              sh:path sdtl:parser.
propertyShapes:Program.ParserVersion a sh:PropertyShape;
                                     sh:description "The version of the parser used to generate the SDTL.";
                                     sh:maxCount "1"^^xsd:integer;
                                     sh:minCount "0"^^xsd:integer;
                                     sh:name "ParserVersion";
                                     sh:node valueShapes:Program.ParserVersion;
                                     sh:order "11"^^xsd:integer;
                                     sh:path sdtl:parserVersion.
propertyShapes:Program.ScriptMD5 a sh:PropertyShape;
                                 sh:description "The MD5 hash of the contents of the file.";
                                 sh:maxCount "1"^^xsd:integer;
                                 sh:minCount "0"^^xsd:integer;
                                 sh:name "ScriptMD5";
                                 sh:node valueShapes:Program.ScriptMD5;
                                 sh:order "3"^^xsd:integer;
                                 sh:path sdtl:scriptMd5.
propertyShapes:Program.ScriptSHA1 a sh:PropertyShape;
                                  sh:description "The SHA-1 hash of the contents of the file.";
                                  sh:maxCount "1"^^xsd:integer;
                                  sh:minCount "0"^^xsd:integer;
                                  sh:name "ScriptSHA1";
                                  sh:node valueShapes:Program.ScriptSHA1;
                                  sh:order "4"^^xsd:integer;
                                  sh:path sdtl:scriptSha1.
propertyShapes:Program.SourceFileLastUpdate a sh:PropertyShape;
                                            sh:description "The date and time the file was last updated.";
                                            sh:maxCount "1"^^xsd:integer;
                                            sh:minCount "0"^^xsd:integer;
                                            sh:name "SourceFileLastUpdate";
                                            sh:node valueShapes:Program.SourceFileLastUpdate;
                                            sh:order "5"^^xsd:integer;
                                            sh:path sdtl:sourceFileLastUpdate.
propertyShapes:Program.SourceFileName a sh:PropertyShape;
                                      sh:description "The name of the file containing the source code.";
                                      sh:maxCount "1"^^xsd:integer;
                                      sh:minCount "0"^^xsd:integer;
                                      sh:name "SourceFileName";
                                      sh:node valueShapes:Program.SourceFileName;
                                      sh:order "1"^^xsd:integer;
                                      sh:path sdtl:sourceFileName.
propertyShapes:Program.SourceFileSize a sh:PropertyShape;
                                      sh:description "The size of the file in bytes.";
                                      sh:maxCount "1"^^xsd:integer;
                                      sh:minCount "0"^^xsd:integer;
                                      sh:name "SourceFileSize";
                                      sh:node valueShapes:Program.SourceFileSize;
                                      sh:order "6"^^xsd:integer;
                                      sh:path sdtl:sourceFileSize.
propertyShapes:Program.SourceLanguage a sh:PropertyShape;
                                      sh:description "The language of the source code.";
                                      sh:maxCount "1"^^xsd:integer;
                                      sh:minCount "0"^^xsd:integer;
                                      sh:name "SourceLanguage";
                                      sh:node valueShapes:Program.SourceLanguage;
                                      sh:order "2"^^xsd:integer;
                                      sh:path sdtl:sourceLanguage.
propertyShapes:Recode.RecodedVariableRange a sh:PropertyShape;
                                           sh:description "A range of variables to which the recode rules are applied. The resulting values are stored in the same variable.";
                                           sh:maxCount "1"^^xsd:integer;
                                           sh:minCount "0"^^xsd:integer;
                                           sh:name "RecodedVariableRange";
                                           sh:node valueShapes:Recode.RecodedVariableRange;
                                           sh:order "1"^^xsd:integer;
                                           sh:path sdtl:recodedVariableRange.
propertyShapes:Recode.RecodedVariables a sh:PropertyShape;
                                       sh:description "The variables that will have their values recoded. The resulting values may be either stored in the same variable, or a newly created destination variable";
                                       sh:minCount "0"^^xsd:integer;
                                       sh:name "RecodedVariables";
                                       sh:node valueShapes:Recode.RecodedVariables;
                                       sh:order "0"^^xsd:integer;
                                       sh:path sdtl:recodedVariables.
propertyShapes:Recode.Rules a sh:PropertyShape;
                            sh:description "A mapping describing which values will be recoded to which new values";
                            sh:minCount "0"^^xsd:integer;
                            sh:name "Rules";
                            sh:node valueShapes:Recode.Rules;
                            sh:order "2"^^xsd:integer;
                            sh:path sdtl:rules.
propertyShapes:RecodeRule.FromValue a sh:PropertyShape;
                                    sh:description "The values to be recoded.";
                                    sh:minCount "0"^^xsd:integer;
                                    sh:name "FromValue";
                                    sh:node valueShapes:RecodeRule.FromValue;
                                    sh:order "0"^^xsd:integer;
                                    sh:path sdtl:fromValue.
propertyShapes:RecodeRule.Label a sh:PropertyShape;
                                sh:description "A value label for the new recoded value, if appropriate";
                                sh:maxCount "1"^^xsd:integer;
                                sh:minCount "0"^^xsd:integer;
                                sh:name "Label";
                                sh:node valueShapes:RecodeRule.Label;
                                sh:order "2"^^xsd:integer;
                                sh:path sdtl:label.
propertyShapes:RecodeRule.To a sh:PropertyShape;
                             sh:description "The new value";
                             sh:maxCount "1"^^xsd:integer;
                             sh:minCount "0"^^xsd:integer;
                             sh:name "To";
                             sh:node valueShapes:RecodeRule.To;
                             sh:order "1"^^xsd:integer;
                             sh:path sdtl:to.
propertyShapes:RecodeVariable.Source a sh:PropertyShape;
                                     sh:description "The name of the variable which will have its values recoded";
                                     sh:maxCount "1"^^xsd:integer;
                                     sh:minCount "0"^^xsd:integer;
                                     sh:name "Source";
                                     sh:node valueShapes:RecodeVariable.Source;
                                     sh:order "0"^^xsd:integer;
                                     sh:path sdtl:source.
propertyShapes:RecodeVariable.Target a sh:PropertyShape;
                                     sh:description "The name of the new variable into which the recoded values are inserted. This may be the same as the source variable if values are recoded in place.";
                                     sh:maxCount "1"^^xsd:integer;
                                     sh:minCount "0"^^xsd:integer;
                                     sh:name "Target";
                                     sh:node valueShapes:RecodeVariable.Target;
                                     sh:order "1"^^xsd:integer;
                                     sh:path sdtl:target.
propertyShapes:Rename.Renames a sh:PropertyShape;
                              sh:description "A list of variable rename objects, which includes the old name and the new name.";
                              sh:minCount "1"^^xsd:integer;
                              sh:name "Renames";
                              sh:node valueShapes:Rename.Renames;
                              sh:order "0"^^xsd:integer;
                              sh:path sdtl:renames.
propertyShapes:RenamePair.NewVariable a sh:PropertyShape;
                                      sh:description "The new name of the variable.";
                                      sh:maxCount "1"^^xsd:integer;
                                      sh:minCount "1"^^xsd:integer;
                                      sh:name "NewVariable";
                                      sh:node valueShapes:RenamePair.NewVariable;
                                      sh:order "1"^^xsd:integer;
                                      sh:path sdtl:newVariable.
propertyShapes:RenamePair.OldVariable a sh:PropertyShape;
                                      sh:description "The old name of the variable.";
                                      sh:maxCount "1"^^xsd:integer;
                                      sh:minCount "1"^^xsd:integer;
                                      sh:name "OldVariable";
                                      sh:node valueShapes:RenamePair.OldVariable;
                                      sh:order "0"^^xsd:integer;
                                      sh:path sdtl:oldVariable.
propertyShapes:ReshapeItemDescription.IndexValues a sh:PropertyShape;
                                                  sh:description "A list of values that produce new rows (long) or columns (wide) for this variable.";
                                                  sh:maxCount "1"^^xsd:integer;
                                                  sh:minCount "0"^^xsd:integer;
                                                  sh:name "IndexValues";
                                                  sh:node valueShapes:ReshapeItemDescription.IndexValues;
                                                  sh:order "4"^^xsd:integer;
                                                  sh:path sdtl:indexValues.
propertyShapes:ReshapeItemDescription.IndexVariableLabel a sh:PropertyShape;
                                                         sh:description "Label for the variable in IndexVariableName.";
                                                         sh:maxCount "1"^^xsd:integer;
                                                         sh:minCount "0"^^xsd:integer;
                                                         sh:name "IndexVariableLabel";
                                                         sh:node valueShapes:ReshapeItemDescription.IndexVariableLabel;
                                                         sh:order "6"^^xsd:integer;
                                                         sh:path sdtl:indexVariableLabel.
propertyShapes:ReshapeItemDescription.IndexVariableName a sh:PropertyShape;
                                                        sh:description "Name of the variable that will contain the value of the index for this row.";
                                                        sh:maxCount "1"^^xsd:integer;
                                                        sh:minCount "0"^^xsd:integer;
                                                        sh:name "IndexVariableName";
                                                        sh:node valueShapes:ReshapeItemDescription.IndexVariableName;
                                                        sh:order "5"^^xsd:integer;
                                                        sh:path sdtl:indexVariableName.
propertyShapes:ReshapeItemDescription.SourceVariables a sh:PropertyShape;
                                                      sh:description "Source variables in the original dataset used to create this variable.";
                                                      sh:maxCount "1"^^xsd:integer;
                                                      sh:minCount "0"^^xsd:integer;
                                                      sh:name "SourceVariables";
                                                      sh:node valueShapes:ReshapeItemDescription.SourceVariables;
                                                      sh:order "2"^^xsd:integer;
                                                      sh:path sdtl:sourceVariables.
propertyShapes:ReshapeItemDescription.Stub a sh:PropertyShape;
                                           sh:description "The stub is a string used in the names of variables in the wide dataset.";
                                           sh:maxCount "1"^^xsd:integer;
                                           sh:minCount "0"^^xsd:integer;
                                           sh:name "Stub";
                                           sh:node valueShapes:ReshapeItemDescription.Stub;
                                           sh:order "3"^^xsd:integer;
                                           sh:path sdtl:stub.
propertyShapes:ReshapeItemDescription.TargetVariableLabel a sh:PropertyShape;
                                                          sh:description "Label for new variable created by this command.";
                                                          sh:maxCount "1"^^xsd:integer;
                                                          sh:minCount "0"^^xsd:integer;
                                                          sh:name "TargetVariableLabel";
                                                          sh:node valueShapes:ReshapeItemDescription.TargetVariableLabel;
                                                          sh:order "1"^^xsd:integer;
                                                          sh:path sdtl:targetVariableLabel.
propertyShapes:ReshapeItemDescription.TargetVariableName a sh:PropertyShape;
                                                         sh:description "Name of new variable created by this command.";
                                                         sh:maxCount "1"^^xsd:integer;
                                                         sh:minCount "0"^^xsd:integer;
                                                         sh:name "TargetVariableName";
                                                         sh:node valueShapes:ReshapeItemDescription.TargetVariableName;
                                                         sh:order "0"^^xsd:integer;
                                                         sh:path sdtl:targetVariableName.
propertyShapes:ReshapeLong.CaseNumberVariable a sh:PropertyShape;
                                              sh:description "New variable identifying the case number in the wide data that created this row.";
                                              sh:maxCount "1"^^xsd:integer;
                                              sh:minCount "0"^^xsd:integer;
                                              sh:name "CaseNumberVariable";
                                              sh:node valueShapes:ReshapeLong.CaseNumberVariable;
                                              sh:order "1"^^xsd:integer;
                                              sh:path sdtl:caseNumberVariable.
propertyShapes:ReshapeLong.CountByID a sh:PropertyShape;
                                     sh:description "New variable with the number of cases in the long dataset that were created from the source row in the wide dataset.";
                                     sh:maxCount "1"^^xsd:integer;
                                     sh:minCount "0"^^xsd:integer;
                                     sh:name "CountByID";
                                     sh:node valueShapes:ReshapeLong.CountByID;
                                     sh:order "6"^^xsd:integer;
                                     sh:path sdtl:countById.
propertyShapes:ReshapeLong.CountByIDLabel a sh:PropertyShape;
                                          sh:description "Label for the CountByID variable.";
                                          sh:maxCount "1"^^xsd:integer;
                                          sh:minCount "0"^^xsd:integer;
                                          sh:name "CountByIDLabel";
                                          sh:node valueShapes:ReshapeLong.CountByIDLabel;
                                          sh:order "7"^^xsd:integer;
                                          sh:path sdtl:countByIdLabel.
propertyShapes:ReshapeLong.DropVariables a sh:PropertyShape;
                                         sh:description "Variables to be dropped from the new dataset.";
                                         sh:maxCount "1"^^xsd:integer;
                                         sh:minCount "0"^^xsd:integer;
                                         sh:name "DropVariables";
                                         sh:node valueShapes:ReshapeLong.DropVariables;
                                         sh:order "3"^^xsd:integer;
                                         sh:path sdtl:dropVariables.
propertyShapes:ReshapeLong.IDVariables a sh:PropertyShape;
                                       sh:description "One or more variables identifying unique rows in the wide data.";
                                       sh:maxCount "1"^^xsd:integer;
                                       sh:minCount "0"^^xsd:integer;
                                       sh:name "IDVariables";
                                       sh:node valueShapes:ReshapeLong.IDVariables;
                                       sh:order "2"^^xsd:integer;
                                       sh:path sdtl:idVariables.
propertyShapes:ReshapeLong.KeepNullCases a sh:PropertyShape;
                                         sh:description "When set to TRUE, rows in which all constructed variables are missing are not deleted.";
                                         sh:maxCount "1"^^xsd:integer;
                                         sh:minCount "0"^^xsd:integer;
                                         sh:name "KeepNullCases";
                                         sh:node valueShapes:ReshapeLong.KeepNullCases;
                                         sh:order "5"^^xsd:integer;
                                         sh:path sdtl:keepNullCases.
propertyShapes:ReshapeLong.KeepVariables a sh:PropertyShape;
                                         sh:description "Variables to be kept in the new dataset.";
                                         sh:maxCount "1"^^xsd:integer;
                                         sh:minCount "0"^^xsd:integer;
                                         sh:name "KeepVariables";
                                         sh:node valueShapes:ReshapeLong.KeepVariables;
                                         sh:order "4"^^xsd:integer;
                                         sh:path sdtl:keepVariables.
propertyShapes:ReshapeLong.MakeItems a sh:PropertyShape;
                                     sh:description "New variables created by this command.";
                                     sh:minCount "0"^^xsd:integer;
                                     sh:name "MakeItems";
                                     sh:node valueShapes:ReshapeLong.MakeItems;
                                     sh:order "0"^^xsd:integer;
                                     sh:path sdtl:makeItems.
propertyShapes:ReshapeWide.DropVariables a sh:PropertyShape;
                                         sh:description "Variables to be dropped from the new dataset.";
                                         sh:maxCount "1"^^xsd:integer;
                                         sh:minCount "0"^^xsd:integer;
                                         sh:name "DropVariables";
                                         sh:node valueShapes:ReshapeWide.DropVariables;
                                         sh:order "2"^^xsd:integer;
                                         sh:path sdtl:dropVariables.
propertyShapes:ReshapeWide.IDVariables a sh:PropertyShape;
                                       sh:description "One or more variables identifying unique rows in the wide data.";
                                       sh:maxCount "1"^^xsd:integer;
                                       sh:minCount "0"^^xsd:integer;
                                       sh:name "IDVariables";
                                       sh:node valueShapes:ReshapeWide.IDVariables;
                                       sh:order "1"^^xsd:integer;
                                       sh:path sdtl:idVariables.
propertyShapes:ReshapeWide.KeepVariables a sh:PropertyShape;
                                         sh:description "Variables to be kept in the new dataset.";
                                         sh:maxCount "1"^^xsd:integer;
                                         sh:minCount "0"^^xsd:integer;
                                         sh:name "KeepVariables";
                                         sh:node valueShapes:ReshapeWide.KeepVariables;
                                         sh:order "3"^^xsd:integer;
                                         sh:path sdtl:keepVariables.
propertyShapes:ReshapeWide.MakeItems a sh:PropertyShape;
                                     sh:description "New variables created by this command.";
                                     sh:minCount "0"^^xsd:integer;
                                     sh:name "MakeItems";
                                     sh:node valueShapes:ReshapeWide.MakeItems;
                                     sh:order "0"^^xsd:integer;
                                     sh:path sdtl:makeItems.
propertyShapes:Save.FileFormat a sh:PropertyShape;
                               sh:description "The name of a file format";
                               sh:maxCount "1"^^xsd:integer;
                               sh:minCount "0"^^xsd:integer;
                               sh:name "FileFormat";
                               sh:node valueShapes:Save.FileFormat;
                               sh:order "2"^^xsd:integer;
                               sh:path sdtl:fileFormat.
propertyShapes:Save.FileName a sh:PropertyShape;
                             sh:description "The name of the file to be saved.";
                             sh:maxCount "1"^^xsd:integer;
                             sh:minCount "0"^^xsd:integer;
                             sh:name "FileName";
                             sh:node valueShapes:Save.FileName;
                             sh:order "0"^^xsd:integer;
                             sh:path sdtl:fileName.
propertyShapes:Save.IsCompressed a sh:PropertyShape;
                                 sh:description "Indicates whether the file format is compressed.";
                                 sh:maxCount "1"^^xsd:integer;
                                 sh:minCount "0"^^xsd:integer;
                                 sh:name "IsCompressed";
                                 sh:node valueShapes:Save.IsCompressed;
                                 sh:order "3"^^xsd:integer;
                                 sh:path sdtl:isCompressed.
propertyShapes:Save.Software a sh:PropertyShape;
                             sh:description "The software package that works with the file.";
                             sh:maxCount "1"^^xsd:integer;
                             sh:minCount "0"^^xsd:integer;
                             sh:name "Software";
                             sh:node valueShapes:Save.Software;
                             sh:order "1"^^xsd:integer;
                             sh:path sdtl:software.
propertyShapes:SetDataType.DataType a sh:PropertyShape;
                                    sh:description """General type of a variable,  e.g.  \"Text\" or \"Numeric\".""";
                                    sh:maxCount "1"^^xsd:integer;
                                    sh:minCount "1"^^xsd:integer;
                                    sh:name "DataType";
                                    sh:node valueShapes:SetDataType.DataType;
                                    sh:order "1"^^xsd:integer;
                                    sh:path sdtl:dataType.
propertyShapes:SetDataType.SubType a sh:PropertyShape;
                                   sh:description "The name used in the associated schema.";
                                   sh:maxCount "1"^^xsd:integer;
                                   sh:minCount "0"^^xsd:integer;
                                   sh:name "SubType";
                                   sh:node valueShapes:SetDataType.SubType;
                                   sh:order "3"^^xsd:integer;
                                   sh:path sdtl:subType.
propertyShapes:SetDataType.SubTypeSchema a sh:PropertyShape;
                                         sh:description "A vendor or standards body with a controlled vocabulary.  The value can be a URL.";
                                         sh:maxCount "1"^^xsd:integer;
                                         sh:minCount "0"^^xsd:integer;
                                         sh:name "SubTypeSchema";
                                         sh:node valueShapes:SetDataType.SubTypeSchema;
                                         sh:order "2"^^xsd:integer;
                                         sh:path sdtl:subTypeSchema.
propertyShapes:SetDataType.Variables a sh:PropertyShape;
                                     sh:description "The variables that will have their type set";
                                     sh:minCount "0"^^xsd:integer;
                                     sh:name "Variables";
                                     sh:node valueShapes:SetDataType.Variables;
                                     sh:order "0"^^xsd:integer;
                                     sh:path sdtl:variables.
propertyShapes:SetDatasetProperty.PropertyName a sh:PropertyShape;
                                               sh:description "The name of the property to be set (for example, 'Title' or 'Subtitle').";
                                               sh:maxCount "1"^^xsd:integer;
                                               sh:minCount "1"^^xsd:integer;
                                               sh:name "PropertyName";
                                               sh:node valueShapes:SetDatasetProperty.PropertyName;
                                               sh:order "0"^^xsd:integer;
                                               sh:path sdtl:propertyName.
propertyShapes:SetDatasetProperty.Value a sh:PropertyShape;
                                        sh:description "The value of the property.";
                                        sh:maxCount "1"^^xsd:integer;
                                        sh:minCount "1"^^xsd:integer;
                                        sh:name "Value";
                                        sh:node valueShapes:SetDatasetProperty.Value;
                                        sh:order "1"^^xsd:integer;
                                        sh:path sdtl:value.
propertyShapes:SetDisplayFormat.DisplayFormatName a sh:PropertyShape;
                                                  sh:description "The name used in the associated schema.";
                                                  sh:maxCount "1"^^xsd:integer;
                                                  sh:minCount "0"^^xsd:integer;
                                                  sh:name "DisplayFormatName";
                                                  sh:node valueShapes:SetDisplayFormat.DisplayFormatName;
                                                  sh:order "2"^^xsd:integer;
                                                  sh:path sdtl:displayFormatName.
propertyShapes:SetDisplayFormat.DisplayFormatSchema a sh:PropertyShape;
                                                    sh:description "A vendor or standards body with a controlled vocabulary.  The value can be a URL.";
                                                    sh:maxCount "1"^^xsd:integer;
                                                    sh:minCount "0"^^xsd:integer;
                                                    sh:name "DisplayFormatSchema";
                                                    sh:node valueShapes:SetDisplayFormat.DisplayFormatSchema;
                                                    sh:order "1"^^xsd:integer;
                                                    sh:path sdtl:displayFormatSchema.
propertyShapes:SetDisplayFormat.Variables a sh:PropertyShape;
                                          sh:description "The variables that will have their format set";
                                          sh:minCount "1"^^xsd:integer;
                                          sh:name "Variables";
                                          sh:node valueShapes:SetDisplayFormat.Variables;
                                          sh:order "0"^^xsd:integer;
                                          sh:path sdtl:variables.
propertyShapes:SetMissingValues.Values a sh:PropertyShape;
                                       sh:description "The values to be considered as missing values";
                                       sh:minCount "1"^^xsd:integer;
                                       sh:name "Values";
                                       sh:node valueShapes:SetMissingValues.Values;
                                       sh:order "1"^^xsd:integer;
                                       sh:path sdtl:values.
propertyShapes:SetMissingValues.Variables a sh:PropertyShape;
                                          sh:description "The list of variables to which the missing values are assigned";
                                          sh:minCount "1"^^xsd:integer;
                                          sh:name "Variables";
                                          sh:node valueShapes:SetMissingValues.Variables;
                                          sh:order "0"^^xsd:integer;
                                          sh:path sdtl:variables.
propertyShapes:SetValueLabels.Labels a sh:PropertyShape;
                                     sh:description "The label to be assigned to the variables";
                                     sh:minCount "1"^^xsd:integer;
                                     sh:name "Labels";
                                     sh:node valueShapes:SetValueLabels.Labels;
                                     sh:order "1"^^xsd:integer;
                                     sh:path sdtl:labels.
propertyShapes:SetValueLabels.Variables a sh:PropertyShape;
                                        sh:description "The variables to which a label will be assigned";
                                        sh:minCount "1"^^xsd:integer;
                                        sh:name "Variables";
                                        sh:node valueShapes:SetValueLabels.Variables;
                                        sh:order "0"^^xsd:integer;
                                        sh:path sdtl:variables.
propertyShapes:SetVariableLabel.Label a sh:PropertyShape;
                                      sh:description "The label to be assigned to the variable";
                                      sh:maxCount "1"^^xsd:integer;
                                      sh:minCount "1"^^xsd:integer;
                                      sh:name "Label";
                                      sh:node valueShapes:SetVariableLabel.Label;
                                      sh:order "1"^^xsd:integer;
                                      sh:path sdtl:label.
propertyShapes:SetVariableLabel.Variable a sh:PropertyShape;
                                         sh:description "The name of the variable to which a label will be assigned";
                                         sh:maxCount "1"^^xsd:integer;
                                         sh:minCount "1"^^xsd:integer;
                                         sh:name "Variable";
                                         sh:node valueShapes:SetVariableLabel.Variable;
                                         sh:order "0"^^xsd:integer;
                                         sh:path sdtl:variable.
propertyShapes:SortCases.SortCriteria a sh:PropertyShape;
                                      sh:description "Describes how cases are sorted.";
                                      sh:minCount "1"^^xsd:integer;
                                      sh:name "SortCriteria";
                                      sh:node valueShapes:SortCases.SortCriteria;
                                      sh:order "0"^^xsd:integer;
                                      sh:path sdtl:sortCriteria.
propertyShapes:SortCriterion.SortDirection a sh:PropertyShape;
                                           sh:description "The direction in which to sort.";
                                           sh:maxCount "1"^^xsd:integer;
                                           sh:minCount "1"^^xsd:integer;
                                           sh:name "SortDirection";
                                           sh:node valueShapes:SortCriterion.SortDirection;
                                           sh:order "1"^^xsd:integer;
                                           sh:path sdtl:sortDirection.
propertyShapes:SortCriterion.Variable a sh:PropertyShape;
                                      sh:description "The variable used to sort.";
                                      sh:maxCount "1"^^xsd:integer;
                                      sh:minCount "1"^^xsd:integer;
                                      sh:name "Variable";
                                      sh:node valueShapes:SortCriterion.Variable;
                                      sh:order "0"^^xsd:integer;
                                      sh:path sdtl:variable.
propertyShapes:SourceInformation.LineNumberEnd a sh:PropertyShape;
                                               sh:description "The line number of the end of the transform code";
                                               sh:maxCount "1"^^xsd:integer;
                                               sh:minCount "0"^^xsd:integer;
                                               sh:name "LineNumberEnd";
                                               sh:node valueShapes:SourceInformation.LineNumberEnd;
                                               sh:order "1"^^xsd:integer;
                                               sh:path sdtl:lineNumberEnd.
propertyShapes:SourceInformation.LineNumberStart a sh:PropertyShape;
                                                 sh:description "The line number of the beginning of the transform code";
                                                 sh:maxCount "1"^^xsd:integer;
                                                 sh:minCount "0"^^xsd:integer;
                                                 sh:name "LineNumberStart";
                                                 sh:node valueShapes:SourceInformation.LineNumberStart;
                                                 sh:order "0"^^xsd:integer;
                                                 sh:path sdtl:lineNumberStart.
propertyShapes:SourceInformation.OriginalSourceText a sh:PropertyShape;
                                                    sh:description "The original source code of the data transform code";
                                                    sh:maxCount "1"^^xsd:integer;
                                                    sh:minCount "0"^^xsd:integer;
                                                    sh:name "OriginalSourceText";
                                                    sh:node valueShapes:SourceInformation.OriginalSourceText;
                                                    sh:order "4"^^xsd:integer;
                                                    sh:path sdtl:originalSourceText.
propertyShapes:SourceInformation.ProcessedSourceText a sh:PropertyShape;
                                                     sh:description "The source code of the data transform code after processing macros or loops";
                                                     sh:maxCount "1"^^xsd:integer;
                                                     sh:minCount "0"^^xsd:integer;
                                                     sh:name "ProcessedSourceText";
                                                     sh:node valueShapes:SourceInformation.ProcessedSourceText;
                                                     sh:order "5"^^xsd:integer;
                                                     sh:path sdtl:processedSourceText.
propertyShapes:SourceInformation.SourceStartIndex a sh:PropertyShape;
                                                  sh:description "The character index of the beginning of the transform code";
                                                  sh:maxCount "1"^^xsd:integer;
                                                  sh:minCount "0"^^xsd:integer;
                                                  sh:name "SourceStartIndex";
                                                  sh:node valueShapes:SourceInformation.SourceStartIndex;
                                                  sh:order "2"^^xsd:integer;
                                                  sh:path sdtl:sourceStartIndex.
propertyShapes:SourceInformation.SourceStopIndex a sh:PropertyShape;
                                                 sh:description "The character index of the end of the transform code";
                                                 sh:maxCount "1"^^xsd:integer;
                                                 sh:minCount "0"^^xsd:integer;
                                                 sh:name "SourceStopIndex";
                                                 sh:node valueShapes:SourceInformation.SourceStopIndex;
                                                 sh:order "3"^^xsd:integer;
                                                 sh:path sdtl:sourceStopIndex.
propertyShapes:StringConstantExpression.Value a sh:PropertyShape;
                                              sh:description "A string";
                                              sh:maxCount "1"^^xsd:integer;
                                              sh:minCount "1"^^xsd:integer;
                                              sh:name "Value";
                                              sh:node valueShapes:StringConstantExpression.Value;
                                              sh:order "0"^^xsd:integer;
                                              sh:path sdtl:value.
propertyShapes:StringRangeExpression.RangeEnd a sh:PropertyShape;
                                              sh:description "Ending value for range";
                                              sh:maxCount "1"^^xsd:integer;
                                              sh:minCount "1"^^xsd:integer;
                                              sh:name "RangeEnd";
                                              sh:node valueShapes:StringRangeExpression.RangeEnd;
                                              sh:order "1"^^xsd:integer;
                                              sh:path sdtl:rangeEnd.
propertyShapes:StringRangeExpression.RangeStart a sh:PropertyShape;
                                                sh:description "Starting value for range";
                                                sh:maxCount "1"^^xsd:integer;
                                                sh:minCount "1"^^xsd:integer;
                                                sh:name "RangeStart";
                                                sh:node valueShapes:StringRangeExpression.RangeStart;
                                                sh:order "0"^^xsd:integer;
                                                sh:path sdtl:rangeStart.
propertyShapes:TimeDurationConstant.TimeDurationValue a sh:PropertyShape;
                                                      sh:description "A duration of time in ISO 8601 format";
                                                      sh:maxCount "1"^^xsd:integer;
                                                      sh:minCount "1"^^xsd:integer;
                                                      sh:name "TimeDurationValue";
                                                      sh:node valueShapes:TimeDurationConstant.TimeDurationValue;
                                                      sh:order "0"^^xsd:integer;
                                                      sh:path sdtl:timeDurationValue.
propertyShapes:TransformBase.ConsumesDataframe a sh:PropertyShape;
                                               sh:description "Signify the dataframe which this transform acts upon.";
                                               sh:minCount "0"^^xsd:integer;
                                               sh:name "ConsumesDataframe";
                                               sh:node valueShapes:TransformBase.ConsumesDataframe;
                                               sh:order "1"^^xsd:integer;
                                               sh:path sdtl:consumesDataframe.
propertyShapes:TransformBase.ProducesDataframe a sh:PropertyShape;
                                               sh:description "Signify the dataframe which this transform produces.";
                                               sh:minCount "0"^^xsd:integer;
                                               sh:name "ProducesDataframe";
                                               sh:node valueShapes:TransformBase.ProducesDataframe;
                                               sh:order "0"^^xsd:integer;
                                               sh:path sdtl:producesDataframe.
propertyShapes:ValueLabel.Label a sh:PropertyShape;
                                sh:description "The label to be assigned to the value";
                                sh:maxCount "1"^^xsd:integer;
                                sh:minCount "1"^^xsd:integer;
                                sh:name "Label";
                                sh:node valueShapes:ValueLabel.Label;
                                sh:order "1"^^xsd:integer;
                                sh:path sdtl:label.
propertyShapes:ValueLabel.Value a sh:PropertyShape;
                                sh:description "The value to which a label is assigned";
                                sh:maxCount "1"^^xsd:integer;
                                sh:minCount "1"^^xsd:integer;
                                sh:name "Value";
                                sh:node valueShapes:ValueLabel.Value;
                                sh:order "0"^^xsd:integer;
                                sh:path sdtl:value.
propertyShapes:ValueListExpression.Values a sh:PropertyShape;
                                          sh:description "The list of expressions.";
                                          sh:minCount "1"^^xsd:integer;
                                          sh:name "Values";
                                          sh:node valueShapes:ValueListExpression.Values;
                                          sh:order "0"^^xsd:integer;
                                          sh:path sdtl:values.
propertyShapes:VariableListExpression.Variables a sh:PropertyShape;
                                                sh:description "An array of variables and/or variable ranges";
                                                sh:minCount "1"^^xsd:integer;
                                                sh:name "Variables";
                                                sh:node valueShapes:VariableListExpression.Variables;
                                                sh:order "0"^^xsd:integer;
                                                sh:path sdtl:variables.
propertyShapes:VariableRangeExpression.First a sh:PropertyShape;
                                             sh:description "Lowest variable name in range";
                                             sh:maxCount "1"^^xsd:integer;
                                             sh:minCount "1"^^xsd:integer;
                                             sh:name "First";
                                             sh:node valueShapes:VariableRangeExpression.First;
                                             sh:order "0"^^xsd:integer;
                                             sh:path sdtl:first.
propertyShapes:VariableRangeExpression.Last a sh:PropertyShape;
                                            sh:description "Highest variable name in range";
                                            sh:maxCount "1"^^xsd:integer;
                                            sh:minCount "1"^^xsd:integer;
                                            sh:name "Last";
                                            sh:node valueShapes:VariableRangeExpression.Last;
                                            sh:order "1"^^xsd:integer;
                                            sh:path sdtl:last.
propertyShapes:VariableSymbolExpression.VariableName a sh:PropertyShape;
                                                     sh:description "The name of a variable";
                                                     sh:maxCount "1"^^xsd:integer;
                                                     sh:minCount "1"^^xsd:integer;
                                                     sh:name "VariableName";
                                                     sh:node valueShapes:VariableSymbolExpression.VariableName;
                                                     sh:order "0"^^xsd:integer;
                                                     sh:path sdtl:variableName.
propertyShapes:Weight.WeightType a sh:PropertyShape;
                                 sh:description "Type of weight to use";
                                 sh:maxCount "1"^^xsd:integer;
                                 sh:minCount "0"^^xsd:integer;
                                 sh:name "WeightType";
                                 sh:node valueShapes:Weight.WeightType;
                                 sh:order "1"^^xsd:integer;
                                 sh:path sdtl:weightType.
propertyShapes:Weight.WeightVariable a sh:PropertyShape;
                                     sh:description "The variable used as a weight in the operation.";
                                     sh:maxCount "1"^^xsd:integer;
                                     sh:minCount "0"^^xsd:integer;
                                     sh:name "WeightVariable";
                                     sh:node valueShapes:Weight.WeightVariable;
                                     sh:order "0"^^xsd:integer;
                                     sh:path sdtl:weightVariable.
shapes:scope a sh:NodeShape;
             sh:description "Every subject using a model predicate must declare a compatible concrete model type.";
             sh:name "Model resource";
             sh:or (signatureShapes:Aggregate
                    signatureShapes:AllNumericVariablesExpression
                    signatureShapes:AllTextVariablesExpression
                    signatureShapes:AllVariablesExpression
                    signatureShapes:Analysis
                    signatureShapes:AppendDatasets
                    signatureShapes:AppendFileDescription
                    signatureShapes:BooleanConstantExpression
                    signatureShapes:Collapse
                    signatureShapes:Comment
                    signatureShapes:CompositeVariableNameExpression
                    signatureShapes:Compute
                    signatureShapes:DataframeDescription
                    signatureShapes:DateTimeConstant
                    signatureShapes:DoIf
                    signatureShapes:DropCases
                    signatureShapes:DropVariables
                    signatureShapes:Execute
                    signatureShapes:FunctionArgument
                    signatureShapes:FunctionCallExpression
                    signatureShapes:GroupedExpression
                    signatureShapes:IfRows
                    signatureShapes:Invalid
                    signatureShapes:IteratorDescription
                    signatureShapes:IteratorSymbolExpression
                    signatureShapes:KeepCases
                    signatureShapes:KeepVariables
                    signatureShapes:Load
                    signatureShapes:LoopOverList
                    signatureShapes:LoopWhile
                    signatureShapes:MergeDatasets
                    signatureShapes:MergeFileDescription
                    signatureShapes:Message
                    signatureShapes:MissingValueConstantExpression
                    signatureShapes:NewDataframe
                    signatureShapes:NoTransformOp
                    signatureShapes:NumberRangeExpression
                    signatureShapes:NumericConstantExpression
                    signatureShapes:NumericMaximumValueExpression
                    signatureShapes:NumericMinimumValueExpression
                    signatureShapes:Program
                    signatureShapes:Recode
                    signatureShapes:RecodeRule
                    signatureShapes:RecodeVariable
                    signatureShapes:Rename
                    signatureShapes:RenamePair
                    signatureShapes:ReshapeItemDescription
                    signatureShapes:ReshapeLong
                    signatureShapes:ReshapeWide
                    signatureShapes:Save
                    signatureShapes:SetDataType
                    signatureShapes:SetDatasetProperty
                    signatureShapes:SetDisplayFormat
                    signatureShapes:SetMissingValues
                    signatureShapes:SetValueLabels
                    signatureShapes:SetVariableLabel
                    signatureShapes:SortCases
                    signatureShapes:SortCriterion
                    signatureShapes:SourceInformation
                    signatureShapes:StringConstantExpression
                    signatureShapes:StringRangeExpression
                    signatureShapes:TimeDurationConstant
                    signatureShapes:UnhandledValuesExpression
                    signatureShapes:Unsupported
                    signatureShapes:ValueLabel
                    signatureShapes:ValueListExpression
                    signatureShapes:VariableListExpression
                    signatureShapes:VariableRangeExpression
                    signatureShapes:VariableSymbolExpression
                    signatureShapes:Weight);
             sh:targetSubjectsOf sdtl:command,
                                 sdtl:sourceInformation,
                                 sdtl:messageText,
                                 sdtl:producesDataframe,
                                 sdtl:consumesDataframe,
                                 sdtl:groupByVariables,
                                 sdtl:aggregateVariables,
                                 sdtl:weighting,
                                 sdtl:appendFiles,
                                 sdtl:appendFlagVariable,
                                 sdtl:fileName,
                                 sdtl:renameVariables,
                                 sdtl:keepVariables,
                                 sdtl:dropVariables,
                                 sdtl:keepCasesCondition,
                                 sdtl:dropCasesCondition,
                                 sdtl:software,
                                 sdtl:fileFormat,
                                 sdtl:isCompressed,
                                 sdtl:booleanValue,
                                 sdtl:outputDatasetName,
                                 sdtl:caseWise,
                                 sdtl:columnWise,
                                 sdtl:commentText,
                                 sdtl:computedVariableName,
                                 sdtl:variable,
                                 sdtl:expression,
                                 sdtl:dataframeName,
                                 sdtl:variableInventory,
                                 sdtl:rowDimensions,
                                 sdtl:columnDimensions,
                                 sdtl:dateTimeValue,
                                 sdtl:condition,
                                 sdtl:thenCommands,
                                 sdtl:elseCommands,
                                 sdtl:variables,
                                 sdtl:argumentName,
                                 sdtl:argumentValue,
                                 sdtl:function,
                                 sdtl:isSdtlName,
                                 sdtl:arguments,
                                 sdtl:problemDescription,
                                 sdtl:iteratorSymbolName,
                                 sdtl:iteratorValues,
                                 sdtl:name,
                                 sdtl:iterators,
                                 sdtl:commands,
                                 sdtl:updated,
                                 sdtl:endCondition,
                                 sdtl:mergeFiles,
                                 sdtl:mergeByVariables,
                                 sdtl:firstVariable,
                                 sdtl:lastVariable,
                                 sdtl:mergeType,
                                 sdtl:mergeFlagVariable,
                                 sdtl:update,
                                 sdtl:newRow,
                                 sdtl:mergeByNames,
                                 sdtl:severity,
                                 sdtl:lineNumber,
                                 sdtl:characterPosition,
                                 sdtl:value,
                                 sdtl:numberOfRows,
                                 sdtl:numberOfColumns,
                                 sdtl:numberRangeStart,
                                 sdtl:numberRangeEnd,
                                 sdtl:numberRangeIncrement,
                                 sdtl:numericType,
                                 sdtl:id,
                                 sdtl:sourceFileName,
                                 sdtl:sourceLanguage,
                                 sdtl:scriptMd5,
                                 sdtl:scriptSha1,
                                 sdtl:sourceFileLastUpdate,
                                 sdtl:sourceFileSize,
                                 sdtl:lineCount,
                                 sdtl:commandCount,
                                 sdtl:messages,
                                 sdtl:parser,
                                 sdtl:parserVersion,
                                 sdtl:modelVersion,
                                 sdtl:modelCreatedTime,
                                 sdtl:recodedVariables,
                                 sdtl:recodedVariableRange,
                                 sdtl:rules,
                                 sdtl:fromValue,
                                 sdtl:to,
                                 sdtl:label,
                                 sdtl:source,
                                 sdtl:target,
                                 sdtl:renames,
                                 sdtl:oldVariable,
                                 sdtl:newVariable,
                                 sdtl:targetVariableName,
                                 sdtl:targetVariableLabel,
                                 sdtl:sourceVariables,
                                 sdtl:stub,
                                 sdtl:indexValues,
                                 sdtl:indexVariableName,
                                 sdtl:indexVariableLabel,
                                 sdtl:makeItems,
                                 sdtl:caseNumberVariable,
                                 sdtl:idVariables,
                                 sdtl:keepNullCases,
                                 sdtl:countById,
                                 sdtl:countByIdLabel,
                                 sdtl:dataType,
                                 sdtl:subTypeSchema,
                                 sdtl:subType,
                                 sdtl:propertyName,
                                 sdtl:displayFormatSchema,
                                 sdtl:displayFormatName,
                                 sdtl:values,
                                 sdtl:labels,
                                 sdtl:sortCriteria,
                                 sdtl:sortDirection,
                                 sdtl:lineNumberStart,
                                 sdtl:lineNumberEnd,
                                 sdtl:sourceStartIndex,
                                 sdtl:sourceStopIndex,
                                 sdtl:originalSourceText,
                                 sdtl:processedSourceText,
                                 sdtl:rangeStart,
                                 sdtl:rangeEnd,
                                 sdtl:timeDurationValue,
                                 sdtl:first,
                                 sdtl:last,
                                 sdtl:variableName,
                                 sdtl:weightVariable,
                                 sdtl:weightType,
                                 sdtl:rowDimensionsList,
                                 sdtl:columnDimensionsList,
                                 sdtl:argumentsList,
                                 sdtl:mergeByNamesList,
                                 sdtl:commandsList.
signatureShapes:Aggregate a sh:NodeShape;
                          sh:name "Aggregate type signature";
                          sh:nodeKind sh:BlankNodeOrIRI;
                          sh:property [a sh:PropertyShape ; 
                                       sh:path rdf:type ; 
                                       sh:name "Concrete model type" ; 
                                       sh:order "0"^^xsd:integer ; 
                                       sh:hasValue sdtl:Aggregate ; 
                                       sh:in (sdtl:CommandBase
                                              sdtl:TransformBase
                                              sdtl:Aggregate)].
signatureShapes:AllNumericVariablesExpression a sh:NodeShape;
                                              sh:name "AllNumericVariablesExpression type signature";
                                              sh:nodeKind sh:BlankNodeOrIRI;
                                              sh:property [a sh:PropertyShape ; 
                                                           sh:path rdf:type ; 
                                                           sh:name "Concrete model type" ; 
                                                           sh:order "0"^^xsd:integer ; 
                                                           sh:hasValue sdtl:AllNumericVariablesExpression ; 
                                                           sh:in (sdtl:ExpressionBase
                                                                  sdtl:VariableReferenceBase
                                                                  sdtl:AllNumericVariablesExpression)].
signatureShapes:AllTextVariablesExpression a sh:NodeShape;
                                           sh:name "AllTextVariablesExpression type signature";
                                           sh:nodeKind sh:BlankNodeOrIRI;
                                           sh:property [a sh:PropertyShape ; 
                                                        sh:path rdf:type ; 
                                                        sh:name "Concrete model type" ; 
                                                        sh:order "0"^^xsd:integer ; 
                                                        sh:hasValue sdtl:AllTextVariablesExpression ; 
                                                        sh:in (sdtl:ExpressionBase
                                                               sdtl:VariableReferenceBase
                                                               sdtl:AllTextVariablesExpression)].
signatureShapes:AllVariablesExpression a sh:NodeShape;
                                       sh:name "AllVariablesExpression type signature";
                                       sh:nodeKind sh:BlankNodeOrIRI;
                                       sh:property [a sh:PropertyShape ; 
                                                    sh:path rdf:type ; 
                                                    sh:name "Concrete model type" ; 
                                                    sh:order "0"^^xsd:integer ; 
                                                    sh:hasValue sdtl:AllVariablesExpression ; 
                                                    sh:in (sdtl:ExpressionBase
                                                           sdtl:VariableReferenceBase
                                                           sdtl:AllVariablesExpression)].
signatureShapes:Analysis a sh:NodeShape;
                         sh:name "Analysis type signature";
                         sh:nodeKind sh:BlankNodeOrIRI;
                         sh:property [a sh:PropertyShape ; 
                                      sh:path rdf:type ; 
                                      sh:name "Concrete model type" ; 
                                      sh:order "0"^^xsd:integer ; 
                                      sh:hasValue sdtl:Analysis ; 
                                      sh:in (sdtl:CommandBase
                                             sdtl:InformBase
                                             sdtl:Analysis)].
signatureShapes:AppendDatasets a sh:NodeShape;
                               sh:name "AppendDatasets type signature";
                               sh:nodeKind sh:BlankNodeOrIRI;
                               sh:property [a sh:PropertyShape ; 
                                            sh:path rdf:type ; 
                                            sh:name "Concrete model type" ; 
                                            sh:order "0"^^xsd:integer ; 
                                            sh:hasValue sdtl:AppendDatasets ; 
                                            sh:in (sdtl:CommandBase
                                                   sdtl:TransformBase
                                                   sdtl:AppendDatasets)].
signatureShapes:AppendFileDescription a sh:NodeShape;
                                      sh:name "AppendFileDescription type signature";
                                      sh:nodeKind sh:BlankNodeOrIRI;
                                      sh:property [a sh:PropertyShape ; 
                                                   sh:path rdf:type ; 
                                                   sh:name "Concrete model type" ; 
                                                   sh:order "0"^^xsd:integer ; 
                                                   sh:hasValue sdtl:AppendFileDescription ; 
                                                   sh:in (sdtl:AppendFileDescription)].
signatureShapes:BooleanConstantExpression a sh:NodeShape;
                                          sh:name "BooleanConstantExpression type signature";
                                          sh:nodeKind sh:BlankNodeOrIRI;
                                          sh:property [a sh:PropertyShape ; 
                                                       sh:path rdf:type ; 
                                                       sh:name "Concrete model type" ; 
                                                       sh:order "0"^^xsd:integer ; 
                                                       sh:hasValue sdtl:BooleanConstantExpression ; 
                                                       sh:in (sdtl:ExpressionBase
                                                              sdtl:BooleanConstantExpression)].
signatureShapes:Collapse a sh:NodeShape;
                         sh:name "Collapse type signature";
                         sh:nodeKind sh:BlankNodeOrIRI;
                         sh:property [a sh:PropertyShape ; 
                                      sh:path rdf:type ; 
                                      sh:name "Concrete model type" ; 
                                      sh:order "0"^^xsd:integer ; 
                                      sh:hasValue sdtl:Collapse ; 
                                      sh:in (sdtl:CommandBase
                                             sdtl:TransformBase
                                             sdtl:Collapse)].
signatureShapes:Comment a sh:NodeShape;
                        sh:name "Comment type signature";
                        sh:nodeKind sh:BlankNodeOrIRI;
                        sh:property [a sh:PropertyShape ; 
                                     sh:path rdf:type ; 
                                     sh:name "Concrete model type" ; 
                                     sh:order "0"^^xsd:integer ; 
                                     sh:hasValue sdtl:Comment ; 
                                     sh:in (sdtl:CommandBase
                                            sdtl:InformBase
                                            sdtl:Comment)].
signatureShapes:CompositeVariableNameExpression a sh:NodeShape;
                                                sh:name "CompositeVariableNameExpression type signature";
                                                sh:nodeKind sh:BlankNodeOrIRI;
                                                sh:property [a sh:PropertyShape ; 
                                                             sh:path rdf:type ; 
                                                             sh:name "Concrete model type" ; 
                                                             sh:order "0"^^xsd:integer ; 
                                                             sh:hasValue sdtl:CompositeVariableNameExpression ; 
                                                             sh:in (sdtl:ExpressionBase
                                                                    sdtl:VariableReferenceBase
                                                                    sdtl:CompositeVariableNameExpression)].
signatureShapes:Compute a sh:NodeShape;
                        sh:name "Compute type signature";
                        sh:nodeKind sh:BlankNodeOrIRI;
                        sh:property [a sh:PropertyShape ; 
                                     sh:path rdf:type ; 
                                     sh:name "Concrete model type" ; 
                                     sh:order "0"^^xsd:integer ; 
                                     sh:hasValue sdtl:Compute ; 
                                     sh:in (sdtl:CommandBase
                                            sdtl:TransformBase
                                            sdtl:Compute)].
signatureShapes:DataframeDescription a sh:NodeShape;
                                     sh:name "DataframeDescription type signature";
                                     sh:nodeKind sh:BlankNodeOrIRI;
                                     sh:property [a sh:PropertyShape ; 
                                                  sh:path rdf:type ; 
                                                  sh:name "Concrete model type" ; 
                                                  sh:order "0"^^xsd:integer ; 
                                                  sh:hasValue sdtl:DataframeDescription ; 
                                                  sh:in (sdtl:DataframeDescription)].
signatureShapes:DateTimeConstant a sh:NodeShape;
                                 sh:name "DateTimeConstant type signature";
                                 sh:nodeKind sh:BlankNodeOrIRI;
                                 sh:property [a sh:PropertyShape ; 
                                              sh:path rdf:type ; 
                                              sh:name "Concrete model type" ; 
                                              sh:order "0"^^xsd:integer ; 
                                              sh:hasValue sdtl:DateTimeConstant ; 
                                              sh:in (sdtl:ExpressionBase
                                                     sdtl:DateTimeConstant)].
signatureShapes:DoIf a sh:NodeShape;
                     sh:name "DoIf type signature";
                     sh:nodeKind sh:BlankNodeOrIRI;
                     sh:property [a sh:PropertyShape ; 
                                  sh:path rdf:type ; 
                                  sh:name "Concrete model type" ; 
                                  sh:order "0"^^xsd:integer ; 
                                  sh:hasValue sdtl:DoIf ; 
                                  sh:in (sdtl:CommandBase
                                         sdtl:TransformBase
                                         sdtl:DoIf)].
signatureShapes:DropCases a sh:NodeShape;
                          sh:name "DropCases type signature";
                          sh:nodeKind sh:BlankNodeOrIRI;
                          sh:property [a sh:PropertyShape ; 
                                       sh:path rdf:type ; 
                                       sh:name "Concrete model type" ; 
                                       sh:order "0"^^xsd:integer ; 
                                       sh:hasValue sdtl:DropCases ; 
                                       sh:in (sdtl:CommandBase
                                              sdtl:TransformBase
                                              sdtl:DropCases)].
signatureShapes:DropVariables a sh:NodeShape;
                              sh:name "DropVariables type signature";
                              sh:nodeKind sh:BlankNodeOrIRI;
                              sh:property [a sh:PropertyShape ; 
                                           sh:path rdf:type ; 
                                           sh:name "Concrete model type" ; 
                                           sh:order "0"^^xsd:integer ; 
                                           sh:hasValue sdtl:DropVariables ; 
                                           sh:in (sdtl:CommandBase
                                                  sdtl:TransformBase
                                                  sdtl:DropVariables)].
signatureShapes:Execute a sh:NodeShape;
                        sh:name "Execute type signature";
                        sh:nodeKind sh:BlankNodeOrIRI;
                        sh:property [a sh:PropertyShape ; 
                                     sh:path rdf:type ; 
                                     sh:name "Concrete model type" ; 
                                     sh:order "0"^^xsd:integer ; 
                                     sh:hasValue sdtl:Execute ; 
                                     sh:in (sdtl:CommandBase
                                            sdtl:TransformBase
                                            sdtl:Execute)].
signatureShapes:FunctionArgument a sh:NodeShape;
                                 sh:name "FunctionArgument type signature";
                                 sh:nodeKind sh:BlankNodeOrIRI;
                                 sh:property [a sh:PropertyShape ; 
                                              sh:path rdf:type ; 
                                              sh:name "Concrete model type" ; 
                                              sh:order "0"^^xsd:integer ; 
                                              sh:hasValue sdtl:FunctionArgument ; 
                                              sh:in (sdtl:FunctionArgument)].
signatureShapes:FunctionCallExpression a sh:NodeShape;
                                       sh:name "FunctionCallExpression type signature";
                                       sh:nodeKind sh:BlankNodeOrIRI;
                                       sh:property [a sh:PropertyShape ; 
                                                    sh:path rdf:type ; 
                                                    sh:name "Concrete model type" ; 
                                                    sh:order "0"^^xsd:integer ; 
                                                    sh:hasValue sdtl:FunctionCallExpression ; 
                                                    sh:in (sdtl:ExpressionBase
                                                           sdtl:FunctionCallExpression)].
signatureShapes:GroupedExpression a sh:NodeShape;
                                  sh:name "GroupedExpression type signature";
                                  sh:nodeKind sh:BlankNodeOrIRI;
                                  sh:property [a sh:PropertyShape ; 
                                               sh:path rdf:type ; 
                                               sh:name "Concrete model type" ; 
                                               sh:order "0"^^xsd:integer ; 
                                               sh:hasValue sdtl:GroupedExpression ; 
                                               sh:in (sdtl:ExpressionBase
                                                      sdtl:GroupedExpression)].
signatureShapes:IfRows a sh:NodeShape;
                       sh:name "IfRows type signature";
                       sh:nodeKind sh:BlankNodeOrIRI;
                       sh:property [a sh:PropertyShape ; 
                                    sh:path rdf:type ; 
                                    sh:name "Concrete model type" ; 
                                    sh:order "0"^^xsd:integer ; 
                                    sh:hasValue sdtl:IfRows ; 
                                    sh:in (sdtl:CommandBase
                                           sdtl:TransformBase
                                           sdtl:IfRows)].
signatureShapes:Invalid a sh:NodeShape;
                        sh:name "Invalid type signature";
                        sh:nodeKind sh:BlankNodeOrIRI;
                        sh:property [a sh:PropertyShape ; 
                                     sh:path rdf:type ; 
                                     sh:name "Concrete model type" ; 
                                     sh:order "0"^^xsd:integer ; 
                                     sh:hasValue sdtl:Invalid ; 
                                     sh:in (sdtl:CommandBase
                                            sdtl:InformBase
                                            sdtl:Invalid)].
signatureShapes:IteratorDescription a sh:NodeShape;
                                    sh:name "IteratorDescription type signature";
                                    sh:nodeKind sh:BlankNodeOrIRI;
                                    sh:property [a sh:PropertyShape ; 
                                                 sh:path rdf:type ; 
                                                 sh:name "Concrete model type" ; 
                                                 sh:order "0"^^xsd:integer ; 
                                                 sh:hasValue sdtl:IteratorDescription ; 
                                                 sh:in (sdtl:IteratorDescription)].
signatureShapes:IteratorSymbolExpression a sh:NodeShape;
                                         sh:name "IteratorSymbolExpression type signature";
                                         sh:nodeKind sh:BlankNodeOrIRI;
                                         sh:property [a sh:PropertyShape ; 
                                                      sh:path rdf:type ; 
                                                      sh:name "Concrete model type" ; 
                                                      sh:order "0"^^xsd:integer ; 
                                                      sh:hasValue sdtl:IteratorSymbolExpression ; 
                                                      sh:in (sdtl:ExpressionBase
                                                             sdtl:IteratorSymbolExpression)].
signatureShapes:KeepCases a sh:NodeShape;
                          sh:name "KeepCases type signature";
                          sh:nodeKind sh:BlankNodeOrIRI;
                          sh:property [a sh:PropertyShape ; 
                                       sh:path rdf:type ; 
                                       sh:name "Concrete model type" ; 
                                       sh:order "0"^^xsd:integer ; 
                                       sh:hasValue sdtl:KeepCases ; 
                                       sh:in (sdtl:CommandBase
                                              sdtl:TransformBase
                                              sdtl:KeepCases)].
signatureShapes:KeepVariables a sh:NodeShape;
                              sh:name "KeepVariables type signature";
                              sh:nodeKind sh:BlankNodeOrIRI;
                              sh:property [a sh:PropertyShape ; 
                                           sh:path rdf:type ; 
                                           sh:name "Concrete model type" ; 
                                           sh:order "0"^^xsd:integer ; 
                                           sh:hasValue sdtl:KeepVariables ; 
                                           sh:in (sdtl:CommandBase
                                                  sdtl:TransformBase
                                                  sdtl:KeepVariables)].
signatureShapes:Load a sh:NodeShape;
                     sh:name "Load type signature";
                     sh:nodeKind sh:BlankNodeOrIRI;
                     sh:property [a sh:PropertyShape ; 
                                  sh:path rdf:type ; 
                                  sh:name "Concrete model type" ; 
                                  sh:order "0"^^xsd:integer ; 
                                  sh:hasValue sdtl:Load ; 
                                  sh:in (sdtl:CommandBase
                                         sdtl:TransformBase
                                         sdtl:Load)].
signatureShapes:LoopOverList a sh:NodeShape;
                             sh:name "LoopOverList type signature";
                             sh:nodeKind sh:BlankNodeOrIRI;
                             sh:property [a sh:PropertyShape ; 
                                          sh:path rdf:type ; 
                                          sh:name "Concrete model type" ; 
                                          sh:order "0"^^xsd:integer ; 
                                          sh:hasValue sdtl:LoopOverList ; 
                                          sh:in (sdtl:CommandBase
                                                 sdtl:TransformBase
                                                 sdtl:LoopOverList)].
signatureShapes:LoopWhile a sh:NodeShape;
                          sh:name "LoopWhile type signature";
                          sh:nodeKind sh:BlankNodeOrIRI;
                          sh:property [a sh:PropertyShape ; 
                                       sh:path rdf:type ; 
                                       sh:name "Concrete model type" ; 
                                       sh:order "0"^^xsd:integer ; 
                                       sh:hasValue sdtl:LoopWhile ; 
                                       sh:in (sdtl:CommandBase
                                              sdtl:TransformBase
                                              sdtl:LoopWhile)].
signatureShapes:MergeDatasets a sh:NodeShape;
                              sh:name "MergeDatasets type signature";
                              sh:nodeKind sh:BlankNodeOrIRI;
                              sh:property [a sh:PropertyShape ; 
                                           sh:path rdf:type ; 
                                           sh:name "Concrete model type" ; 
                                           sh:order "0"^^xsd:integer ; 
                                           sh:hasValue sdtl:MergeDatasets ; 
                                           sh:in (sdtl:CommandBase
                                                  sdtl:TransformBase
                                                  sdtl:MergeDatasets)].
signatureShapes:MergeFileDescription a sh:NodeShape;
                                     sh:name "MergeFileDescription type signature";
                                     sh:nodeKind sh:BlankNodeOrIRI;
                                     sh:property [a sh:PropertyShape ; 
                                                  sh:path rdf:type ; 
                                                  sh:name "Concrete model type" ; 
                                                  sh:order "0"^^xsd:integer ; 
                                                  sh:hasValue sdtl:MergeFileDescription ; 
                                                  sh:in (sdtl:MergeFileDescription)].
signatureShapes:Message a sh:NodeShape;
                        sh:name "Message type signature";
                        sh:nodeKind sh:BlankNodeOrIRI;
                        sh:property [a sh:PropertyShape ; 
                                     sh:path rdf:type ; 
                                     sh:name "Concrete model type" ; 
                                     sh:order "0"^^xsd:integer ; 
                                     sh:hasValue sdtl:Message ; 
                                     sh:in (sdtl:CommandBase
                                            sdtl:InformBase
                                            sdtl:Message)].
signatureShapes:MissingValueConstantExpression a sh:NodeShape;
                                               sh:name "MissingValueConstantExpression type signature";
                                               sh:nodeKind sh:BlankNodeOrIRI;
                                               sh:property [a sh:PropertyShape ; 
                                                            sh:path rdf:type ; 
                                                            sh:name "Concrete model type" ; 
                                                            sh:order "0"^^xsd:integer ; 
                                                            sh:hasValue sdtl:MissingValueConstantExpression ; 
                                                            sh:in (sdtl:ExpressionBase
                                                                   sdtl:MissingValueConstantExpression)].
signatureShapes:NewDataframe a sh:NodeShape;
                             sh:name "NewDataframe type signature";
                             sh:nodeKind sh:BlankNodeOrIRI;
                             sh:property [a sh:PropertyShape ; 
                                          sh:path rdf:type ; 
                                          sh:name "Concrete model type" ; 
                                          sh:order "0"^^xsd:integer ; 
                                          sh:hasValue sdtl:NewDataframe ; 
                                          sh:in (sdtl:CommandBase
                                                 sdtl:TransformBase
                                                 sdtl:NewDataframe)].
signatureShapes:NoTransformOp a sh:NodeShape;
                              sh:name "NoTransformOp type signature";
                              sh:nodeKind sh:BlankNodeOrIRI;
                              sh:property [a sh:PropertyShape ; 
                                           sh:path rdf:type ; 
                                           sh:name "Concrete model type" ; 
                                           sh:order "0"^^xsd:integer ; 
                                           sh:hasValue sdtl:NoTransformOp ; 
                                           sh:in (sdtl:CommandBase
                                                  sdtl:InformBase
                                                  sdtl:NoTransformOp)].
signatureShapes:NumberRangeExpression a sh:NodeShape;
                                      sh:name "NumberRangeExpression type signature";
                                      sh:nodeKind sh:BlankNodeOrIRI;
                                      sh:property [a sh:PropertyShape ; 
                                                   sh:path rdf:type ; 
                                                   sh:name "Concrete model type" ; 
                                                   sh:order "0"^^xsd:integer ; 
                                                   sh:hasValue sdtl:NumberRangeExpression ; 
                                                   sh:in (sdtl:ExpressionBase
                                                          sdtl:NumberRangeExpression)].
signatureShapes:NumericConstantExpression a sh:NodeShape;
                                          sh:name "NumericConstantExpression type signature";
                                          sh:nodeKind sh:BlankNodeOrIRI;
                                          sh:property [a sh:PropertyShape ; 
                                                       sh:path rdf:type ; 
                                                       sh:name "Concrete model type" ; 
                                                       sh:order "0"^^xsd:integer ; 
                                                       sh:hasValue sdtl:NumericConstantExpression ; 
                                                       sh:in (sdtl:ExpressionBase
                                                              sdtl:NumericConstantExpression)].
signatureShapes:NumericMaximumValueExpression a sh:NodeShape;
                                              sh:name "NumericMaximumValueExpression type signature";
                                              sh:nodeKind sh:BlankNodeOrIRI;
                                              sh:property [a sh:PropertyShape ; 
                                                           sh:path rdf:type ; 
                                                           sh:name "Concrete model type" ; 
                                                           sh:order "0"^^xsd:integer ; 
                                                           sh:hasValue sdtl:NumericMaximumValueExpression ; 
                                                           sh:in (sdtl:ExpressionBase
                                                                  sdtl:NumericMaximumValueExpression)].
signatureShapes:NumericMinimumValueExpression a sh:NodeShape;
                                              sh:name "NumericMinimumValueExpression type signature";
                                              sh:nodeKind sh:BlankNodeOrIRI;
                                              sh:property [a sh:PropertyShape ; 
                                                           sh:path rdf:type ; 
                                                           sh:name "Concrete model type" ; 
                                                           sh:order "0"^^xsd:integer ; 
                                                           sh:hasValue sdtl:NumericMinimumValueExpression ; 
                                                           sh:in (sdtl:ExpressionBase
                                                                  sdtl:NumericMinimumValueExpression)].
signatureShapes:Program a sh:NodeShape;
                        sh:name "Program type signature";
                        sh:nodeKind sh:IRI;
                        sh:property [a sh:PropertyShape ; 
                                     sh:path rdf:type ; 
                                     sh:name "Concrete model type" ; 
                                     sh:order "0"^^xsd:integer ; 
                                     sh:hasValue sdtl:Program ; 
                                     sh:in (sdtl:Program)].
signatureShapes:Recode a sh:NodeShape;
                       sh:name "Recode type signature";
                       sh:nodeKind sh:BlankNodeOrIRI;
                       sh:property [a sh:PropertyShape ; 
                                    sh:path rdf:type ; 
                                    sh:name "Concrete model type" ; 
                                    sh:order "0"^^xsd:integer ; 
                                    sh:hasValue sdtl:Recode ; 
                                    sh:in (sdtl:CommandBase
                                           sdtl:TransformBase
                                           sdtl:Recode)].
signatureShapes:RecodeRule a sh:NodeShape;
                           sh:name "RecodeRule type signature";
                           sh:nodeKind sh:BlankNodeOrIRI;
                           sh:property [a sh:PropertyShape ; 
                                        sh:path rdf:type ; 
                                        sh:name "Concrete model type" ; 
                                        sh:order "0"^^xsd:integer ; 
                                        sh:hasValue sdtl:RecodeRule ; 
                                        sh:in (sdtl:RecodeRule)].
signatureShapes:RecodeVariable a sh:NodeShape;
                               sh:name "RecodeVariable type signature";
                               sh:nodeKind sh:BlankNodeOrIRI;
                               sh:property [a sh:PropertyShape ; 
                                            sh:path rdf:type ; 
                                            sh:name "Concrete model type" ; 
                                            sh:order "0"^^xsd:integer ; 
                                            sh:hasValue sdtl:RecodeVariable ; 
                                            sh:in (sdtl:RecodeVariable)].
signatureShapes:Rename a sh:NodeShape;
                       sh:name "Rename type signature";
                       sh:nodeKind sh:BlankNodeOrIRI;
                       sh:property [a sh:PropertyShape ; 
                                    sh:path rdf:type ; 
                                    sh:name "Concrete model type" ; 
                                    sh:order "0"^^xsd:integer ; 
                                    sh:hasValue sdtl:Rename ; 
                                    sh:in (sdtl:CommandBase
                                           sdtl:TransformBase
                                           sdtl:Rename)].
signatureShapes:RenamePair a sh:NodeShape;
                           sh:name "RenamePair type signature";
                           sh:nodeKind sh:BlankNodeOrIRI;
                           sh:property [a sh:PropertyShape ; 
                                        sh:path rdf:type ; 
                                        sh:name "Concrete model type" ; 
                                        sh:order "0"^^xsd:integer ; 
                                        sh:hasValue sdtl:RenamePair ; 
                                        sh:in (sdtl:RenamePair)].
signatureShapes:ReshapeItemDescription a sh:NodeShape;
                                       sh:name "ReshapeItemDescription type signature";
                                       sh:nodeKind sh:BlankNodeOrIRI;
                                       sh:property [a sh:PropertyShape ; 
                                                    sh:path rdf:type ; 
                                                    sh:name "Concrete model type" ; 
                                                    sh:order "0"^^xsd:integer ; 
                                                    sh:hasValue sdtl:ReshapeItemDescription ; 
                                                    sh:in (sdtl:ReshapeItemDescription)].
signatureShapes:ReshapeLong a sh:NodeShape;
                            sh:name "ReshapeLong type signature";
                            sh:nodeKind sh:BlankNodeOrIRI;
                            sh:property [a sh:PropertyShape ; 
                                         sh:path rdf:type ; 
                                         sh:name "Concrete model type" ; 
                                         sh:order "0"^^xsd:integer ; 
                                         sh:hasValue sdtl:ReshapeLong ; 
                                         sh:in (sdtl:CommandBase
                                                sdtl:TransformBase
                                                sdtl:ReshapeLong)].
signatureShapes:ReshapeWide a sh:NodeShape;
                            sh:name "ReshapeWide type signature";
                            sh:nodeKind sh:BlankNodeOrIRI;
                            sh:property [a sh:PropertyShape ; 
                                         sh:path rdf:type ; 
                                         sh:name "Concrete model type" ; 
                                         sh:order "0"^^xsd:integer ; 
                                         sh:hasValue sdtl:ReshapeWide ; 
                                         sh:in (sdtl:CommandBase
                                                sdtl:TransformBase
                                                sdtl:ReshapeWide)].
signatureShapes:Save a sh:NodeShape;
                     sh:name "Save type signature";
                     sh:nodeKind sh:BlankNodeOrIRI;
                     sh:property [a sh:PropertyShape ; 
                                  sh:path rdf:type ; 
                                  sh:name "Concrete model type" ; 
                                  sh:order "0"^^xsd:integer ; 
                                  sh:hasValue sdtl:Save ; 
                                  sh:in (sdtl:CommandBase
                                         sdtl:TransformBase
                                         sdtl:Save)].
signatureShapes:SetDataType a sh:NodeShape;
                            sh:name "SetDataType type signature";
                            sh:nodeKind sh:BlankNodeOrIRI;
                            sh:property [a sh:PropertyShape ; 
                                         sh:path rdf:type ; 
                                         sh:name "Concrete model type" ; 
                                         sh:order "0"^^xsd:integer ; 
                                         sh:hasValue sdtl:SetDataType ; 
                                         sh:in (sdtl:CommandBase
                                                sdtl:TransformBase
                                                sdtl:SetDataType)].
signatureShapes:SetDatasetProperty a sh:NodeShape;
                                   sh:name "SetDatasetProperty type signature";
                                   sh:nodeKind sh:BlankNodeOrIRI;
                                   sh:property [a sh:PropertyShape ; 
                                                sh:path rdf:type ; 
                                                sh:name "Concrete model type" ; 
                                                sh:order "0"^^xsd:integer ; 
                                                sh:hasValue sdtl:SetDatasetProperty ; 
                                                sh:in (sdtl:CommandBase
                                                       sdtl:TransformBase
                                                       sdtl:SetDatasetProperty)].
signatureShapes:SetDisplayFormat a sh:NodeShape;
                                 sh:name "SetDisplayFormat type signature";
                                 sh:nodeKind sh:BlankNodeOrIRI;
                                 sh:property [a sh:PropertyShape ; 
                                              sh:path rdf:type ; 
                                              sh:name "Concrete model type" ; 
                                              sh:order "0"^^xsd:integer ; 
                                              sh:hasValue sdtl:SetDisplayFormat ; 
                                              sh:in (sdtl:CommandBase
                                                     sdtl:TransformBase
                                                     sdtl:SetDisplayFormat)].
signatureShapes:SetMissingValues a sh:NodeShape;
                                 sh:name "SetMissingValues type signature";
                                 sh:nodeKind sh:BlankNodeOrIRI;
                                 sh:property [a sh:PropertyShape ; 
                                              sh:path rdf:type ; 
                                              sh:name "Concrete model type" ; 
                                              sh:order "0"^^xsd:integer ; 
                                              sh:hasValue sdtl:SetMissingValues ; 
                                              sh:in (sdtl:CommandBase
                                                     sdtl:TransformBase
                                                     sdtl:SetMissingValues)].
signatureShapes:SetValueLabels a sh:NodeShape;
                               sh:name "SetValueLabels type signature";
                               sh:nodeKind sh:BlankNodeOrIRI;
                               sh:property [a sh:PropertyShape ; 
                                            sh:path rdf:type ; 
                                            sh:name "Concrete model type" ; 
                                            sh:order "0"^^xsd:integer ; 
                                            sh:hasValue sdtl:SetValueLabels ; 
                                            sh:in (sdtl:CommandBase
                                                   sdtl:TransformBase
                                                   sdtl:SetValueLabels)].
signatureShapes:SetVariableLabel a sh:NodeShape;
                                 sh:name "SetVariableLabel type signature";
                                 sh:nodeKind sh:BlankNodeOrIRI;
                                 sh:property [a sh:PropertyShape ; 
                                              sh:path rdf:type ; 
                                              sh:name "Concrete model type" ; 
                                              sh:order "0"^^xsd:integer ; 
                                              sh:hasValue sdtl:SetVariableLabel ; 
                                              sh:in (sdtl:CommandBase
                                                     sdtl:TransformBase
                                                     sdtl:SetVariableLabel)].
signatureShapes:SortCases a sh:NodeShape;
                          sh:name "SortCases type signature";
                          sh:nodeKind sh:BlankNodeOrIRI;
                          sh:property [a sh:PropertyShape ; 
                                       sh:path rdf:type ; 
                                       sh:name "Concrete model type" ; 
                                       sh:order "0"^^xsd:integer ; 
                                       sh:hasValue sdtl:SortCases ; 
                                       sh:in (sdtl:CommandBase
                                              sdtl:TransformBase
                                              sdtl:SortCases)].
signatureShapes:SortCriterion a sh:NodeShape;
                              sh:name "SortCriterion type signature";
                              sh:nodeKind sh:BlankNodeOrIRI;
                              sh:property [a sh:PropertyShape ; 
                                           sh:path rdf:type ; 
                                           sh:name "Concrete model type" ; 
                                           sh:order "0"^^xsd:integer ; 
                                           sh:hasValue sdtl:SortCriterion ; 
                                           sh:in (sdtl:SortCriterion)].
signatureShapes:SourceInformation a sh:NodeShape;
                                  sh:name "SourceInformation type signature";
                                  sh:nodeKind sh:BlankNodeOrIRI;
                                  sh:property [a sh:PropertyShape ; 
                                               sh:path rdf:type ; 
                                               sh:name "Concrete model type" ; 
                                               sh:order "0"^^xsd:integer ; 
                                               sh:hasValue sdtl:SourceInformation ; 
                                               sh:in (sdtl:SourceInformation)].
signatureShapes:StringConstantExpression a sh:NodeShape;
                                         sh:name "StringConstantExpression type signature";
                                         sh:nodeKind sh:BlankNodeOrIRI;
                                         sh:property [a sh:PropertyShape ; 
                                                      sh:path rdf:type ; 
                                                      sh:name "Concrete model type" ; 
                                                      sh:order "0"^^xsd:integer ; 
                                                      sh:hasValue sdtl:StringConstantExpression ; 
                                                      sh:in (sdtl:ExpressionBase
                                                             sdtl:StringConstantExpression)].
signatureShapes:StringRangeExpression a sh:NodeShape;
                                      sh:name "StringRangeExpression type signature";
                                      sh:nodeKind sh:BlankNodeOrIRI;
                                      sh:property [a sh:PropertyShape ; 
                                                   sh:path rdf:type ; 
                                                   sh:name "Concrete model type" ; 
                                                   sh:order "0"^^xsd:integer ; 
                                                   sh:hasValue sdtl:StringRangeExpression ; 
                                                   sh:in (sdtl:ExpressionBase
                                                          sdtl:StringRangeExpression)].
signatureShapes:TimeDurationConstant a sh:NodeShape;
                                     sh:name "TimeDurationConstant type signature";
                                     sh:nodeKind sh:BlankNodeOrIRI;
                                     sh:property [a sh:PropertyShape ; 
                                                  sh:path rdf:type ; 
                                                  sh:name "Concrete model type" ; 
                                                  sh:order "0"^^xsd:integer ; 
                                                  sh:hasValue sdtl:TimeDurationConstant ; 
                                                  sh:in (sdtl:ExpressionBase
                                                         sdtl:TimeDurationConstant)].
signatureShapes:UnhandledValuesExpression a sh:NodeShape;
                                          sh:name "UnhandledValuesExpression type signature";
                                          sh:nodeKind sh:BlankNodeOrIRI;
                                          sh:property [a sh:PropertyShape ; 
                                                       sh:path rdf:type ; 
                                                       sh:name "Concrete model type" ; 
                                                       sh:order "0"^^xsd:integer ; 
                                                       sh:hasValue sdtl:UnhandledValuesExpression ; 
                                                       sh:in (sdtl:ExpressionBase
                                                              sdtl:UnhandledValuesExpression)].
signatureShapes:Unsupported a sh:NodeShape;
                            sh:name "Unsupported type signature";
                            sh:nodeKind sh:BlankNodeOrIRI;
                            sh:property [a sh:PropertyShape ; 
                                         sh:path rdf:type ; 
                                         sh:name "Concrete model type" ; 
                                         sh:order "0"^^xsd:integer ; 
                                         sh:hasValue sdtl:Unsupported ; 
                                         sh:in (sdtl:CommandBase
                                                sdtl:InformBase
                                                sdtl:Unsupported)].
signatureShapes:ValueLabel a sh:NodeShape;
                           sh:name "ValueLabel type signature";
                           sh:nodeKind sh:BlankNodeOrIRI;
                           sh:property [a sh:PropertyShape ; 
                                        sh:path rdf:type ; 
                                        sh:name "Concrete model type" ; 
                                        sh:order "0"^^xsd:integer ; 
                                        sh:hasValue sdtl:ValueLabel ; 
                                        sh:in (sdtl:ValueLabel)].
signatureShapes:ValueListExpression a sh:NodeShape;
                                    sh:name "ValueListExpression type signature";
                                    sh:nodeKind sh:BlankNodeOrIRI;
                                    sh:property [a sh:PropertyShape ; 
                                                 sh:path rdf:type ; 
                                                 sh:name "Concrete model type" ; 
                                                 sh:order "0"^^xsd:integer ; 
                                                 sh:hasValue sdtl:ValueListExpression ; 
                                                 sh:in (sdtl:ExpressionBase
                                                        sdtl:ValueListExpression)].
signatureShapes:VariableListExpression a sh:NodeShape;
                                       sh:name "VariableListExpression type signature";
                                       sh:nodeKind sh:BlankNodeOrIRI;
                                       sh:property [a sh:PropertyShape ; 
                                                    sh:path rdf:type ; 
                                                    sh:name "Concrete model type" ; 
                                                    sh:order "0"^^xsd:integer ; 
                                                    sh:hasValue sdtl:VariableListExpression ; 
                                                    sh:in (sdtl:ExpressionBase
                                                           sdtl:VariableReferenceBase
                                                           sdtl:VariableListExpression)].
signatureShapes:VariableRangeExpression a sh:NodeShape;
                                        sh:name "VariableRangeExpression type signature";
                                        sh:nodeKind sh:BlankNodeOrIRI;
                                        sh:property [a sh:PropertyShape ; 
                                                     sh:path rdf:type ; 
                                                     sh:name "Concrete model type" ; 
                                                     sh:order "0"^^xsd:integer ; 
                                                     sh:hasValue sdtl:VariableRangeExpression ; 
                                                     sh:in (sdtl:ExpressionBase
                                                            sdtl:VariableReferenceBase
                                                            sdtl:VariableRangeExpression)].
signatureShapes:VariableSymbolExpression a sh:NodeShape;
                                         sh:name "VariableSymbolExpression type signature";
                                         sh:nodeKind sh:BlankNodeOrIRI;
                                         sh:property [a sh:PropertyShape ; 
                                                      sh:path rdf:type ; 
                                                      sh:name "Concrete model type" ; 
                                                      sh:order "0"^^xsd:integer ; 
                                                      sh:hasValue sdtl:VariableSymbolExpression ; 
                                                      sh:in (sdtl:ExpressionBase
                                                             sdtl:VariableReferenceBase
                                                             sdtl:VariableSymbolExpression)].
signatureShapes:Weight a sh:NodeShape;
                       sh:name "Weight type signature";
                       sh:nodeKind sh:BlankNodeOrIRI;
                       sh:property [a sh:PropertyShape ; 
                                    sh:path rdf:type ; 
                                    sh:name "Concrete model type" ; 
                                    sh:order "0"^^xsd:integer ; 
                                    sh:hasValue sdtl:Weight ; 
                                    sh:in (sdtl:Weight)].
targetShapes:Aggregate a sh:NodeShape;
                       sh:description """An aggregation summarizes data using aggregation functions applied to data that may be grouped\r
by one or more variables. The resulting summary data is added to each row of the\r
existing dataset.  See the aggregation functions in the Function Library.\r
""";
                       sh:name "Aggregate";
                       sh:or (typeShapes:Aggregate);
                       sh:targetClass sdtl:Aggregate.
targetShapes:AllNumericVariablesExpression a sh:NodeShape;
                                           sh:description """An expression that represents all numeric variables in the dataset, similar to `_all` in SPSS or Stata.\r
""";
                                           sh:name "AllNumericVariablesExpression";
                                           sh:or (typeShapes:AllNumericVariablesExpression);
                                           sh:targetClass sdtl:AllNumericVariablesExpression.
targetShapes:AllTextVariablesExpression a sh:NodeShape;
                                        sh:description """An expression that represents all text variables in the dataset, similar to `_all` in SPSS or Stata.\r
""";
                                        sh:name "AllTextVariablesExpression";
                                        sh:or (typeShapes:AllTextVariablesExpression);
                                        sh:targetClass sdtl:AllTextVariablesExpression.
targetShapes:AllVariablesExpression a sh:NodeShape;
                                    sh:description """An expression that represents all variables in the dataset, similar to `_all` in SPSS or Stata.\r
""";
                                    sh:name "AllVariablesExpression";
                                    sh:or (typeShapes:AllVariablesExpression);
                                    sh:targetClass sdtl:AllVariablesExpression.
targetShapes:Analysis a sh:NodeShape;
                      sh:description """Describes an analysis command. An analysis command does not result in any data transformation.\r
""";
                      sh:name "Analysis";
                      sh:or (typeShapes:Analysis);
                      sh:targetClass sdtl:Analysis.
targetShapes:AppendDatasets a sh:NodeShape;
                            sh:description """Combines datasets by concatenation for datasets with the same or overlapping variables.  \r
""";
                            sh:name "AppendDatasets";
                            sh:or (typeShapes:AppendDatasets);
                            sh:targetClass sdtl:AppendDatasets.
targetShapes:AppendFileDescription a sh:NodeShape;
                                   sh:description """Describes files used in an AppendDatasets command.\r
""";
                                   sh:name "AppendFileDescription";
                                   sh:or (typeShapes:AppendFileDescription);
                                   sh:targetClass sdtl:AppendFileDescription.
targetShapes:BooleanConstantExpression a sh:NodeShape;
                                       sh:description """BooleanConstantExpression takes values of TRUE and FALSE.\r
""";
                                       sh:name "BooleanConstantExpression";
                                       sh:or (typeShapes:BooleanConstantExpression);
                                       sh:targetClass sdtl:BooleanConstantExpression.
targetShapes:Collapse a sh:NodeShape;
                      sh:description """A collapse command summarizes data using aggregation functions applied to data\r
that may be grouped by one or more variables. The resulting summary data is\r
represented in a new dataset.  See the collapse functions in the Function Library.   \r
   \r
The details of implementation of caseWise and columnWise exclusion vary in each statistical package.  The source language is indicated in this property for reference.   """;
                      sh:name "Collapse";
                      sh:or (typeShapes:Collapse);
                      sh:targetClass sdtl:Collapse.
targetShapes:CommandBase a sh:NodeShape;
                         sh:description """CommandBase defines general properties available to all commands.\r
""";
                         sh:name "CommandBase";
                         sh:or (typeShapes:Aggregate
                                typeShapes:Analysis
                                typeShapes:AppendDatasets
                                typeShapes:Collapse
                                typeShapes:Comment
                                typeShapes:Compute
                                typeShapes:DoIf
                                typeShapes:DropCases
                                typeShapes:DropVariables
                                typeShapes:Execute
                                typeShapes:IfRows
                                typeShapes:Invalid
                                typeShapes:KeepCases
                                typeShapes:KeepVariables
                                typeShapes:Load
                                typeShapes:LoopOverList
                                typeShapes:LoopWhile
                                typeShapes:MergeDatasets
                                typeShapes:Message
                                typeShapes:NewDataframe
                                typeShapes:NoTransformOp
                                typeShapes:Recode
                                typeShapes:Rename
                                typeShapes:ReshapeLong
                                typeShapes:ReshapeWide
                                typeShapes:Save
                                typeShapes:SetDataType
                                typeShapes:SetDatasetProperty
                                typeShapes:SetDisplayFormat
                                typeShapes:SetMissingValues
                                typeShapes:SetValueLabels
                                typeShapes:SetVariableLabel
                                typeShapes:SortCases
                                typeShapes:Unsupported);
                         sh:targetClass sdtl:CommandBase.
targetShapes:Comment a sh:NodeShape;
                     sh:description """Describes a source code comment.  Comments should not include special characters.  \r
""";
                     sh:name "Comment";
                     sh:or (typeShapes:Comment);
                     sh:targetClass sdtl:Comment.
targetShapes:CompositeVariableNameExpression a sh:NodeShape;
                                             sh:description """A composite variable name is used to describe a variable name that is computed.\r
""";
                                             sh:name "CompositeVariableNameExpression";
                                             sh:or (typeShapes:CompositeVariableNameExpression);
                                             sh:targetClass sdtl:CompositeVariableNameExpression.
targetShapes:Compute a sh:NodeShape;
                     sh:description "Assigns the value of an expression to a variable.  ";
                     sh:name "Compute";
                     sh:or (typeShapes:Compute);
                     sh:targetClass sdtl:Compute.
targetShapes:DataframeDescription a sh:NodeShape;
                                  sh:description """Provides a name for the dataframe and an ordered list of variables (optional).   \r
""";
                                  sh:name "DataframeDescription";
                                  sh:or (typeShapes:DataframeDescription);
                                  sh:targetClass sdtl:DataframeDescription.
targetShapes:DateTimeConstant a sh:NodeShape;
                              sh:description """A date-time constant expressed in ISO 8601 format.\r
""";
                              sh:name "DateTimeConstant";
                              sh:or (typeShapes:DateTimeConstant);
                              sh:targetClass sdtl:DateTimeConstant.
targetShapes:DoIf a sh:NodeShape;
                  sh:description """A set of commands that are performed when a logical expression is true.  May also include ElseCommands to be performed if the logical expression is false.  The commands in DoIf are performed once, and it expects a logical condition that applies to the entire dataframe.  Use IfRows for commands that are performed on each row depending upon values on those rows. \r
""";
                  sh:name "DoIf";
                  sh:or (typeShapes:DoIf);
                  sh:targetClass sdtl:DoIf.
targetShapes:DropCases a sh:NodeShape;
                       sh:description """Rows that match the selection condition are deleted from the dataset.  \r
""";
                       sh:name "DropCases";
                       sh:or (typeShapes:DropCases);
                       sh:targetClass sdtl:DropCases.
targetShapes:DropVariables a sh:NodeShape;
                           sh:description """Deletes variables from the data.\r
""";
                           sh:name "DropVariables";
                           sh:or (typeShapes:DropVariables);
                           sh:targetClass sdtl:DropVariables.
targetShapes:Execute a sh:NodeShape;
                     sh:description """This command causes the system to execute preceding commands before continuing to process the command script.\r
""";
                     sh:name "Execute";
                     sh:or (typeShapes:Execute);
                     sh:targetClass sdtl:Execute.
targetShapes:ExpressionBase a sh:NodeShape;
                            sh:description """The SDTL types in  ExpressionBase are used in expressions, which may be numeric, text or logical. \r
""";
                            sh:name "ExpressionBase";
                            sh:or (typeShapes:AllNumericVariablesExpression
                                   typeShapes:AllTextVariablesExpression
                                   typeShapes:AllVariablesExpression
                                   typeShapes:BooleanConstantExpression
                                   typeShapes:CompositeVariableNameExpression
                                   typeShapes:DateTimeConstant
                                   typeShapes:FunctionCallExpression
                                   typeShapes:GroupedExpression
                                   typeShapes:IteratorSymbolExpression
                                   typeShapes:MissingValueConstantExpression
                                   typeShapes:NumberRangeExpression
                                   typeShapes:NumericConstantExpression
                                   typeShapes:NumericMaximumValueExpression
                                   typeShapes:NumericMinimumValueExpression
                                   typeShapes:StringConstantExpression
                                   typeShapes:StringRangeExpression
                                   typeShapes:TimeDurationConstant
                                   typeShapes:UnhandledValuesExpression
                                   typeShapes:ValueListExpression
                                   typeShapes:VariableListExpression
                                   typeShapes:VariableRangeExpression
                                   typeShapes:VariableSymbolExpression);
                            sh:targetClass sdtl:ExpressionBase.
targetShapes:FunctionArgument a sh:NodeShape;
                              sh:description """Describes the arguments in a function as specified in the SDTL Function Library.   \r
Notes:\r
1. The argumentName property must always be present.   \r
2. The argumentValue property is required, and it must be a single object.  When the argumentValue is a list of items in the source language, the ValueListExpression or VariableListExpression should be used. """;
                              sh:name "FunctionArgument";
                              sh:or (typeShapes:FunctionArgument);
                              sh:targetClass sdtl:FunctionArgument.
targetShapes:FunctionCallExpression a sh:NodeShape;
                                    sh:description "An expression evaluated by reference to the Function Library.";
                                    sh:name "FunctionCallExpression";
                                    sh:or (typeShapes:FunctionCallExpression);
                                    sh:targetClass sdtl:FunctionCallExpression.
targetShapes:GroupedExpression a sh:NodeShape;
                               sh:description """A group of expressions to be evaluated before expressions outside of the group.  Used to control the order of operations in a formula.\r
""";
                               sh:name "GroupedExpression";
                               sh:or (typeShapes:GroupedExpression);
                               sh:targetClass sdtl:GroupedExpression.
targetShapes:IfRows a sh:NodeShape;
                    sh:description """A set of commands that are performed on each row in the dataframe when a logical expression is true for that row.  May also include ElseCommands to be performed if the logical expression is false.  Use DoIf for a logical condition that applies to the entire dataframe and commands that are performed once.  \r
""";
                    sh:name "IfRows";
                    sh:or (typeShapes:IfRows);
                    sh:targetClass sdtl:IfRows.
targetShapes:InformBase a sh:NodeShape;
                        sh:description """InformBase includes information elements that do not transform data.\r
""";
                        sh:name "InformBase";
                        sh:or (typeShapes:Analysis
                               typeShapes:Comment
                               typeShapes:Invalid
                               typeShapes:Message
                               typeShapes:NoTransformOp
                               typeShapes:Unsupported);
                        sh:targetClass sdtl:InformBase.
targetShapes:Invalid a sh:NodeShape;
                     sh:description """Describes an invalid command. A command is invalid if it uses incorrect syntax, or is otherwise not allowed by the executing system.\r
""";
                     sh:name "Invalid";
                     sh:or (typeShapes:Invalid);
                     sh:targetClass sdtl:Invalid.
targetShapes:IteratorDescription a sh:NodeShape;
                                 sh:description """Describes an iteration process consisting of an IteratorSymbolExpression and a list of values it takes.  \r
""";
                                 sh:name "IteratorDescription";
                                 sh:or (typeShapes:IteratorDescription);
                                 sh:targetClass sdtl:IteratorDescription.
targetShapes:IteratorSymbolExpression a sh:NodeShape;
                                      sh:description """The name of an iterator symbol used as an index in describing the actions of \r
a loop.\r
""";
                                      sh:name "IteratorSymbolExpression";
                                      sh:or (typeShapes:IteratorSymbolExpression);
                                      sh:targetClass sdtl:IteratorSymbolExpression.
targetShapes:KeepCases a sh:NodeShape;
                       sh:description """Rows that match the selection condition are retained in the dataset.  Other rows are deleted.\r
""";
                       sh:name "KeepCases";
                       sh:or (typeShapes:KeepCases);
                       sh:targetClass sdtl:KeepCases.
targetShapes:KeepVariables a sh:NodeShape;
                           sh:description """Variables to be retained in the dataset. Variables not on the list are deleted.\r
""";
                           sh:name "KeepVariables";
                           sh:or (typeShapes:KeepVariables);
                           sh:targetClass sdtl:KeepVariables.
targetShapes:Load a sh:NodeShape;
                  sh:description """Load data from a file.\r
""";
                  sh:name "Load";
                  sh:or (typeShapes:Load);
                  sh:targetClass sdtl:Load.
targetShapes:LoopOverList a sh:NodeShape;
                          sh:description """A loop creates multiple versions of a set of commands by iterating over a list of variables, numbers, or strings.  \r
""";
                          sh:name "LoopOverList";
                          sh:or (typeShapes:LoopOverList);
                          sh:targetClass sdtl:LoopOverList.
targetShapes:LoopWhile a sh:NodeShape;
                       sh:description "LoopWhile iterates over a set of commands under the control of one or more logical expressions.  Since the logical conditions typically depend upon values in the data, commands executed in a LoopWhile cannot be anticipated and expanded in SDTL.";
                       sh:name "LoopWhile";
                       sh:or (typeShapes:LoopWhile);
                       sh:targetClass sdtl:LoopWhile.
targetShapes:MergeDatasets a sh:NodeShape;
                           sh:description """Merges datasets holding overlapping cases but different variables.  The merge may be controlled by keys or grouping variables.\r
""";
                           sh:name "MergeDatasets";
                           sh:or (typeShapes:MergeDatasets);
                           sh:targetClass sdtl:MergeDatasets.
targetShapes:MergeFileDescription a sh:NodeShape;
                                  sh:description """Describes files used in a MergeData command.\r
""";
                                  sh:name "MergeFileDescription";
                                  sh:or (typeShapes:MergeFileDescription);
                                  sh:targetClass sdtl:MergeFileDescription.
targetShapes:Message a sh:NodeShape;
                     sh:description """Inserts message text in the SDTL file.\r
""";
                     sh:name "Message";
                     sh:or (typeShapes:Message);
                     sh:targetClass sdtl:Message.
targetShapes:MissingValueConstantExpression a sh:NodeShape;
                                            sh:description """A missing value constant.  Some languages allow multiple missing value constants.\r
""";
                                            sh:name "MissingValueConstantExpression";
                                            sh:or (typeShapes:MissingValueConstantExpression);
                                            sh:targetClass sdtl:MissingValueConstantExpression.
targetShapes:NewDataframe a sh:NodeShape;
                          sh:description """The NewDataframe command copies or creates a new dataframe.  It can be used in two ways.    \r
    \r
An existing dataframe can be copied to a new dataframe by using the consumesDataframe and producesDataframe properties of NewDataframe.  The new dataframe will be a \"deep\" copy in the sense used in R and Python.      \r
   \r
NewDataframe can also be used to create an empty dataframe of a specific size.  In Stata, the \"set obs #\" command will create a dataframe with a user-defined number of rows.  All values are assumed to be missing.  This may be used in simulations to preset a number of simulated observations, which are then filled with randomly generated data.\r
\r
\r
\r
""";
                          sh:name "NewDataframe";
                          sh:or (typeShapes:NewDataframe);
                          sh:targetClass sdtl:NewDataframe.
targetShapes:NoTransformOp a sh:NodeShape;
                           sh:description """NoTransformOp is used for a command in the original script that provides important information but does not have a function in SDTL.  For example, “library()” in R loads a package of R functions.  Since the Parser detects the library, the SDTL will reflect the library that is used, and commands derived from the library will be translated in the SDTL script.  However, it is useful to know which library is active for auditing the R script, even if it does not perform any data transformations.  \r
""";
                           sh:name "NoTransformOp";
                           sh:or (typeShapes:NoTransformOp);
                           sh:targetClass sdtl:NoTransformOp.
targetShapes:NumberRangeExpression a sh:NodeShape;
                                   sh:description """Defines a range of numeric values.\r
""";
                                   sh:name "NumberRangeExpression";
                                   sh:or (typeShapes:NumberRangeExpression);
                                   sh:targetClass sdtl:NumberRangeExpression.
targetShapes:NumericConstantExpression a sh:NodeShape;
                                       sh:description """A numeric constant.\r
""";
                                       sh:name "NumericConstantExpression";
                                       sh:or (typeShapes:NumericConstantExpression);
                                       sh:targetClass sdtl:NumericConstantExpression.
targetShapes:NumericMaximumValueExpression a sh:NodeShape;
                                           sh:description """Represents the largest numeric value supported by a system.\r
""";
                                           sh:name "NumericMaximumValueExpression";
                                           sh:or (typeShapes:NumericMaximumValueExpression);
                                           sh:targetClass sdtl:NumericMaximumValueExpression.
targetShapes:NumericMinimumValueExpression a sh:NodeShape;
                                           sh:description """Represents the smallest numeric value supported by a system.\r
""";
                                           sh:name "NumericMinimumValueExpression";
                                           sh:or (typeShapes:NumericMinimumValueExpression);
                                           sh:targetClass sdtl:NumericMinimumValueExpression.
targetShapes:Program a sh:NodeShape;
                     sh:description """The program represents a list of commands from a statistical package.\r
""";
                     sh:name "Program";
                     sh:or (typeShapes:Program);
                     sh:targetClass sdtl:Program.
targetShapes:Recode a sh:NodeShape;
                    sh:description """Describes recoding values in one or more variables according to a specified mapping.\r
\r
The Recode command can either describe a recoding of one or more individual variables,\r
or a range of variables. When one or more individual variables are described, a new\r
variable name can be specified. In this case, the original variable is left alone, and\r
a new variable is created with the recoded values.\r
""";
                    sh:name "Recode";
                    sh:or (typeShapes:Recode);
                    sh:targetClass sdtl:Recode.
targetShapes:RecodeRule a sh:NodeShape;
                        sh:description """Describes how values will be recoded.\r
""";
                        sh:name "RecodeRule";
                        sh:or (typeShapes:RecodeRule);
                        sh:targetClass sdtl:RecodeRule.
targetShapes:RecodeVariable a sh:NodeShape;
                            sh:description """Describes a variable that will have its values recoded.\r
""";
                            sh:name "RecodeVariable";
                            sh:or (typeShapes:RecodeVariable);
                            sh:targetClass sdtl:RecodeVariable.
targetShapes:Rename a sh:NodeShape;
                    sh:description """Rename changes the names of variables.\r
""";
                    sh:name "Rename";
                    sh:or (typeShapes:Rename);
                    sh:targetClass sdtl:Rename.
targetShapes:RenamePair a sh:NodeShape;
                        sh:description """Variable names before and after a variable is renamed.\r
""";
                        sh:name "RenamePair";
                        sh:or (typeShapes:RenamePair);
                        sh:targetClass sdtl:RenamePair.
targetShapes:ReshapeItemDescription a sh:NodeShape;
                                    sh:description """Descripbes a new variable created by reshaping a dataset from wide to long or vice versa.\r
""";
                                    sh:name "ReshapeItemDescription";
                                    sh:or (typeShapes:ReshapeItemDescription);
                                    sh:targetClass sdtl:ReshapeItemDescription.
targetShapes:ReshapeLong a sh:NodeShape;
                         sh:description """Creates a new dataset with multiple rows per case by assigning a set of variables in the original dataset to a single variable in the new dataset.\r
""";
                         sh:name "ReshapeLong";
                         sh:or (typeShapes:ReshapeLong);
                         sh:targetClass sdtl:ReshapeLong.
targetShapes:ReshapeWide a sh:NodeShape;
                         sh:description """ReshapeWide is not supported in the current version of SDTL, because it depends on values in the data.  However, it may be useful when values of the index variable are available in the metadata file or the data can be processed.\r
""";
                         sh:name "ReshapeWide";
                         sh:or (typeShapes:ReshapeWide);
                         sh:targetClass sdtl:ReshapeWide.
targetShapes:Save a sh:NodeShape;
                  sh:description """Writes a dataset to a file.\r
""";
                  sh:name "Save";
                  sh:or (typeShapes:Save);
                  sh:targetClass sdtl:Save.
targetShapes:SetDataType a sh:NodeShape;
                         sh:description """Sets the data type of a variable.   \r
Examples:   \r
\r
```\r
\"dataType\": \"Text\",\r
\"subTypeSchema\": \"Stata 15.1\",\r
\"subType\": \"str1\"\r
```\r
\r
```\r
\"dataType\": \"Numeric\",\r
\"subTypeSchema\": \"https://www.ddialliance.org/Specification/DDI-CV/DataType_1.0.html\" ,\r
\"subType\": \"Int\"\r
```\r
\r
\r
""";
                         sh:name "SetDataType";
                         sh:or (typeShapes:SetDataType);
                         sh:targetClass sdtl:SetDataType.
targetShapes:SetDatasetProperty a sh:NodeShape;
                                sh:description """Changes a property of a dataframe.\r
""";
                                sh:name "SetDatasetProperty";
                                sh:or (typeShapes:SetDatasetProperty);
                                sh:targetClass sdtl:SetDatasetProperty.
targetShapes:SetDisplayFormat a sh:NodeShape;
                              sh:description """Sets the display or output format for a variable.    \r
Examples:   \r
```\r
\"displayFormatSchema\": \"SAS\"\r
\"displayFormatName\": \"DOLLAR6.2\"\r
```\r
\r
```\r
\"displayFormatSchema\": \"Stata 15.1\"\r
\"displayFormatName\": \"%tcDDmonCCYY_HH:MM:SS\"\r
```\r
""";
                              sh:name "SetDisplayFormat";
                              sh:or (typeShapes:SetDisplayFormat);
                              sh:targetClass sdtl:SetDisplayFormat.
targetShapes:SetMissingValues a sh:NodeShape;
                              sh:description """Defines values that are treated as missing values for a list of variables.\r
""";
                              sh:name "SetMissingValues";
                              sh:or (typeShapes:SetMissingValues);
                              sh:targetClass sdtl:SetMissingValues.
targetShapes:SetValueLabels a sh:NodeShape;
                            sh:description """Describes the assignment of labels to categorical values.\r
""";
                            sh:name "SetValueLabels";
                            sh:or (typeShapes:SetValueLabels);
                            sh:targetClass sdtl:SetValueLabels.
targetShapes:SetVariableLabel a sh:NodeShape;
                              sh:description """Describes the assignment of a label to a variable.\r
""";
                              sh:name "SetVariableLabel";
                              sh:or (typeShapes:SetVariableLabel);
                              sh:targetClass sdtl:SetVariableLabel.
targetShapes:SortCases a sh:NodeShape;
                       sh:description """Sorts rows in the dataframe in a specified order.\r
""";
                       sh:name "SortCases";
                       sh:or (typeShapes:SortCases);
                       sh:targetClass sdtl:SortCases.
targetShapes:SortCriterion a sh:NodeShape;
                           sh:description """Describes a criterion by which cases are sorted, including the variable name and whether to sort ascending or descending.\r
""";
                           sh:name "SortCriterion";
                           sh:or (typeShapes:SortCriterion);
                           sh:targetClass sdtl:SortCriterion.
targetShapes:SourceInformation a sh:NodeShape;
                               sh:description """SourceInformation defines information about the original source of a data transform.\r
""";
                               sh:name "SourceInformation";
                               sh:or (typeShapes:SourceInformation);
                               sh:targetClass sdtl:SourceInformation.
targetShapes:StringConstantExpression a sh:NodeShape;
                                      sh:description """A text string.\r
""";
                                      sh:name "StringConstantExpression";
                                      sh:or (typeShapes:StringConstantExpression);
                                      sh:targetClass sdtl:StringConstantExpression.
targetShapes:StringRangeExpression a sh:NodeShape;
                                   sh:description """Defines a range of string values, such as \"A to N\".\r
""";
                                   sh:name "StringRangeExpression";
                                   sh:or (typeShapes:StringRangeExpression);
                                   sh:targetClass sdtl:StringRangeExpression.
targetShapes:TimeDurationConstant a sh:NodeShape;
                                  sh:description """A time duration constant expressed in ISO 8601 format.\r
""";
                                  sh:name "TimeDurationConstant";
                                  sh:or (typeShapes:TimeDurationConstant);
                                  sh:targetClass sdtl:TimeDurationConstant.
targetShapes:TransformBase a sh:NodeShape;
                           sh:description """TransformBase defines properties available for transform commands.\r
""";
                           sh:name "TransformBase";
                           sh:or (typeShapes:Aggregate
                                  typeShapes:AppendDatasets
                                  typeShapes:Collapse
                                  typeShapes:Compute
                                  typeShapes:DoIf
                                  typeShapes:DropCases
                                  typeShapes:DropVariables
                                  typeShapes:Execute
                                  typeShapes:IfRows
                                  typeShapes:KeepCases
                                  typeShapes:KeepVariables
                                  typeShapes:Load
                                  typeShapes:LoopOverList
                                  typeShapes:LoopWhile
                                  typeShapes:MergeDatasets
                                  typeShapes:NewDataframe
                                  typeShapes:Recode
                                  typeShapes:Rename
                                  typeShapes:ReshapeLong
                                  typeShapes:ReshapeWide
                                  typeShapes:Save
                                  typeShapes:SetDataType
                                  typeShapes:SetDatasetProperty
                                  typeShapes:SetDisplayFormat
                                  typeShapes:SetMissingValues
                                  typeShapes:SetValueLabels
                                  typeShapes:SetVariableLabel
                                  typeShapes:SortCases);
                           sh:targetClass sdtl:TransformBase.
targetShapes:UnhandledValuesExpression a sh:NodeShape;
                                       sh:description """Represents any values not previously handled (for example, in a set of recode rules).\r
""";
                                       sh:name "UnhandledValuesExpression";
                                       sh:or (typeShapes:UnhandledValuesExpression);
                                       sh:targetClass sdtl:UnhandledValuesExpression.
targetShapes:Unsupported a sh:NodeShape;
                         sh:description """Describes an unsupported command. An unsupported command is valid syntax, but not supported by the parsing application.\r
""";
                         sh:name "Unsupported";
                         sh:or (typeShapes:Unsupported);
                         sh:targetClass sdtl:Unsupported.
targetShapes:ValueLabel a sh:NodeShape;
                        sh:description """Associates a label with a  value in a categorical variable.\r
""";
                        sh:name "ValueLabel";
                        sh:or (typeShapes:ValueLabel);
                        sh:targetClass sdtl:ValueLabel.
targetShapes:ValueListExpression a sh:NodeShape;
                                 sh:description """Wraps a list of other expressions.\r
""";
                                 sh:name "ValueListExpression";
                                 sh:or (typeShapes:ValueListExpression);
                                 sh:targetClass sdtl:ValueListExpression.
targetShapes:VariableListExpression a sh:NodeShape;
                                    sh:description """A list of variables which may include variable names (VariableSymbolExpression, CompositeVariableNameExpression), variable ranges (VariableRangeExpression), and variable lists.\r
""";
                                    sh:name "VariableListExpression";
                                    sh:or (typeShapes:VariableListExpression);
                                    sh:targetClass sdtl:VariableListExpression.
targetShapes:VariableRangeExpression a sh:NodeShape;
                                     sh:description "A list of variables in adjacent columns defined by the variable names of first and last columns.";
                                     sh:name "VariableRangeExpression";
                                     sh:or (typeShapes:VariableRangeExpression);
                                     sh:targetClass sdtl:VariableRangeExpression.
targetShapes:VariableReferenceBase a sh:NodeShape;
                                   sh:description """Types used to describe variables in expressions.\r
""";
                                   sh:name "VariableReferenceBase";
                                   sh:or (typeShapes:AllNumericVariablesExpression
                                          typeShapes:AllTextVariablesExpression
                                          typeShapes:AllVariablesExpression
                                          typeShapes:CompositeVariableNameExpression
                                          typeShapes:VariableListExpression
                                          typeShapes:VariableRangeExpression
                                          typeShapes:VariableSymbolExpression);
                                   sh:targetClass sdtl:VariableReferenceBase.
targetShapes:VariableSymbolExpression a sh:NodeShape;
                                      sh:description """A reference to a variable.\r
""";
                                      sh:name "VariableSymbolExpression";
                                      sh:or (typeShapes:VariableSymbolExpression);
                                      sh:targetClass sdtl:VariableSymbolExpression.
targetShapes:Weight a sh:NodeShape;
                    sh:description """Weight describes the type of weight to apply and variables holding weights.   \r
""";
                    sh:name "Weight";
                    sh:or (typeShapes:Weight);
                    sh:targetClass sdtl:Weight.
typeShapes:Aggregate a sh:NodeShape;
                     sh:closed sh:ByTypes;
                     sh:description """An aggregation summarizes data using aggregation functions applied to data that may be grouped\r
by one or more variables. The resulting summary data is added to each row of the\r
existing dataset.  See the aggregation functions in the Function Library.\r
""";
                     sh:name "Aggregate";
                     sh:node signatureShapes:Aggregate,
                             declarationShapes:Aggregate;
                     sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:AllNumericVariablesExpression a sh:NodeShape;
                                         sh:closed sh:ByTypes;
                                         sh:description """An expression that represents all numeric variables in the dataset, similar to `_all` in SPSS or Stata.\r
""";
                                         sh:name "AllNumericVariablesExpression";
                                         sh:node signatureShapes:AllNumericVariablesExpression,
                                                 declarationShapes:AllNumericVariablesExpression;
                                         sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:AllTextVariablesExpression a sh:NodeShape;
                                      sh:closed sh:ByTypes;
                                      sh:description """An expression that represents all text variables in the dataset, similar to `_all` in SPSS or Stata.\r
""";
                                      sh:name "AllTextVariablesExpression";
                                      sh:node signatureShapes:AllTextVariablesExpression,
                                              declarationShapes:AllTextVariablesExpression;
                                      sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:AllVariablesExpression a sh:NodeShape;
                                  sh:closed sh:ByTypes;
                                  sh:description """An expression that represents all variables in the dataset, similar to `_all` in SPSS or Stata.\r
""";
                                  sh:name "AllVariablesExpression";
                                  sh:node signatureShapes:AllVariablesExpression,
                                          declarationShapes:AllVariablesExpression;
                                  sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:Analysis a sh:NodeShape;
                    sh:closed sh:ByTypes;
                    sh:description """Describes an analysis command. An analysis command does not result in any data transformation.\r
""";
                    sh:name "Analysis";
                    sh:node signatureShapes:Analysis,
                            declarationShapes:Analysis;
                    sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:AppendDatasets a sh:NodeShape;
                          sh:closed sh:ByTypes;
                          sh:description """Combines datasets by concatenation for datasets with the same or overlapping variables.  \r
""";
                          sh:name "AppendDatasets";
                          sh:node signatureShapes:AppendDatasets,
                                  declarationShapes:AppendDatasets;
                          sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:AppendFileDescription a sh:NodeShape;
                                 sh:closed sh:ByTypes;
                                 sh:description """Describes files used in an AppendDatasets command.\r
""";
                                 sh:name "AppendFileDescription";
                                 sh:node signatureShapes:AppendFileDescription,
                                         declarationShapes:AppendFileDescription;
                                 sh:sparql constraintShapes:Query0E03746733C892CDD5C209D11A03EC13691B2A362BB7E76F127F62DD22DBDE24.
typeShapes:BooleanConstantExpression a sh:NodeShape;
                                     sh:closed sh:ByTypes;
                                     sh:description """BooleanConstantExpression takes values of TRUE and FALSE.\r
""";
                                     sh:name "BooleanConstantExpression";
                                     sh:node signatureShapes:BooleanConstantExpression,
                                             declarationShapes:BooleanConstantExpression;
                                     sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:Collapse a sh:NodeShape;
                    sh:closed sh:ByTypes;
                    sh:description """A collapse command summarizes data using aggregation functions applied to data\r
that may be grouped by one or more variables. The resulting summary data is\r
represented in a new dataset.  See the collapse functions in the Function Library.   \r
   \r
The details of implementation of caseWise and columnWise exclusion vary in each statistical package.  The source language is indicated in this property for reference.   """;
                    sh:name "Collapse";
                    sh:node signatureShapes:Collapse,
                            declarationShapes:Collapse;
                    sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:Comment a sh:NodeShape;
                   sh:closed sh:ByTypes;
                   sh:description """Describes a source code comment.  Comments should not include special characters.  \r
""";
                   sh:name "Comment";
                   sh:node signatureShapes:Comment,
                           declarationShapes:Comment;
                   sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:CompositeVariableNameExpression a sh:NodeShape;
                                           sh:closed sh:ByTypes;
                                           sh:description """A composite variable name is used to describe a variable name that is computed.\r
""";
                                           sh:name "CompositeVariableNameExpression";
                                           sh:node signatureShapes:CompositeVariableNameExpression,
                                                   declarationShapes:CompositeVariableNameExpression;
                                           sh:sparql constraintShapes:Query1A52A131FC6410939DA530A10F7AF34E8D93B79BB8063F6CC6822AAFF0C8F504,
                                                     constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:Compute a sh:NodeShape;
                   sh:closed sh:ByTypes;
                   sh:description "Assigns the value of an expression to a variable.  ";
                   sh:name "Compute";
                   sh:node signatureShapes:Compute,
                           declarationShapes:Compute;
                   sh:sparql constraintShapes:Query8F913CDA25B8AC87BE7E6040246E15D2255BC4B1B24D99713C4A47253F3C2532.
typeShapes:DataframeDescription a sh:NodeShape;
                                sh:closed sh:ByTypes;
                                sh:description """Provides a name for the dataframe and an ordered list of variables (optional).   \r
""";
                                sh:name "DataframeDescription";
                                sh:node signatureShapes:DataframeDescription,
                                        declarationShapes:DataframeDescription;
                                sh:sparql constraintShapes:Query797B00E709B65D52D30F8434F28B4C74DD210BFEA3BB081319FAD469FD40A957.
typeShapes:DateTimeConstant a sh:NodeShape;
                            sh:closed sh:ByTypes;
                            sh:description """A date-time constant expressed in ISO 8601 format.\r
""";
                            sh:name "DateTimeConstant";
                            sh:node signatureShapes:DateTimeConstant,
                                    declarationShapes:DateTimeConstant;
                            sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:DoIf a sh:NodeShape;
                sh:closed sh:ByTypes;
                sh:description """A set of commands that are performed when a logical expression is true.  May also include ElseCommands to be performed if the logical expression is false.  The commands in DoIf are performed once, and it expects a logical condition that applies to the entire dataframe.  Use IfRows for commands that are performed on each row depending upon values on those rows. \r
""";
                sh:name "DoIf";
                sh:node signatureShapes:DoIf,
                        declarationShapes:DoIf;
                sh:sparql constraintShapes:Query76D8D9FBF048043A8C562AA5AC56A27D489487AC968EA77A7F3A4BE7997D35B3,
                          constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:DropCases a sh:NodeShape;
                     sh:closed sh:ByTypes;
                     sh:description """Rows that match the selection condition are deleted from the dataset.  \r
""";
                     sh:name "DropCases";
                     sh:node signatureShapes:DropCases,
                             declarationShapes:DropCases;
                     sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:DropVariables a sh:NodeShape;
                         sh:closed sh:ByTypes;
                         sh:description """Deletes variables from the data.\r
""";
                         sh:name "DropVariables";
                         sh:node signatureShapes:DropVariables,
                                 declarationShapes:DropVariables;
                         sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:Execute a sh:NodeShape;
                   sh:closed sh:ByTypes;
                   sh:description """This command causes the system to execute preceding commands before continuing to process the command script.\r
""";
                   sh:name "Execute";
                   sh:node signatureShapes:Execute,
                           declarationShapes:Execute;
                   sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:FunctionArgument a sh:NodeShape;
                            sh:closed sh:ByTypes;
                            sh:description """Describes the arguments in a function as specified in the SDTL Function Library.   \r
Notes:\r
1. The argumentName property must always be present.   \r
2. The argumentValue property is required, and it must be a single object.  When the argumentValue is a list of items in the source language, the ValueListExpression or VariableListExpression should be used. """;
                            sh:name "FunctionArgument";
                            sh:node signatureShapes:FunctionArgument,
                                    declarationShapes:FunctionArgument;
                            sh:sparql constraintShapes:Query1A52A131FC6410939DA530A10F7AF34E8D93B79BB8063F6CC6822AAFF0C8F504,
                                      constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:FunctionCallExpression a sh:NodeShape;
                                  sh:closed sh:ByTypes;
                                  sh:description "An expression evaluated by reference to the Function Library.";
                                  sh:name "FunctionCallExpression";
                                  sh:node signatureShapes:FunctionCallExpression,
                                          declarationShapes:FunctionCallExpression;
                                  sh:sparql constraintShapes:Query1A52A131FC6410939DA530A10F7AF34E8D93B79BB8063F6CC6822AAFF0C8F504,
                                            constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:GroupedExpression a sh:NodeShape;
                             sh:closed sh:ByTypes;
                             sh:description """A group of expressions to be evaluated before expressions outside of the group.  Used to control the order of operations in a formula.\r
""";
                             sh:name "GroupedExpression";
                             sh:node signatureShapes:GroupedExpression,
                                     declarationShapes:GroupedExpression;
                             sh:sparql constraintShapes:Query1A52A131FC6410939DA530A10F7AF34E8D93B79BB8063F6CC6822AAFF0C8F504,
                                       constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:IfRows a sh:NodeShape;
                  sh:closed sh:ByTypes;
                  sh:description """A set of commands that are performed on each row in the dataframe when a logical expression is true for that row.  May also include ElseCommands to be performed if the logical expression is false.  Use DoIf for a logical condition that applies to the entire dataframe and commands that are performed once.  \r
""";
                  sh:name "IfRows";
                  sh:node signatureShapes:IfRows,
                          declarationShapes:IfRows;
                  sh:sparql constraintShapes:Query76D8D9FBF048043A8C562AA5AC56A27D489487AC968EA77A7F3A4BE7997D35B3,
                            constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:Invalid a sh:NodeShape;
                   sh:closed sh:ByTypes;
                   sh:description """Describes an invalid command. A command is invalid if it uses incorrect syntax, or is otherwise not allowed by the executing system.\r
""";
                   sh:name "Invalid";
                   sh:node signatureShapes:Invalid,
                           declarationShapes:Invalid;
                   sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:IteratorDescription a sh:NodeShape;
                               sh:closed sh:ByTypes;
                               sh:description """Describes an iteration process consisting of an IteratorSymbolExpression and a list of values it takes.  \r
""";
                               sh:name "IteratorDescription";
                               sh:node signatureShapes:IteratorDescription,
                                       declarationShapes:IteratorDescription;
                               sh:sparql constraintShapes:Query498DE822A4536EBE0CF24566F9A6D68FA1594625ECE4C9F5CBA1798E27EE750D.
typeShapes:IteratorSymbolExpression a sh:NodeShape;
                                    sh:closed sh:ByTypes;
                                    sh:description """The name of an iterator symbol used as an index in describing the actions of \r
a loop.\r
""";
                                    sh:name "IteratorSymbolExpression";
                                    sh:node signatureShapes:IteratorSymbolExpression,
                                            declarationShapes:IteratorSymbolExpression;
                                    sh:sparql constraintShapes:Query1F6B627E37217E80830132CFD90DE0E402349055EB231821D75917FEC66B2624.
typeShapes:KeepCases a sh:NodeShape;
                     sh:closed sh:ByTypes;
                     sh:description """Rows that match the selection condition are retained in the dataset.  Other rows are deleted.\r
""";
                     sh:name "KeepCases";
                     sh:node signatureShapes:KeepCases,
                             declarationShapes:KeepCases;
                     sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:KeepVariables a sh:NodeShape;
                         sh:closed sh:ByTypes;
                         sh:description """Variables to be retained in the dataset. Variables not on the list are deleted.\r
""";
                         sh:name "KeepVariables";
                         sh:node signatureShapes:KeepVariables,
                                 declarationShapes:KeepVariables;
                         sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:Load a sh:NodeShape;
                sh:closed sh:ByTypes;
                sh:description """Load data from a file.\r
""";
                sh:name "Load";
                sh:node signatureShapes:Load,
                        declarationShapes:Load;
                sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:LoopOverList a sh:NodeShape;
                        sh:closed sh:ByTypes;
                        sh:description """A loop creates multiple versions of a set of commands by iterating over a list of variables, numbers, or strings.  \r
""";
                        sh:name "LoopOverList";
                        sh:node signatureShapes:LoopOverList,
                                declarationShapes:LoopOverList;
                        sh:sparql constraintShapes:Query76D8D9FBF048043A8C562AA5AC56A27D489487AC968EA77A7F3A4BE7997D35B3,
                                  constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:LoopWhile a sh:NodeShape;
                     sh:closed sh:ByTypes;
                     sh:description "LoopWhile iterates over a set of commands under the control of one or more logical expressions.  Since the logical conditions typically depend upon values in the data, commands executed in a LoopWhile cannot be anticipated and expanded in SDTL.";
                     sh:name "LoopWhile";
                     sh:node signatureShapes:LoopWhile,
                             declarationShapes:LoopWhile;
                     sh:sparql constraintShapes:Query76D8D9FBF048043A8C562AA5AC56A27D489487AC968EA77A7F3A4BE7997D35B3,
                               constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:MergeDatasets a sh:NodeShape;
                         sh:closed sh:ByTypes;
                         sh:description """Merges datasets holding overlapping cases but different variables.  The merge may be controlled by keys or grouping variables.\r
""";
                         sh:name "MergeDatasets";
                         sh:node signatureShapes:MergeDatasets,
                                 declarationShapes:MergeDatasets;
                         sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:MergeFileDescription a sh:NodeShape;
                                sh:closed sh:ByTypes;
                                sh:description """Describes files used in a MergeData command.\r
""";
                                sh:name "MergeFileDescription";
                                sh:node signatureShapes:MergeFileDescription,
                                        declarationShapes:MergeFileDescription;
                                sh:sparql constraintShapes:QueryB28E3CD8A3E36B3DDEAB141425510BC4AE525E288F48F1A4E6A1C83568A1951C.
typeShapes:Message a sh:NodeShape;
                   sh:closed sh:ByTypes;
                   sh:description """Inserts message text in the SDTL file.\r
""";
                   sh:name "Message";
                   sh:node signatureShapes:Message,
                           declarationShapes:Message;
                   sh:sparql constraintShapes:Query3DAA6A1548E0EE22EC76D7E21D4840D8E462A40683A3BBBE0CC897E3B1E9EB03.
typeShapes:MissingValueConstantExpression a sh:NodeShape;
                                          sh:closed sh:ByTypes;
                                          sh:description """A missing value constant.  Some languages allow multiple missing value constants.\r
""";
                                          sh:name "MissingValueConstantExpression";
                                          sh:node signatureShapes:MissingValueConstantExpression,
                                                  declarationShapes:MissingValueConstantExpression;
                                          sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:NewDataframe a sh:NodeShape;
                        sh:closed sh:ByTypes;
                        sh:description """The NewDataframe command copies or creates a new dataframe.  It can be used in two ways.    \r
    \r
An existing dataframe can be copied to a new dataframe by using the consumesDataframe and producesDataframe properties of NewDataframe.  The new dataframe will be a \"deep\" copy in the sense used in R and Python.      \r
   \r
NewDataframe can also be used to create an empty dataframe of a specific size.  In Stata, the \"set obs #\" command will create a dataframe with a user-defined number of rows.  All values are assumed to be missing.  This may be used in simulations to preset a number of simulated observations, which are then filled with randomly generated data.\r
\r
\r
\r
""";
                        sh:name "NewDataframe";
                        sh:node signatureShapes:NewDataframe,
                                declarationShapes:NewDataframe;
                        sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:NoTransformOp a sh:NodeShape;
                         sh:closed sh:ByTypes;
                         sh:description """NoTransformOp is used for a command in the original script that provides important information but does not have a function in SDTL.  For example, “library()” in R loads a package of R functions.  Since the Parser detects the library, the SDTL will reflect the library that is used, and commands derived from the library will be translated in the SDTL script.  However, it is useful to know which library is active for auditing the R script, even if it does not perform any data transformations.  \r
""";
                         sh:name "NoTransformOp";
                         sh:node signatureShapes:NoTransformOp,
                                 declarationShapes:NoTransformOp;
                         sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:NumberRangeExpression a sh:NodeShape;
                                 sh:closed sh:ByTypes;
                                 sh:description """Defines a range of numeric values.\r
""";
                                 sh:name "NumberRangeExpression";
                                 sh:node signatureShapes:NumberRangeExpression,
                                         declarationShapes:NumberRangeExpression;
                                 sh:sparql constraintShapes:Query1A52A131FC6410939DA530A10F7AF34E8D93B79BB8063F6CC6822AAFF0C8F504,
                                           constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:NumericConstantExpression a sh:NodeShape;
                                     sh:closed sh:ByTypes;
                                     sh:description """A numeric constant.\r
""";
                                     sh:name "NumericConstantExpression";
                                     sh:node signatureShapes:NumericConstantExpression,
                                             declarationShapes:NumericConstantExpression;
                                     sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:NumericMaximumValueExpression a sh:NodeShape;
                                         sh:closed sh:ByTypes;
                                         sh:description """Represents the largest numeric value supported by a system.\r
""";
                                         sh:name "NumericMaximumValueExpression";
                                         sh:node signatureShapes:NumericMaximumValueExpression,
                                                 declarationShapes:NumericMaximumValueExpression;
                                         sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:NumericMinimumValueExpression a sh:NodeShape;
                                         sh:closed sh:ByTypes;
                                         sh:description """Represents the smallest numeric value supported by a system.\r
""";
                                         sh:name "NumericMinimumValueExpression";
                                         sh:node signatureShapes:NumericMinimumValueExpression,
                                                 declarationShapes:NumericMinimumValueExpression;
                                         sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:Program a sh:NodeShape;
                   sh:closed sh:ByTypes;
                   sh:description """The program represents a list of commands from a statistical package.\r
""";
                   sh:name "Program";
                   sh:node signatureShapes:Program,
                           declarationShapes:Program.
typeShapes:Recode a sh:NodeShape;
                  sh:closed sh:ByTypes;
                  sh:description """Describes recoding values in one or more variables according to a specified mapping.\r
\r
The Recode command can either describe a recoding of one or more individual variables,\r
or a range of variables. When one or more individual variables are described, a new\r
variable name can be specified. In this case, the original variable is left alone, and\r
a new variable is created with the recoded values.\r
""";
                  sh:name "Recode";
                  sh:node signatureShapes:Recode,
                          declarationShapes:Recode;
                  sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:RecodeRule a sh:NodeShape;
                      sh:closed sh:ByTypes;
                      sh:description """Describes how values will be recoded.\r
""";
                      sh:name "RecodeRule";
                      sh:node signatureShapes:RecodeRule,
                              declarationShapes:RecodeRule;
                      sh:sparql constraintShapes:QueryCFE92FB8358A224E76BAC40172CCDD3D677927DAB204F890B07533B31B738165.
typeShapes:RecodeVariable a sh:NodeShape;
                          sh:closed sh:ByTypes;
                          sh:description """Describes a variable that will have its values recoded.\r
""";
                          sh:name "RecodeVariable";
                          sh:node signatureShapes:RecodeVariable,
                                  declarationShapes:RecodeVariable;
                          sh:sparql constraintShapes:Query4542A6316B4E1BFC60610FDA1CA3F264107E9F8D45FBEB3923091B39DDD9E0E2.
typeShapes:Rename a sh:NodeShape;
                  sh:closed sh:ByTypes;
                  sh:description """Rename changes the names of variables.\r
""";
                  sh:name "Rename";
                  sh:node signatureShapes:Rename,
                          declarationShapes:Rename;
                  sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:RenamePair a sh:NodeShape;
                      sh:closed sh:ByTypes;
                      sh:description """Variable names before and after a variable is renamed.\r
""";
                      sh:name "RenamePair";
                      sh:node signatureShapes:RenamePair,
                              declarationShapes:RenamePair;
                      sh:sparql constraintShapes:QueryAB3C73D4A048E35BDF55D82CE50B268B714C317E77663A18C3EC2918328F68C7.
typeShapes:ReshapeItemDescription a sh:NodeShape;
                                  sh:closed sh:ByTypes;
                                  sh:description """Descripbes a new variable created by reshaping a dataset from wide to long or vice versa.\r
""";
                                  sh:name "ReshapeItemDescription";
                                  sh:node signatureShapes:ReshapeItemDescription,
                                          declarationShapes:ReshapeItemDescription;
                                  sh:sparql constraintShapes:QueryD289095DEFA2516796159A6E0CF07AF77CF94CD50D2B910C47869322E6E65648.
typeShapes:ReshapeLong a sh:NodeShape;
                       sh:closed sh:ByTypes;
                       sh:description """Creates a new dataset with multiple rows per case by assigning a set of variables in the original dataset to a single variable in the new dataset.\r
""";
                       sh:name "ReshapeLong";
                       sh:node signatureShapes:ReshapeLong,
                               declarationShapes:ReshapeLong;
                       sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:ReshapeWide a sh:NodeShape;
                       sh:closed sh:ByTypes;
                       sh:description """ReshapeWide is not supported in the current version of SDTL, because it depends on values in the data.  However, it may be useful when values of the index variable are available in the metadata file or the data can be processed.\r
""";
                       sh:name "ReshapeWide";
                       sh:node signatureShapes:ReshapeWide,
                               declarationShapes:ReshapeWide;
                       sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:Save a sh:NodeShape;
                sh:closed sh:ByTypes;
                sh:description """Writes a dataset to a file.\r
""";
                sh:name "Save";
                sh:node signatureShapes:Save,
                        declarationShapes:Save;
                sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:SetDataType a sh:NodeShape;
                       sh:closed sh:ByTypes;
                       sh:description """Sets the data type of a variable.   \r
Examples:   \r
\r
```\r
\"dataType\": \"Text\",\r
\"subTypeSchema\": \"Stata 15.1\",\r
\"subType\": \"str1\"\r
```\r
\r
```\r
\"dataType\": \"Numeric\",\r
\"subTypeSchema\": \"https://www.ddialliance.org/Specification/DDI-CV/DataType_1.0.html\" ,\r
\"subType\": \"Int\"\r
```\r
\r
\r
""";
                       sh:name "SetDataType";
                       sh:node signatureShapes:SetDataType,
                               declarationShapes:SetDataType;
                       sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:SetDatasetProperty a sh:NodeShape;
                              sh:closed sh:ByTypes;
                              sh:description """Changes a property of a dataframe.\r
""";
                              sh:name "SetDatasetProperty";
                              sh:node signatureShapes:SetDatasetProperty,
                                      declarationShapes:SetDatasetProperty;
                              sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:SetDisplayFormat a sh:NodeShape;
                            sh:closed sh:ByTypes;
                            sh:description """Sets the display or output format for a variable.    \r
Examples:   \r
```\r
\"displayFormatSchema\": \"SAS\"\r
\"displayFormatName\": \"DOLLAR6.2\"\r
```\r
\r
```\r
\"displayFormatSchema\": \"Stata 15.1\"\r
\"displayFormatName\": \"%tcDDmonCCYY_HH:MM:SS\"\r
```\r
""";
                            sh:name "SetDisplayFormat";
                            sh:node signatureShapes:SetDisplayFormat,
                                    declarationShapes:SetDisplayFormat;
                            sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:SetMissingValues a sh:NodeShape;
                            sh:closed sh:ByTypes;
                            sh:description """Defines values that are treated as missing values for a list of variables.\r
""";
                            sh:name "SetMissingValues";
                            sh:node signatureShapes:SetMissingValues,
                                    declarationShapes:SetMissingValues;
                            sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:SetValueLabels a sh:NodeShape;
                          sh:closed sh:ByTypes;
                          sh:description """Describes the assignment of labels to categorical values.\r
""";
                          sh:name "SetValueLabels";
                          sh:node signatureShapes:SetValueLabels,
                                  declarationShapes:SetValueLabels;
                          sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:SetVariableLabel a sh:NodeShape;
                            sh:closed sh:ByTypes;
                            sh:description """Describes the assignment of a label to a variable.\r
""";
                            sh:name "SetVariableLabel";
                            sh:node signatureShapes:SetVariableLabel,
                                    declarationShapes:SetVariableLabel;
                            sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:SortCases a sh:NodeShape;
                     sh:closed sh:ByTypes;
                     sh:description """Sorts rows in the dataframe in a specified order.\r
""";
                     sh:name "SortCases";
                     sh:node signatureShapes:SortCases,
                             declarationShapes:SortCases;
                     sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:SortCriterion a sh:NodeShape;
                         sh:closed sh:ByTypes;
                         sh:description """Describes a criterion by which cases are sorted, including the variable name and whether to sort ascending or descending.\r
""";
                         sh:name "SortCriterion";
                         sh:node signatureShapes:SortCriterion,
                                 declarationShapes:SortCriterion;
                         sh:sparql constraintShapes:Query43529A7EAE9ADF1CB43675E70BF88F9CB548B78D5A1E1E5B4D207FAF6EFB3F21.
typeShapes:SourceInformation a sh:NodeShape;
                             sh:closed sh:ByTypes;
                             sh:description """SourceInformation defines information about the original source of a data transform.\r
""";
                             sh:name "SourceInformation";
                             sh:node signatureShapes:SourceInformation,
                                     declarationShapes:SourceInformation;
                             sh:sparql constraintShapes:Query484BBDA9CBD5C39ADE662882C48C5516433E6C016622823951C0BA48F527603C.
typeShapes:StringConstantExpression a sh:NodeShape;
                                    sh:closed sh:ByTypes;
                                    sh:description """A text string.\r
""";
                                    sh:name "StringConstantExpression";
                                    sh:node signatureShapes:StringConstantExpression,
                                            declarationShapes:StringConstantExpression;
                                    sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:StringRangeExpression a sh:NodeShape;
                                 sh:closed sh:ByTypes;
                                 sh:description """Defines a range of string values, such as \"A to N\".\r
""";
                                 sh:name "StringRangeExpression";
                                 sh:node signatureShapes:StringRangeExpression,
                                         declarationShapes:StringRangeExpression;
                                 sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:TimeDurationConstant a sh:NodeShape;
                                sh:closed sh:ByTypes;
                                sh:description """A time duration constant expressed in ISO 8601 format.\r
""";
                                sh:name "TimeDurationConstant";
                                sh:node signatureShapes:TimeDurationConstant,
                                        declarationShapes:TimeDurationConstant;
                                sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:UnhandledValuesExpression a sh:NodeShape;
                                     sh:closed sh:ByTypes;
                                     sh:description """Represents any values not previously handled (for example, in a set of recode rules).\r
""";
                                     sh:name "UnhandledValuesExpression";
                                     sh:node signatureShapes:UnhandledValuesExpression,
                                             declarationShapes:UnhandledValuesExpression;
                                     sh:sparql constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:Unsupported a sh:NodeShape;
                       sh:closed sh:ByTypes;
                       sh:description """Describes an unsupported command. An unsupported command is valid syntax, but not supported by the parsing application.\r
""";
                       sh:name "Unsupported";
                       sh:node signatureShapes:Unsupported,
                               declarationShapes:Unsupported;
                       sh:sparql constraintShapes:Query24E4F8D6B8CBB35F321EF85B2A3BCEE7803A6AFFB99A94D813D98317E2B33CE2.
typeShapes:ValueLabel a sh:NodeShape;
                      sh:closed sh:ByTypes;
                      sh:description """Associates a label with a  value in a categorical variable.\r
""";
                      sh:name "ValueLabel";
                      sh:node signatureShapes:ValueLabel,
                              declarationShapes:ValueLabel;
                      sh:sparql constraintShapes:QueryE58489AA1ED074C6ADB44CB8150736F4649781CC563825F8F3F0B80D786810C8.
typeShapes:ValueListExpression a sh:NodeShape;
                               sh:closed sh:ByTypes;
                               sh:description """Wraps a list of other expressions.\r
""";
                               sh:name "ValueListExpression";
                               sh:node signatureShapes:ValueListExpression,
                                       declarationShapes:ValueListExpression;
                               sh:sparql constraintShapes:Query1A52A131FC6410939DA530A10F7AF34E8D93B79BB8063F6CC6822AAFF0C8F504,
                                         constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:VariableListExpression a sh:NodeShape;
                                  sh:closed sh:ByTypes;
                                  sh:description """A list of variables which may include variable names (VariableSymbolExpression, CompositeVariableNameExpression), variable ranges (VariableRangeExpression), and variable lists.\r
""";
                                  sh:name "VariableListExpression";
                                  sh:node signatureShapes:VariableListExpression,
                                          declarationShapes:VariableListExpression;
                                  sh:sparql constraintShapes:Query1A52A131FC6410939DA530A10F7AF34E8D93B79BB8063F6CC6822AAFF0C8F504,
                                            constraintShapes:Query52C88BB7C50940FADA73AA7012550089DEDF7BB9C04A0F1988AF31126430D928.
typeShapes:VariableRangeExpression a sh:NodeShape;
                                   sh:closed sh:ByTypes;
                                   sh:description "A list of variables in adjacent columns defined by the variable names of first and last columns.";
                                   sh:name "VariableRangeExpression";
                                   sh:node signatureShapes:VariableRangeExpression,
                                           declarationShapes:VariableRangeExpression;
                                   sh:sparql constraintShapes:Query7D422ED6D971A3195212E33F586ADB26AE8B798C7F0832F0E5D18EF54E1E795F.
typeShapes:VariableSymbolExpression a sh:NodeShape;
                                    sh:closed sh:ByTypes;
                                    sh:description """A reference to a variable.\r
""";
                                    sh:name "VariableSymbolExpression";
                                    sh:node signatureShapes:VariableSymbolExpression,
                                            declarationShapes:VariableSymbolExpression;
                                    sh:sparql constraintShapes:QueryE0D38A36D09226C2625C3B3D325E48096D8BF89B9B96A7CFD8FA184D7F06E2B4.
typeShapes:Weight a sh:NodeShape;
                  sh:closed sh:ByTypes;
                  sh:description """Weight describes the type of weight to apply and variables holding weights.   \r
""";
                  sh:name "Weight";
                  sh:node signatureShapes:Weight,
                          declarationShapes:Weight;
                  sh:sparql constraintShapes:QueryAED401EF4E3470BB74DE4F51814C295D0C653ED646B2A80E4D3E41CF1DB94943.
valueShapes:Aggregate.AggregateVariables a sh:NodeShape;
                                         sh:description "The expressions that compute the aggregations. An aggregation function should be used.";
                                         sh:name "AggregateVariables";
                                         sh:or (signatureShapes:Compute).
valueShapes:Aggregate.GroupByVariables a sh:NodeShape;
                                       sh:description "Variables used as keys to identify groups.";
                                       sh:name "GroupByVariables";
                                       sh:or (signatureShapes:AllNumericVariablesExpression
                                              signatureShapes:AllTextVariablesExpression
                                              signatureShapes:AllVariablesExpression
                                              signatureShapes:CompositeVariableNameExpression
                                              signatureShapes:VariableListExpression
                                              signatureShapes:VariableRangeExpression
                                              signatureShapes:VariableSymbolExpression).
valueShapes:Aggregate.Weighting a sh:NodeShape;
                                sh:description "Description of the weights to be used";
                                sh:name "Weighting";
                                sh:or (signatureShapes:Weight).
valueShapes:AppendDatasets.AppendFiles a sh:NodeShape;
                                       sh:description "Description of files to be appended";
                                       sh:name "AppendFiles";
                                       sh:or (signatureShapes:AppendFileDescription).
valueShapes:AppendDatasets.AppendFlagVariable a sh:NodeShape;
                                              sh:description "Creates a new variable identifying the source dataframe for a row with the variable name given in the value of the property";
                                              sh:name "AppendFlagVariable";
                                              sh:node primitiveShapes:string.
valueShapes:AppendFileDescription.DropCasesCondition a sh:NodeShape;
                                                     sh:description "Logical condition for dropping rows.";
                                                     sh:name "DropCasesCondition";
                                                     sh:or (signatureShapes:AllNumericVariablesExpression
                                                            signatureShapes:AllTextVariablesExpression
                                                            signatureShapes:AllVariablesExpression
                                                            signatureShapes:BooleanConstantExpression
                                                            signatureShapes:CompositeVariableNameExpression
                                                            signatureShapes:DateTimeConstant
                                                            signatureShapes:FunctionCallExpression
                                                            signatureShapes:GroupedExpression
                                                            signatureShapes:IteratorSymbolExpression
                                                            signatureShapes:MissingValueConstantExpression
                                                            signatureShapes:NumberRangeExpression
                                                            signatureShapes:NumericConstantExpression
                                                            signatureShapes:NumericMaximumValueExpression
                                                            signatureShapes:NumericMinimumValueExpression
                                                            signatureShapes:StringConstantExpression
                                                            signatureShapes:StringRangeExpression
                                                            signatureShapes:TimeDurationConstant
                                                            signatureShapes:UnhandledValuesExpression
                                                            signatureShapes:ValueListExpression
                                                            signatureShapes:VariableListExpression
                                                            signatureShapes:VariableRangeExpression
                                                            signatureShapes:VariableSymbolExpression).
valueShapes:AppendFileDescription.DropVariables a sh:NodeShape;
                                                sh:description "List of variables to drop";
                                                sh:name "DropVariables";
                                                sh:or (signatureShapes:AllNumericVariablesExpression
                                                       signatureShapes:AllTextVariablesExpression
                                                       signatureShapes:AllVariablesExpression
                                                       signatureShapes:CompositeVariableNameExpression
                                                       signatureShapes:VariableListExpression
                                                       signatureShapes:VariableRangeExpression
                                                       signatureShapes:VariableSymbolExpression).
valueShapes:AppendFileDescription.FileFormat a sh:NodeShape;
                                             sh:description "The name of a file format";
                                             sh:name "FileFormat";
                                             sh:node primitiveShapes:string;
                                             sh:sparql constraintShapes:Query5CA407172E25E0827936ABA0BB672704BAF8A74D15C472C3D0AC90C9738D10E3.
valueShapes:AppendFileDescription.FileName a sh:NodeShape;
                                           sh:description "Name of the file being appended.  May be the name of an active dataframe.";
                                           sh:name "FileName";
                                           sh:node primitiveShapes:string.
valueShapes:AppendFileDescription.IsCompressed a sh:NodeShape;
                                               sh:description "Indicates whether the file format is compressed.";
                                               sh:name "IsCompressed";
                                               sh:node primitiveShapes:boolean.
valueShapes:AppendFileDescription.KeepCasesCondition a sh:NodeShape;
                                                     sh:description "Logical condition for keeping rows.";
                                                     sh:name "KeepCasesCondition";
                                                     sh:or (signatureShapes:AllNumericVariablesExpression
                                                            signatureShapes:AllTextVariablesExpression
                                                            signatureShapes:AllVariablesExpression
                                                            signatureShapes:BooleanConstantExpression
                                                            signatureShapes:CompositeVariableNameExpression
                                                            signatureShapes:DateTimeConstant
                                                            signatureShapes:FunctionCallExpression
                                                            signatureShapes:GroupedExpression
                                                            signatureShapes:IteratorSymbolExpression
                                                            signatureShapes:MissingValueConstantExpression
                                                            signatureShapes:NumberRangeExpression
                                                            signatureShapes:NumericConstantExpression
                                                            signatureShapes:NumericMaximumValueExpression
                                                            signatureShapes:NumericMinimumValueExpression
                                                            signatureShapes:StringConstantExpression
                                                            signatureShapes:StringRangeExpression
                                                            signatureShapes:TimeDurationConstant
                                                            signatureShapes:UnhandledValuesExpression
                                                            signatureShapes:ValueListExpression
                                                            signatureShapes:VariableListExpression
                                                            signatureShapes:VariableRangeExpression
                                                            signatureShapes:VariableSymbolExpression).
valueShapes:AppendFileDescription.KeepVariables a sh:NodeShape;
                                                sh:description "List of variables to keep";
                                                sh:name "KeepVariables";
                                                sh:or (signatureShapes:AllNumericVariablesExpression
                                                       signatureShapes:AllTextVariablesExpression
                                                       signatureShapes:AllVariablesExpression
                                                       signatureShapes:CompositeVariableNameExpression
                                                       signatureShapes:VariableListExpression
                                                       signatureShapes:VariableRangeExpression
                                                       signatureShapes:VariableSymbolExpression).
valueShapes:AppendFileDescription.RenameVariables a sh:NodeShape;
                                                  sh:description "Variables to be renamed";
                                                  sh:name "RenameVariables";
                                                  sh:or (signatureShapes:RenamePair).
valueShapes:AppendFileDescription.Software a sh:NodeShape;
                                           sh:description "The software package that works with the file.";
                                           sh:name "Software";
                                           sh:node primitiveShapes:string.
valueShapes:BooleanConstantExpression.BooleanValue a sh:NodeShape;
                                                   sh:description "Values of TRUE and FALSE are used in logical expressions.";
                                                   sh:name "BooleanValue";
                                                   sh:node primitiveShapes:boolean.
valueShapes:Collapse.AggregateVariables a sh:NodeShape;
                                        sh:description "The expressions that compute the aggregations. An aggregation function should be used.";
                                        sh:name "AggregateVariables";
                                        sh:or (signatureShapes:Compute).
valueShapes:Collapse.CaseWise a sh:NodeShape;
                              sh:description "Observations are not included if any variable  is missing";
                              sh:name "CaseWise";
                              sh:node primitiveShapes:string;
                              sh:sparql constraintShapes:Query69591A155E89BC767DE95ECDFD1AA9315F705B6BB5FBB2BA163A4185DE825FBE.
valueShapes:Collapse.ColumnWise a sh:NodeShape;
                                sh:description "Variables are not included if any value in a column is missing";
                                sh:name "ColumnWise";
                                sh:node primitiveShapes:string;
                                sh:sparql constraintShapes:Query9E09428BF7C17790197B504657AB1082AF3684D382B851F6906DAE6B2AE32A78.
valueShapes:Collapse.GroupByVariables a sh:NodeShape;
                                      sh:description "Variables used as keys to identify groups.";
                                      sh:name "GroupByVariables";
                                      sh:or (signatureShapes:AllNumericVariablesExpression
                                             signatureShapes:AllTextVariablesExpression
                                             signatureShapes:AllVariablesExpression
                                             signatureShapes:CompositeVariableNameExpression
                                             signatureShapes:VariableListExpression
                                             signatureShapes:VariableRangeExpression
                                             signatureShapes:VariableSymbolExpression).
valueShapes:Collapse.OutputDatasetName a sh:NodeShape;
                                       sh:description "The name of a new, aggregated dataset to be created.";
                                       sh:name "OutputDatasetName";
                                       sh:node primitiveShapes:string.
valueShapes:Collapse.Weighting a sh:NodeShape;
                               sh:description "Description of the weights to be used";
                               sh:name "Weighting";
                               sh:or (signatureShapes:Weight).
valueShapes:CommandBase.Command a sh:NodeShape;
                                sh:description "The type of command";
                                sh:name "Command";
                                sh:node primitiveShapes:string.
valueShapes:CommandBase.MessageText a sh:NodeShape;
                                    sh:description "Adds a message that can be displayed with the command.";
                                    sh:name "MessageText";
                                    sh:node primitiveShapes:string.
valueShapes:CommandBase.SourceInformation a sh:NodeShape;
                                          sh:description "Information about the source of the command.";
                                          sh:name "SourceInformation";
                                          sh:or (signatureShapes:SourceInformation).
valueShapes:Comment.CommentText a sh:NodeShape;
                                sh:description "The text of the source code comment.";
                                sh:name "CommentText";
                                sh:node primitiveShapes:string.
valueShapes:CompositeVariableNameExpression.ComputedVariableName a sh:NodeShape;
                                                                 sh:description "An expression that evaluates to the constructed variable name.";
                                                                 sh:name "ComputedVariableName";
                                                                 sh:or (signatureShapes:AllNumericVariablesExpression
                                                                        signatureShapes:AllTextVariablesExpression
                                                                        signatureShapes:AllVariablesExpression
                                                                        signatureShapes:BooleanConstantExpression
                                                                        signatureShapes:CompositeVariableNameExpression
                                                                        signatureShapes:DateTimeConstant
                                                                        signatureShapes:FunctionCallExpression
                                                                        signatureShapes:GroupedExpression
                                                                        signatureShapes:IteratorSymbolExpression
                                                                        signatureShapes:MissingValueConstantExpression
                                                                        signatureShapes:NumberRangeExpression
                                                                        signatureShapes:NumericConstantExpression
                                                                        signatureShapes:NumericMaximumValueExpression
                                                                        signatureShapes:NumericMinimumValueExpression
                                                                        signatureShapes:StringConstantExpression
                                                                        signatureShapes:StringRangeExpression
                                                                        signatureShapes:TimeDurationConstant
                                                                        signatureShapes:UnhandledValuesExpression
                                                                        signatureShapes:ValueListExpression
                                                                        signatureShapes:VariableListExpression
                                                                        signatureShapes:VariableRangeExpression
                                                                        signatureShapes:VariableSymbolExpression).
valueShapes:Compute.Expression a sh:NodeShape;
                               sh:description "The expression used to compute the value of the variable(s)";
                               sh:name "Expression";
                               sh:or (signatureShapes:AllNumericVariablesExpression
                                      signatureShapes:AllTextVariablesExpression
                                      signatureShapes:AllVariablesExpression
                                      signatureShapes:BooleanConstantExpression
                                      signatureShapes:CompositeVariableNameExpression
                                      signatureShapes:DateTimeConstant
                                      signatureShapes:FunctionCallExpression
                                      signatureShapes:GroupedExpression
                                      signatureShapes:IteratorSymbolExpression
                                      signatureShapes:MissingValueConstantExpression
                                      signatureShapes:NumberRangeExpression
                                      signatureShapes:NumericConstantExpression
                                      signatureShapes:NumericMaximumValueExpression
                                      signatureShapes:NumericMinimumValueExpression
                                      signatureShapes:StringConstantExpression
                                      signatureShapes:StringRangeExpression
                                      signatureShapes:TimeDurationConstant
                                      signatureShapes:UnhandledValuesExpression
                                      signatureShapes:ValueListExpression
                                      signatureShapes:VariableListExpression
                                      signatureShapes:VariableRangeExpression
                                      signatureShapes:VariableSymbolExpression).
valueShapes:Compute.Variable a sh:NodeShape;
                             sh:description "The variable that is computed.";
                             sh:name "Variable";
                             sh:or (signatureShapes:AllNumericVariablesExpression
                                    signatureShapes:AllTextVariablesExpression
                                    signatureShapes:AllVariablesExpression
                                    signatureShapes:CompositeVariableNameExpression
                                    signatureShapes:VariableListExpression
                                    signatureShapes:VariableRangeExpression
                                    signatureShapes:VariableSymbolExpression).
valueShapes:DataframeDescription.ColumnDimensions a sh:NodeShape;
                                                  sh:description "An ordered list of variables used as colum indexes in a multi-index";
                                                  sh:name "ColumnDimensions";
                                                  sh:or (signatureShapes:AllNumericVariablesExpression
                                                         signatureShapes:AllTextVariablesExpression
                                                         signatureShapes:AllVariablesExpression
                                                         signatureShapes:CompositeVariableNameExpression
                                                         signatureShapes:VariableListExpression
                                                         signatureShapes:VariableRangeExpression
                                                         signatureShapes:VariableSymbolExpression).
valueShapes:DataframeDescription.DataframeName a sh:NodeShape;
                                               sh:description "Name of the dataframe.";
                                               sh:name "DataframeName";
                                               sh:node primitiveShapes:string.
valueShapes:DataframeDescription.RowDimensions a sh:NodeShape;
                                               sh:description "An ordered list of variables used as hierarchical dimensions in a data cube or multi-index";
                                               sh:name "RowDimensions";
                                               sh:or (signatureShapes:AllNumericVariablesExpression
                                                      signatureShapes:AllTextVariablesExpression
                                                      signatureShapes:AllVariablesExpression
                                                      signatureShapes:CompositeVariableNameExpression
                                                      signatureShapes:VariableListExpression
                                                      signatureShapes:VariableRangeExpression
                                                      signatureShapes:VariableSymbolExpression).
valueShapes:DataframeDescription.VariableInventory a sh:NodeShape;
                                                   sh:description "Variables in the dataframe in order";
                                                   sh:name "VariableInventory";
                                                   sh:node primitiveShapes:string.
valueShapes:DateTimeConstant.DateTimeValue a sh:NodeShape;
                                           sh:description "A specific instance of time in ISO 8601 format";
                                           sh:name "DateTimeValue";
                                           sh:node primitiveShapes:dateTime.
valueShapes:DoIf.Condition a sh:NodeShape;
                           sh:description "A logical expression";
                           sh:name "Condition";
                           sh:or (signatureShapes:AllNumericVariablesExpression
                                  signatureShapes:AllTextVariablesExpression
                                  signatureShapes:AllVariablesExpression
                                  signatureShapes:BooleanConstantExpression
                                  signatureShapes:CompositeVariableNameExpression
                                  signatureShapes:DateTimeConstant
                                  signatureShapes:FunctionCallExpression
                                  signatureShapes:GroupedExpression
                                  signatureShapes:IteratorSymbolExpression
                                  signatureShapes:MissingValueConstantExpression
                                  signatureShapes:NumberRangeExpression
                                  signatureShapes:NumericConstantExpression
                                  signatureShapes:NumericMaximumValueExpression
                                  signatureShapes:NumericMinimumValueExpression
                                  signatureShapes:StringConstantExpression
                                  signatureShapes:StringRangeExpression
                                  signatureShapes:TimeDurationConstant
                                  signatureShapes:UnhandledValuesExpression
                                  signatureShapes:ValueListExpression
                                  signatureShapes:VariableListExpression
                                  signatureShapes:VariableRangeExpression
                                  signatureShapes:VariableSymbolExpression).
valueShapes:DoIf.ElseCommands a sh:NodeShape;
                              sh:description "Commands to be performed if the condition is false.";
                              sh:name "ElseCommands";
                              sh:or (signatureShapes:Aggregate
                                     signatureShapes:Analysis
                                     signatureShapes:AppendDatasets
                                     signatureShapes:Collapse
                                     signatureShapes:Comment
                                     signatureShapes:Compute
                                     signatureShapes:DoIf
                                     signatureShapes:DropCases
                                     signatureShapes:DropVariables
                                     signatureShapes:Execute
                                     signatureShapes:IfRows
                                     signatureShapes:Invalid
                                     signatureShapes:KeepCases
                                     signatureShapes:KeepVariables
                                     signatureShapes:Load
                                     signatureShapes:LoopOverList
                                     signatureShapes:LoopWhile
                                     signatureShapes:MergeDatasets
                                     signatureShapes:Message
                                     signatureShapes:NewDataframe
                                     signatureShapes:NoTransformOp
                                     signatureShapes:Recode
                                     signatureShapes:Rename
                                     signatureShapes:ReshapeLong
                                     signatureShapes:ReshapeWide
                                     signatureShapes:Save
                                     signatureShapes:SetDataType
                                     signatureShapes:SetDatasetProperty
                                     signatureShapes:SetDisplayFormat
                                     signatureShapes:SetMissingValues
                                     signatureShapes:SetValueLabels
                                     signatureShapes:SetVariableLabel
                                     signatureShapes:SortCases
                                     signatureShapes:Unsupported).
valueShapes:DoIf.ThenCommands a sh:NodeShape;
                              sh:description "Commands to be performed if the condition is true.";
                              sh:name "ThenCommands";
                              sh:or (signatureShapes:Aggregate
                                     signatureShapes:Analysis
                                     signatureShapes:AppendDatasets
                                     signatureShapes:Collapse
                                     signatureShapes:Comment
                                     signatureShapes:Compute
                                     signatureShapes:DoIf
                                     signatureShapes:DropCases
                                     signatureShapes:DropVariables
                                     signatureShapes:Execute
                                     signatureShapes:IfRows
                                     signatureShapes:Invalid
                                     signatureShapes:KeepCases
                                     signatureShapes:KeepVariables
                                     signatureShapes:Load
                                     signatureShapes:LoopOverList
                                     signatureShapes:LoopWhile
                                     signatureShapes:MergeDatasets
                                     signatureShapes:Message
                                     signatureShapes:NewDataframe
                                     signatureShapes:NoTransformOp
                                     signatureShapes:Recode
                                     signatureShapes:Rename
                                     signatureShapes:ReshapeLong
                                     signatureShapes:ReshapeWide
                                     signatureShapes:Save
                                     signatureShapes:SetDataType
                                     signatureShapes:SetDatasetProperty
                                     signatureShapes:SetDisplayFormat
                                     signatureShapes:SetMissingValues
                                     signatureShapes:SetValueLabels
                                     signatureShapes:SetVariableLabel
                                     signatureShapes:SortCases
                                     signatureShapes:Unsupported).
valueShapes:DropCases.Condition a sh:NodeShape;
                                sh:description "If the logical expresion is true, the case (row) will be deleted from the working dataset.";
                                sh:name "Condition";
                                sh:or (signatureShapes:AllNumericVariablesExpression
                                       signatureShapes:AllTextVariablesExpression
                                       signatureShapes:AllVariablesExpression
                                       signatureShapes:BooleanConstantExpression
                                       signatureShapes:CompositeVariableNameExpression
                                       signatureShapes:DateTimeConstant
                                       signatureShapes:FunctionCallExpression
                                       signatureShapes:GroupedExpression
                                       signatureShapes:IteratorSymbolExpression
                                       signatureShapes:MissingValueConstantExpression
                                       signatureShapes:NumberRangeExpression
                                       signatureShapes:NumericConstantExpression
                                       signatureShapes:NumericMaximumValueExpression
                                       signatureShapes:NumericMinimumValueExpression
                                       signatureShapes:StringConstantExpression
                                       signatureShapes:StringRangeExpression
                                       signatureShapes:TimeDurationConstant
                                       signatureShapes:UnhandledValuesExpression
                                       signatureShapes:ValueListExpression
                                       signatureShapes:VariableListExpression
                                       signatureShapes:VariableRangeExpression
                                       signatureShapes:VariableSymbolExpression).
valueShapes:DropVariables.Variables a sh:NodeShape;
                                    sh:description "The variables to be dropped.";
                                    sh:name "Variables";
                                    sh:or (signatureShapes:AllNumericVariablesExpression
                                           signatureShapes:AllTextVariablesExpression
                                           signatureShapes:AllVariablesExpression
                                           signatureShapes:CompositeVariableNameExpression
                                           signatureShapes:VariableListExpression
                                           signatureShapes:VariableRangeExpression
                                           signatureShapes:VariableSymbolExpression).
valueShapes:FunctionArgument.ArgumentName a sh:NodeShape;
                                          sh:description "The name of the parameter.";
                                          sh:name "ArgumentName";
                                          sh:node primitiveShapes:string.
valueShapes:FunctionArgument.ArgumentValue a sh:NodeShape;
                                           sh:description "The value of the parameter.";
                                           sh:name "ArgumentValue";
                                           sh:or (signatureShapes:AllNumericVariablesExpression
                                                  signatureShapes:AllTextVariablesExpression
                                                  signatureShapes:AllVariablesExpression
                                                  signatureShapes:BooleanConstantExpression
                                                  signatureShapes:CompositeVariableNameExpression
                                                  signatureShapes:DateTimeConstant
                                                  signatureShapes:FunctionCallExpression
                                                  signatureShapes:GroupedExpression
                                                  signatureShapes:IteratorSymbolExpression
                                                  signatureShapes:MissingValueConstantExpression
                                                  signatureShapes:NumberRangeExpression
                                                  signatureShapes:NumericConstantExpression
                                                  signatureShapes:NumericMaximumValueExpression
                                                  signatureShapes:NumericMinimumValueExpression
                                                  signatureShapes:StringConstantExpression
                                                  signatureShapes:StringRangeExpression
                                                  signatureShapes:TimeDurationConstant
                                                  signatureShapes:UnhandledValuesExpression
                                                  signatureShapes:ValueListExpression
                                                  signatureShapes:VariableListExpression
                                                  signatureShapes:VariableRangeExpression
                                                  signatureShapes:VariableSymbolExpression).
valueShapes:FunctionCallExpression.Arguments a sh:NodeShape;
                                             sh:description "A list of parameters to the function.";
                                             sh:name "Arguments";
                                             sh:or (signatureShapes:FunctionArgument).
valueShapes:FunctionCallExpression.Function a sh:NodeShape;
                                            sh:description "The name of the function being called.";
                                            sh:name "Function";
                                            sh:node primitiveShapes:string.
valueShapes:FunctionCallExpression.IsSdtlName a sh:NodeShape;
                                              sh:description "When true, the Function property contains the name of a function from the SDTL function library. When false, the Function property contains the name of a system-specific or user-defined function.";
                                              sh:name "IsSdtlName";
                                              sh:node primitiveShapes:boolean.
valueShapes:GroupedExpression.Expression a sh:NodeShape;
                                         sh:description "Expression to be evaluated.";
                                         sh:name "Expression";
                                         sh:or (signatureShapes:AllNumericVariablesExpression
                                                signatureShapes:AllTextVariablesExpression
                                                signatureShapes:AllVariablesExpression
                                                signatureShapes:BooleanConstantExpression
                                                signatureShapes:CompositeVariableNameExpression
                                                signatureShapes:DateTimeConstant
                                                signatureShapes:FunctionCallExpression
                                                signatureShapes:GroupedExpression
                                                signatureShapes:IteratorSymbolExpression
                                                signatureShapes:MissingValueConstantExpression
                                                signatureShapes:NumberRangeExpression
                                                signatureShapes:NumericConstantExpression
                                                signatureShapes:NumericMaximumValueExpression
                                                signatureShapes:NumericMinimumValueExpression
                                                signatureShapes:StringConstantExpression
                                                signatureShapes:StringRangeExpression
                                                signatureShapes:TimeDurationConstant
                                                signatureShapes:UnhandledValuesExpression
                                                signatureShapes:ValueListExpression
                                                signatureShapes:VariableListExpression
                                                signatureShapes:VariableRangeExpression
                                                signatureShapes:VariableSymbolExpression).
valueShapes:IfRows.Condition a sh:NodeShape;
                             sh:description "A logical expression that is evaluated separately for every row in the dataframe.";
                             sh:name "Condition";
                             sh:or (signatureShapes:AllNumericVariablesExpression
                                    signatureShapes:AllTextVariablesExpression
                                    signatureShapes:AllVariablesExpression
                                    signatureShapes:BooleanConstantExpression
                                    signatureShapes:CompositeVariableNameExpression
                                    signatureShapes:DateTimeConstant
                                    signatureShapes:FunctionCallExpression
                                    signatureShapes:GroupedExpression
                                    signatureShapes:IteratorSymbolExpression
                                    signatureShapes:MissingValueConstantExpression
                                    signatureShapes:NumberRangeExpression
                                    signatureShapes:NumericConstantExpression
                                    signatureShapes:NumericMaximumValueExpression
                                    signatureShapes:NumericMinimumValueExpression
                                    signatureShapes:StringConstantExpression
                                    signatureShapes:StringRangeExpression
                                    signatureShapes:TimeDurationConstant
                                    signatureShapes:UnhandledValuesExpression
                                    signatureShapes:ValueListExpression
                                    signatureShapes:VariableListExpression
                                    signatureShapes:VariableRangeExpression
                                    signatureShapes:VariableSymbolExpression).
valueShapes:IfRows.ElseCommands a sh:NodeShape;
                                sh:description "Commands to be performed if the condition is false.";
                                sh:name "ElseCommands";
                                sh:or (signatureShapes:Aggregate
                                       signatureShapes:Analysis
                                       signatureShapes:AppendDatasets
                                       signatureShapes:Collapse
                                       signatureShapes:Comment
                                       signatureShapes:Compute
                                       signatureShapes:DoIf
                                       signatureShapes:DropCases
                                       signatureShapes:DropVariables
                                       signatureShapes:Execute
                                       signatureShapes:IfRows
                                       signatureShapes:Invalid
                                       signatureShapes:KeepCases
                                       signatureShapes:KeepVariables
                                       signatureShapes:Load
                                       signatureShapes:LoopOverList
                                       signatureShapes:LoopWhile
                                       signatureShapes:MergeDatasets
                                       signatureShapes:Message
                                       signatureShapes:NewDataframe
                                       signatureShapes:NoTransformOp
                                       signatureShapes:Recode
                                       signatureShapes:Rename
                                       signatureShapes:ReshapeLong
                                       signatureShapes:ReshapeWide
                                       signatureShapes:Save
                                       signatureShapes:SetDataType
                                       signatureShapes:SetDatasetProperty
                                       signatureShapes:SetDisplayFormat
                                       signatureShapes:SetMissingValues
                                       signatureShapes:SetValueLabels
                                       signatureShapes:SetVariableLabel
                                       signatureShapes:SortCases
                                       signatureShapes:Unsupported).
valueShapes:IfRows.ThenCommands a sh:NodeShape;
                                sh:description "Commands to be performed if the condition is true.";
                                sh:name "ThenCommands";
                                sh:or (signatureShapes:Aggregate
                                       signatureShapes:Analysis
                                       signatureShapes:AppendDatasets
                                       signatureShapes:Collapse
                                       signatureShapes:Comment
                                       signatureShapes:Compute
                                       signatureShapes:DoIf
                                       signatureShapes:DropCases
                                       signatureShapes:DropVariables
                                       signatureShapes:Execute
                                       signatureShapes:IfRows
                                       signatureShapes:Invalid
                                       signatureShapes:KeepCases
                                       signatureShapes:KeepVariables
                                       signatureShapes:Load
                                       signatureShapes:LoopOverList
                                       signatureShapes:LoopWhile
                                       signatureShapes:MergeDatasets
                                       signatureShapes:Message
                                       signatureShapes:NewDataframe
                                       signatureShapes:NoTransformOp
                                       signatureShapes:Recode
                                       signatureShapes:Rename
                                       signatureShapes:ReshapeLong
                                       signatureShapes:ReshapeWide
                                       signatureShapes:Save
                                       signatureShapes:SetDataType
                                       signatureShapes:SetDatasetProperty
                                       signatureShapes:SetDisplayFormat
                                       signatureShapes:SetMissingValues
                                       signatureShapes:SetValueLabels
                                       signatureShapes:SetVariableLabel
                                       signatureShapes:SortCases
                                       signatureShapes:Unsupported).
valueShapes:Invalid.ProblemDescription a sh:NodeShape;
                                       sh:description "A message describing the issue with the invalid command.";
                                       sh:name "ProblemDescription";
                                       sh:node primitiveShapes:string.
valueShapes:IteratorDescription.IteratorSymbolName a sh:NodeShape;
                                                   sh:description "The name used in  IteratorCommands  for the index variable that changes value in the loop.";
                                                   sh:name "IteratorSymbolName";
                                                   sh:or (signatureShapes:IteratorSymbolExpression).
valueShapes:IteratorDescription.IteratorValues a sh:NodeShape;
                                               sh:description "Describes the values that are substituted for the index variable that changes value in the loop.";
                                               sh:name "IteratorValues";
                                               sh:or (signatureShapes:AllNumericVariablesExpression
                                                      signatureShapes:AllTextVariablesExpression
                                                      signatureShapes:AllVariablesExpression
                                                      signatureShapes:BooleanConstantExpression
                                                      signatureShapes:CompositeVariableNameExpression
                                                      signatureShapes:DateTimeConstant
                                                      signatureShapes:FunctionCallExpression
                                                      signatureShapes:GroupedExpression
                                                      signatureShapes:IteratorSymbolExpression
                                                      signatureShapes:MissingValueConstantExpression
                                                      signatureShapes:NumberRangeExpression
                                                      signatureShapes:NumericConstantExpression
                                                      signatureShapes:NumericMaximumValueExpression
                                                      signatureShapes:NumericMinimumValueExpression
                                                      signatureShapes:StringConstantExpression
                                                      signatureShapes:StringRangeExpression
                                                      signatureShapes:TimeDurationConstant
                                                      signatureShapes:UnhandledValuesExpression
                                                      signatureShapes:ValueListExpression
                                                      signatureShapes:VariableListExpression
                                                      signatureShapes:VariableRangeExpression
                                                      signatureShapes:VariableSymbolExpression).
valueShapes:IteratorSymbolExpression.Name a sh:NodeShape;
                                          sh:description "A name used for the index variable that takes different values inside a loop.";
                                          sh:name "Name";
                                          sh:node primitiveShapes:string.
valueShapes:KeepCases.Condition a sh:NodeShape;
                                sh:description "The logical expresion that must be true for a case to remain in the working dataset.";
                                sh:name "Condition";
                                sh:or (signatureShapes:AllNumericVariablesExpression
                                       signatureShapes:AllTextVariablesExpression
                                       signatureShapes:AllVariablesExpression
                                       signatureShapes:BooleanConstantExpression
                                       signatureShapes:CompositeVariableNameExpression
                                       signatureShapes:DateTimeConstant
                                       signatureShapes:FunctionCallExpression
                                       signatureShapes:GroupedExpression
                                       signatureShapes:IteratorSymbolExpression
                                       signatureShapes:MissingValueConstantExpression
                                       signatureShapes:NumberRangeExpression
                                       signatureShapes:NumericConstantExpression
                                       signatureShapes:NumericMaximumValueExpression
                                       signatureShapes:NumericMinimumValueExpression
                                       signatureShapes:StringConstantExpression
                                       signatureShapes:StringRangeExpression
                                       signatureShapes:TimeDurationConstant
                                       signatureShapes:UnhandledValuesExpression
                                       signatureShapes:ValueListExpression
                                       signatureShapes:VariableListExpression
                                       signatureShapes:VariableRangeExpression
                                       signatureShapes:VariableSymbolExpression).
valueShapes:KeepVariables.Variables a sh:NodeShape;
                                    sh:description "The variables to be kept in the dataset.";
                                    sh:name "Variables";
                                    sh:or (signatureShapes:AllNumericVariablesExpression
                                           signatureShapes:AllTextVariablesExpression
                                           signatureShapes:AllVariablesExpression
                                           signatureShapes:CompositeVariableNameExpression
                                           signatureShapes:VariableListExpression
                                           signatureShapes:VariableRangeExpression
                                           signatureShapes:VariableSymbolExpression).
valueShapes:Load.FileFormat a sh:NodeShape;
                            sh:description "The name of a file format";
                            sh:name "FileFormat";
                            sh:node primitiveShapes:string;
                            sh:sparql constraintShapes:Query5CA407172E25E0827936ABA0BB672704BAF8A74D15C472C3D0AC90C9738D10E3.
valueShapes:Load.FileName a sh:NodeShape;
                          sh:description "The name of the file to be loaded.";
                          sh:name "FileName";
                          sh:node primitiveShapes:string.
valueShapes:Load.IsCompressed a sh:NodeShape;
                              sh:description "Indicates whether the file format is compressed.";
                              sh:name "IsCompressed";
                              sh:node primitiveShapes:boolean.
valueShapes:Load.Software a sh:NodeShape;
                          sh:description "The software package that works with the file.";
                          sh:name "Software";
                          sh:node primitiveShapes:string.
valueShapes:LoopOverList.Commands a sh:NodeShape;
                                  sh:description "Commands generated by the loop expanded by replacing tokens representing variables, numbers, or strings with their values.";
                                  sh:name "Commands";
                                  sh:or (signatureShapes:Aggregate
                                         signatureShapes:Analysis
                                         signatureShapes:AppendDatasets
                                         signatureShapes:Collapse
                                         signatureShapes:Comment
                                         signatureShapes:Compute
                                         signatureShapes:DoIf
                                         signatureShapes:DropCases
                                         signatureShapes:DropVariables
                                         signatureShapes:Execute
                                         signatureShapes:IfRows
                                         signatureShapes:Invalid
                                         signatureShapes:KeepCases
                                         signatureShapes:KeepVariables
                                         signatureShapes:Load
                                         signatureShapes:LoopOverList
                                         signatureShapes:LoopWhile
                                         signatureShapes:MergeDatasets
                                         signatureShapes:Message
                                         signatureShapes:NewDataframe
                                         signatureShapes:NoTransformOp
                                         signatureShapes:Recode
                                         signatureShapes:Rename
                                         signatureShapes:ReshapeLong
                                         signatureShapes:ReshapeWide
                                         signatureShapes:Save
                                         signatureShapes:SetDataType
                                         signatureShapes:SetDatasetProperty
                                         signatureShapes:SetDisplayFormat
                                         signatureShapes:SetMissingValues
                                         signatureShapes:SetValueLabels
                                         signatureShapes:SetVariableLabel
                                         signatureShapes:SortCases
                                         signatureShapes:Unsupported).
valueShapes:LoopOverList.Iterators a sh:NodeShape;
                                   sh:description "Describes one or more iteration processes in this loop.";
                                   sh:name "Iterators";
                                   sh:or (signatureShapes:IteratorDescription).
valueShapes:LoopOverList.Updated a sh:NodeShape;
                                 sh:description "When TRUE, the loop has been expanded into separate commands.";
                                 sh:name "Updated";
                                 sh:node primitiveShapes:boolean.
valueShapes:LoopWhile.Commands a sh:NodeShape;
                               sh:description "Commands within the loop.";
                               sh:name "Commands";
                               sh:or (signatureShapes:Aggregate
                                      signatureShapes:Analysis
                                      signatureShapes:AppendDatasets
                                      signatureShapes:Collapse
                                      signatureShapes:Comment
                                      signatureShapes:Compute
                                      signatureShapes:DoIf
                                      signatureShapes:DropCases
                                      signatureShapes:DropVariables
                                      signatureShapes:Execute
                                      signatureShapes:IfRows
                                      signatureShapes:Invalid
                                      signatureShapes:KeepCases
                                      signatureShapes:KeepVariables
                                      signatureShapes:Load
                                      signatureShapes:LoopOverList
                                      signatureShapes:LoopWhile
                                      signatureShapes:MergeDatasets
                                      signatureShapes:Message
                                      signatureShapes:NewDataframe
                                      signatureShapes:NoTransformOp
                                      signatureShapes:Recode
                                      signatureShapes:Rename
                                      signatureShapes:ReshapeLong
                                      signatureShapes:ReshapeWide
                                      signatureShapes:Save
                                      signatureShapes:SetDataType
                                      signatureShapes:SetDatasetProperty
                                      signatureShapes:SetDisplayFormat
                                      signatureShapes:SetMissingValues
                                      signatureShapes:SetValueLabels
                                      signatureShapes:SetVariableLabel
                                      signatureShapes:SortCases
                                      signatureShapes:Unsupported).
valueShapes:LoopWhile.Condition a sh:NodeShape;
                                sh:description "Describes a condition required for the next iteration to begin.  ";
                                sh:name "Condition";
                                sh:or (signatureShapes:AllNumericVariablesExpression
                                       signatureShapes:AllTextVariablesExpression
                                       signatureShapes:AllVariablesExpression
                                       signatureShapes:BooleanConstantExpression
                                       signatureShapes:CompositeVariableNameExpression
                                       signatureShapes:DateTimeConstant
                                       signatureShapes:FunctionCallExpression
                                       signatureShapes:GroupedExpression
                                       signatureShapes:IteratorSymbolExpression
                                       signatureShapes:MissingValueConstantExpression
                                       signatureShapes:NumberRangeExpression
                                       signatureShapes:NumericConstantExpression
                                       signatureShapes:NumericMaximumValueExpression
                                       signatureShapes:NumericMinimumValueExpression
                                       signatureShapes:StringConstantExpression
                                       signatureShapes:StringRangeExpression
                                       signatureShapes:TimeDurationConstant
                                       signatureShapes:UnhandledValuesExpression
                                       signatureShapes:ValueListExpression
                                       signatureShapes:VariableListExpression
                                       signatureShapes:VariableRangeExpression
                                       signatureShapes:VariableSymbolExpression).
valueShapes:LoopWhile.EndCondition a sh:NodeShape;
                                   sh:description "Describes a condition that ends interation.  ";
                                   sh:name "EndCondition";
                                   sh:or (signatureShapes:AllNumericVariablesExpression
                                          signatureShapes:AllTextVariablesExpression
                                          signatureShapes:AllVariablesExpression
                                          signatureShapes:BooleanConstantExpression
                                          signatureShapes:CompositeVariableNameExpression
                                          signatureShapes:DateTimeConstant
                                          signatureShapes:FunctionCallExpression
                                          signatureShapes:GroupedExpression
                                          signatureShapes:IteratorSymbolExpression
                                          signatureShapes:MissingValueConstantExpression
                                          signatureShapes:NumberRangeExpression
                                          signatureShapes:NumericConstantExpression
                                          signatureShapes:NumericMaximumValueExpression
                                          signatureShapes:NumericMinimumValueExpression
                                          signatureShapes:StringConstantExpression
                                          signatureShapes:StringRangeExpression
                                          signatureShapes:TimeDurationConstant
                                          signatureShapes:UnhandledValuesExpression
                                          signatureShapes:ValueListExpression
                                          signatureShapes:VariableListExpression
                                          signatureShapes:VariableRangeExpression
                                          signatureShapes:VariableSymbolExpression).
valueShapes:LoopWhile.Updated a sh:NodeShape;
                              sh:description "When TRUE, the loop has been expanded into separate commands.";
                              sh:name "Updated";
                              sh:node primitiveShapes:boolean.
valueShapes:MergeDatasets.FirstVariable a sh:NodeShape;
                                        sh:description "The name of a variable set to 1 for the first row of each group of cases with the same value for the MergeByVariables variables and set to  0 for all other rows.";
                                        sh:name "FirstVariable";
                                        sh:node primitiveShapes:string.
valueShapes:MergeDatasets.LastVariable a sh:NodeShape;
                                       sh:description "The name of a variable set to 1 for the last row of each group of cases with the same value for the MergeByVariables variables and set to  0 for all other rows.";
                                       sh:name "LastVariable";
                                       sh:node primitiveShapes:string.
valueShapes:MergeDatasets.MergeByVariables a sh:NodeShape;
                                           sh:description """A variable or list of variables that acts as the unique case identifier across datasets.  If MergeByVariables is absent, MergeType must be \"sequential\" on all files.""";
                                           sh:name "MergeByVariables";
                                           sh:or (signatureShapes:AllNumericVariablesExpression
                                                  signatureShapes:AllTextVariablesExpression
                                                  signatureShapes:AllVariablesExpression
                                                  signatureShapes:CompositeVariableNameExpression
                                                  signatureShapes:VariableListExpression
                                                  signatureShapes:VariableRangeExpression
                                                  signatureShapes:VariableSymbolExpression).
valueShapes:MergeDatasets.MergeFiles a sh:NodeShape;
                                     sh:description "Description of files to be merged.";
                                     sh:name "MergeFiles";
                                     sh:or (signatureShapes:MergeFileDescription).
valueShapes:MergeFileDescription.DropCasesCondition a sh:NodeShape;
                                                    sh:description "Logical condition for dropping rows.";
                                                    sh:name "DropCasesCondition";
                                                    sh:or (signatureShapes:AllNumericVariablesExpression
                                                           signatureShapes:AllTextVariablesExpression
                                                           signatureShapes:AllVariablesExpression
                                                           signatureShapes:BooleanConstantExpression
                                                           signatureShapes:CompositeVariableNameExpression
                                                           signatureShapes:DateTimeConstant
                                                           signatureShapes:FunctionCallExpression
                                                           signatureShapes:GroupedExpression
                                                           signatureShapes:IteratorSymbolExpression
                                                           signatureShapes:MissingValueConstantExpression
                                                           signatureShapes:NumberRangeExpression
                                                           signatureShapes:NumericConstantExpression
                                                           signatureShapes:NumericMaximumValueExpression
                                                           signatureShapes:NumericMinimumValueExpression
                                                           signatureShapes:StringConstantExpression
                                                           signatureShapes:StringRangeExpression
                                                           signatureShapes:TimeDurationConstant
                                                           signatureShapes:UnhandledValuesExpression
                                                           signatureShapes:ValueListExpression
                                                           signatureShapes:VariableListExpression
                                                           signatureShapes:VariableRangeExpression
                                                           signatureShapes:VariableSymbolExpression).
valueShapes:MergeFileDescription.DropVariables a sh:NodeShape;
                                               sh:description "List of variables to drop";
                                               sh:name "DropVariables";
                                               sh:or (signatureShapes:AllNumericVariablesExpression
                                                      signatureShapes:AllTextVariablesExpression
                                                      signatureShapes:AllVariablesExpression
                                                      signatureShapes:CompositeVariableNameExpression
                                                      signatureShapes:VariableListExpression
                                                      signatureShapes:VariableRangeExpression
                                                      signatureShapes:VariableSymbolExpression).
valueShapes:MergeFileDescription.FileFormat a sh:NodeShape;
                                            sh:description "The name of a file format";
                                            sh:name "FileFormat";
                                            sh:node primitiveShapes:string;
                                            sh:sparql constraintShapes:Query5CA407172E25E0827936ABA0BB672704BAF8A74D15C472C3D0AC90C9738D10E3.
valueShapes:MergeFileDescription.FileName a sh:NodeShape;
                                          sh:description "Name of the file being merged.  May be the name of an active dataframe.";
                                          sh:name "FileName";
                                          sh:node primitiveShapes:string.
valueShapes:MergeFileDescription.IsCompressed a sh:NodeShape;
                                              sh:description "Indicates whether the file format is compressed.";
                                              sh:name "IsCompressed";
                                              sh:node primitiveShapes:boolean.
valueShapes:MergeFileDescription.KeepCasesCondition a sh:NodeShape;
                                                    sh:description "Logical condition for keeping rows.";
                                                    sh:name "KeepCasesCondition";
                                                    sh:or (signatureShapes:AllNumericVariablesExpression
                                                           signatureShapes:AllTextVariablesExpression
                                                           signatureShapes:AllVariablesExpression
                                                           signatureShapes:BooleanConstantExpression
                                                           signatureShapes:CompositeVariableNameExpression
                                                           signatureShapes:DateTimeConstant
                                                           signatureShapes:FunctionCallExpression
                                                           signatureShapes:GroupedExpression
                                                           signatureShapes:IteratorSymbolExpression
                                                           signatureShapes:MissingValueConstantExpression
                                                           signatureShapes:NumberRangeExpression
                                                           signatureShapes:NumericConstantExpression
                                                           signatureShapes:NumericMaximumValueExpression
                                                           signatureShapes:NumericMinimumValueExpression
                                                           signatureShapes:StringConstantExpression
                                                           signatureShapes:StringRangeExpression
                                                           signatureShapes:TimeDurationConstant
                                                           signatureShapes:UnhandledValuesExpression
                                                           signatureShapes:ValueListExpression
                                                           signatureShapes:VariableListExpression
                                                           signatureShapes:VariableRangeExpression
                                                           signatureShapes:VariableSymbolExpression).
valueShapes:MergeFileDescription.KeepVariables a sh:NodeShape;
                                               sh:description "List of variables to keep";
                                               sh:name "KeepVariables";
                                               sh:or (signatureShapes:AllNumericVariablesExpression
                                                      signatureShapes:AllTextVariablesExpression
                                                      signatureShapes:AllVariablesExpression
                                                      signatureShapes:CompositeVariableNameExpression
                                                      signatureShapes:VariableListExpression
                                                      signatureShapes:VariableRangeExpression
                                                      signatureShapes:VariableSymbolExpression).
valueShapes:MergeFileDescription.MergeByNames a sh:NodeShape;
                                              sh:description "An ordered list of variables used as keys  in this file to be matched to the variables in the mergeByVariables property of the MergeDatasets command.  This property is only used when the key variables in this file have different names than the variable names listed in the MergeDatasets command.";
                                              sh:name "MergeByNames";
                                              sh:or (signatureShapes:AllNumericVariablesExpression
                                                     signatureShapes:AllTextVariablesExpression
                                                     signatureShapes:AllVariablesExpression
                                                     signatureShapes:CompositeVariableNameExpression
                                                     signatureShapes:VariableListExpression
                                                     signatureShapes:VariableRangeExpression
                                                     signatureShapes:VariableSymbolExpression).
valueShapes:MergeFileDescription.MergeFlagVariable a sh:NodeShape;
                                                   sh:description "Name of a new variable indicating whether the row came from this file or a different input file.";
                                                   sh:name "MergeFlagVariable";
                                                   sh:node primitiveShapes:string.
valueShapes:MergeFileDescription.MergeType a sh:NodeShape;
                                           sh:description "Describes the type of merge performed. ";
                                           sh:name "MergeType";
                                           sh:node primitiveShapes:string;
                                           sh:sparql constraintShapes:QueryC7FD861DC856805D5A32068E55BBBC8B03499BE22CCD69D00E76CC82A8E2008B.
valueShapes:MergeFileDescription.NewRow a sh:NodeShape;
                                        sh:description "When TRUE,  generate new row when not matched to other files";
                                        sh:name "NewRow";
                                        sh:node primitiveShapes:boolean.
valueShapes:MergeFileDescription.RenameVariables a sh:NodeShape;
                                                 sh:description "Variables to be renamed";
                                                 sh:name "RenameVariables";
                                                 sh:or (signatureShapes:RenamePair).
valueShapes:MergeFileDescription.Software a sh:NodeShape;
                                          sh:description "The software package that works with the file.";
                                          sh:name "Software";
                                          sh:node primitiveShapes:string.
valueShapes:MergeFileDescription.Update a sh:NodeShape;
                                        sh:description """When the same variables exist in more than one dataframe. values in the \"Master\" dataframe can be replaced by values from a different dataframe. \"Master\" is the default value.  \"Ignore\" means values in this dataframe are never used.  \"FillNew\" is used on rows not found in the \"Master\" dataframe.  \"UpdateMissing\" replaces missing values in the \"Master\" dataframe. \"Replace\" changes all values in the \"Master\" dataframe.\"""";
                                        sh:name "Update";
                                        sh:node primitiveShapes:string;
                                        sh:sparql constraintShapes:Query5ED8B9181CE5C09BD3D2147D07EF3EF9CEBD4DC674F9F9AB32DA8BC12DC742B7.
valueShapes:Message.CharacterPosition a sh:NodeShape;
                                      sh:description "The character position of the source that the message is related to, if relevant.";
                                      sh:name "CharacterPosition";
                                      sh:node primitiveShapes:int.
valueShapes:Message.LineNumber a sh:NodeShape;
                               sh:description "The line number of the source that the messages is related to, if relevant.";
                               sh:name "LineNumber";
                               sh:node primitiveShapes:int.
valueShapes:Message.Severity a sh:NodeShape;
                             sh:description "Information, Warning, Error";
                             sh:name "Severity";
                             sh:node primitiveShapes:string.
valueShapes:MissingValueConstantExpression.Value a sh:NodeShape;
                                                 sh:description "The missing value as it appears in the system (e.g., .a, .b, .c).  If Null, this is the system missing value.";
                                                 sh:name "Value";
                                                 sh:node primitiveShapes:string.
valueShapes:NewDataframe.NumberOfColumns a sh:NodeShape;
                                         sh:description "Number of columns in new dataframe";
                                         sh:name "NumberOfColumns";
                                         sh:node primitiveShapes:int.
valueShapes:NewDataframe.NumberOfRows a sh:NodeShape;
                                      sh:description "Number of rows in new dataframe";
                                      sh:name "NumberOfRows";
                                      sh:node primitiveShapes:int.
valueShapes:NumberRangeExpression.NumberRangeEnd a sh:NodeShape;
                                                 sh:description "Ending value for range";
                                                 sh:name "NumberRangeEnd";
                                                 sh:or (signatureShapes:AllNumericVariablesExpression
                                                        signatureShapes:AllTextVariablesExpression
                                                        signatureShapes:AllVariablesExpression
                                                        signatureShapes:BooleanConstantExpression
                                                        signatureShapes:CompositeVariableNameExpression
                                                        signatureShapes:DateTimeConstant
                                                        signatureShapes:FunctionCallExpression
                                                        signatureShapes:GroupedExpression
                                                        signatureShapes:IteratorSymbolExpression
                                                        signatureShapes:MissingValueConstantExpression
                                                        signatureShapes:NumberRangeExpression
                                                        signatureShapes:NumericConstantExpression
                                                        signatureShapes:NumericMaximumValueExpression
                                                        signatureShapes:NumericMinimumValueExpression
                                                        signatureShapes:StringConstantExpression
                                                        signatureShapes:StringRangeExpression
                                                        signatureShapes:TimeDurationConstant
                                                        signatureShapes:UnhandledValuesExpression
                                                        signatureShapes:ValueListExpression
                                                        signatureShapes:VariableListExpression
                                                        signatureShapes:VariableRangeExpression
                                                        signatureShapes:VariableSymbolExpression).
valueShapes:NumberRangeExpression.NumberRangeIncrement a sh:NodeShape;
                                                       sh:description "Increment for stepping through range";
                                                       sh:name "NumberRangeIncrement";
                                                       sh:or (signatureShapes:AllNumericVariablesExpression
                                                              signatureShapes:AllTextVariablesExpression
                                                              signatureShapes:AllVariablesExpression
                                                              signatureShapes:BooleanConstantExpression
                                                              signatureShapes:CompositeVariableNameExpression
                                                              signatureShapes:DateTimeConstant
                                                              signatureShapes:FunctionCallExpression
                                                              signatureShapes:GroupedExpression
                                                              signatureShapes:IteratorSymbolExpression
                                                              signatureShapes:MissingValueConstantExpression
                                                              signatureShapes:NumberRangeExpression
                                                              signatureShapes:NumericConstantExpression
                                                              signatureShapes:NumericMaximumValueExpression
                                                              signatureShapes:NumericMinimumValueExpression
                                                              signatureShapes:StringConstantExpression
                                                              signatureShapes:StringRangeExpression
                                                              signatureShapes:TimeDurationConstant
                                                              signatureShapes:UnhandledValuesExpression
                                                              signatureShapes:ValueListExpression
                                                              signatureShapes:VariableListExpression
                                                              signatureShapes:VariableRangeExpression
                                                              signatureShapes:VariableSymbolExpression).
valueShapes:NumberRangeExpression.NumberRangeStart a sh:NodeShape;
                                                   sh:description "Starting value for range";
                                                   sh:name "NumberRangeStart";
                                                   sh:or (signatureShapes:AllNumericVariablesExpression
                                                          signatureShapes:AllTextVariablesExpression
                                                          signatureShapes:AllVariablesExpression
                                                          signatureShapes:BooleanConstantExpression
                                                          signatureShapes:CompositeVariableNameExpression
                                                          signatureShapes:DateTimeConstant
                                                          signatureShapes:FunctionCallExpression
                                                          signatureShapes:GroupedExpression
                                                          signatureShapes:IteratorSymbolExpression
                                                          signatureShapes:MissingValueConstantExpression
                                                          signatureShapes:NumberRangeExpression
                                                          signatureShapes:NumericConstantExpression
                                                          signatureShapes:NumericMaximumValueExpression
                                                          signatureShapes:NumericMinimumValueExpression
                                                          signatureShapes:StringConstantExpression
                                                          signatureShapes:StringRangeExpression
                                                          signatureShapes:TimeDurationConstant
                                                          signatureShapes:UnhandledValuesExpression
                                                          signatureShapes:ValueListExpression
                                                          signatureShapes:VariableListExpression
                                                          signatureShapes:VariableRangeExpression
                                                          signatureShapes:VariableSymbolExpression).
valueShapes:NumericConstantExpression.NumericType a sh:NodeShape;
                                                  sh:description "Type of the number";
                                                  sh:name "NumericType";
                                                  sh:node primitiveShapes:string;
                                                  sh:sparql constraintShapes:Query2E25836B9AB1073346A63C77FB6EA6BF40778783CABF38A212ABEAC393E735E7.
valueShapes:NumericConstantExpression.Value a sh:NodeShape;
                                            sh:description "A number";
                                            sh:name "Value";
                                            sh:node primitiveShapes:string.
valueShapes:Program.CommandCount a sh:NodeShape;
                                 sh:description "The number of commands detected in the source file.";
                                 sh:name "CommandCount";
                                 sh:node primitiveShapes:int.
valueShapes:Program.Commands a sh:NodeShape;
                             sh:description "The list of commands that make up the program.";
                             sh:name "Commands";
                             sh:or (signatureShapes:Aggregate
                                    signatureShapes:Analysis
                                    signatureShapes:AppendDatasets
                                    signatureShapes:Collapse
                                    signatureShapes:Comment
                                    signatureShapes:Compute
                                    signatureShapes:DoIf
                                    signatureShapes:DropCases
                                    signatureShapes:DropVariables
                                    signatureShapes:Execute
                                    signatureShapes:IfRows
                                    signatureShapes:Invalid
                                    signatureShapes:KeepCases
                                    signatureShapes:KeepVariables
                                    signatureShapes:Load
                                    signatureShapes:LoopOverList
                                    signatureShapes:LoopWhile
                                    signatureShapes:MergeDatasets
                                    signatureShapes:Message
                                    signatureShapes:NewDataframe
                                    signatureShapes:NoTransformOp
                                    signatureShapes:Recode
                                    signatureShapes:Rename
                                    signatureShapes:ReshapeLong
                                    signatureShapes:ReshapeWide
                                    signatureShapes:Save
                                    signatureShapes:SetDataType
                                    signatureShapes:SetDatasetProperty
                                    signatureShapes:SetDisplayFormat
                                    signatureShapes:SetMissingValues
                                    signatureShapes:SetValueLabels
                                    signatureShapes:SetVariableLabel
                                    signatureShapes:SortCases
                                    signatureShapes:Unsupported).
valueShapes:Program.ID a sh:NodeShape;
                       sh:description "ID of the object being referenced.";
                       sh:name "ID";
                       sh:node primitiveShapes:string.
valueShapes:Program.LineCount a sh:NodeShape;
                              sh:description "The number of lines in the source file.";
                              sh:name "LineCount";
                              sh:node primitiveShapes:int.
valueShapes:Program.Messages a sh:NodeShape;
                             sh:description "Messages related to the parsing of the source file.";
                             sh:name "Messages";
                             sh:or (signatureShapes:Message).
valueShapes:Program.ModelCreatedTime a sh:NodeShape;
                                     sh:description "The date and time the SDTL was generated.";
                                     sh:name "ModelCreatedTime";
                                     sh:node primitiveShapes:dateTime.
valueShapes:Program.ModelVersion a sh:NodeShape;
                                 sh:description "The version of the SDTL model.";
                                 sh:name "ModelVersion";
                                 sh:node primitiveShapes:string.
valueShapes:Program.Parser a sh:NodeShape;
                           sh:description "The name of the parser used to generate the SDTL.";
                           sh:name "Parser";
                           sh:node primitiveShapes:string.
valueShapes:Program.ParserVersion a sh:NodeShape;
                                  sh:description "The version of the parser used to generate the SDTL.";
                                  sh:name "ParserVersion";
                                  sh:node primitiveShapes:string.
valueShapes:Program.ScriptMD5 a sh:NodeShape;
                              sh:description "The MD5 hash of the contents of the file.";
                              sh:name "ScriptMD5";
                              sh:node primitiveShapes:string.
valueShapes:Program.ScriptSHA1 a sh:NodeShape;
                               sh:description "The SHA-1 hash of the contents of the file.";
                               sh:name "ScriptSHA1";
                               sh:node primitiveShapes:string.
valueShapes:Program.SourceFileLastUpdate a sh:NodeShape;
                                         sh:description "The date and time the file was last updated.";
                                         sh:name "SourceFileLastUpdate";
                                         sh:node primitiveShapes:dateTime.
valueShapes:Program.SourceFileName a sh:NodeShape;
                                   sh:description "The name of the file containing the source code.";
                                   sh:name "SourceFileName";
                                   sh:node primitiveShapes:string.
valueShapes:Program.SourceFileSize a sh:NodeShape;
                                   sh:description "The size of the file in bytes.";
                                   sh:name "SourceFileSize";
                                   sh:node primitiveShapes:long.
valueShapes:Program.SourceLanguage a sh:NodeShape;
                                   sh:description "The language of the source code.";
                                   sh:name "SourceLanguage";
                                   sh:node primitiveShapes:string.
valueShapes:Recode.RecodedVariableRange a sh:NodeShape;
                                        sh:description "A range of variables to which the recode rules are applied. The resulting values are stored in the same variable.";
                                        sh:name "RecodedVariableRange";
                                        sh:or (signatureShapes:VariableRangeExpression).
valueShapes:Recode.RecodedVariables a sh:NodeShape;
                                    sh:description "The variables that will have their values recoded. The resulting values may be either stored in the same variable, or a newly created destination variable";
                                    sh:name "RecodedVariables";
                                    sh:or (signatureShapes:RecodeVariable).
valueShapes:Recode.Rules a sh:NodeShape;
                         sh:description "A mapping describing which values will be recoded to which new values";
                         sh:name "Rules";
                         sh:or (signatureShapes:RecodeRule).
valueShapes:RecodeRule.FromValue a sh:NodeShape;
                                 sh:description "The values to be recoded.";
                                 sh:name "FromValue";
                                 sh:or (signatureShapes:AllNumericVariablesExpression
                                        signatureShapes:AllTextVariablesExpression
                                        signatureShapes:AllVariablesExpression
                                        signatureShapes:BooleanConstantExpression
                                        signatureShapes:CompositeVariableNameExpression
                                        signatureShapes:DateTimeConstant
                                        signatureShapes:FunctionCallExpression
                                        signatureShapes:GroupedExpression
                                        signatureShapes:IteratorSymbolExpression
                                        signatureShapes:MissingValueConstantExpression
                                        signatureShapes:NumberRangeExpression
                                        signatureShapes:NumericConstantExpression
                                        signatureShapes:NumericMaximumValueExpression
                                        signatureShapes:NumericMinimumValueExpression
                                        signatureShapes:StringConstantExpression
                                        signatureShapes:StringRangeExpression
                                        signatureShapes:TimeDurationConstant
                                        signatureShapes:UnhandledValuesExpression
                                        signatureShapes:ValueListExpression
                                        signatureShapes:VariableListExpression
                                        signatureShapes:VariableRangeExpression
                                        signatureShapes:VariableSymbolExpression).
valueShapes:RecodeRule.Label a sh:NodeShape;
                             sh:description "A value label for the new recoded value, if appropriate";
                             sh:name "Label";
                             sh:node primitiveShapes:string.
valueShapes:RecodeRule.To a sh:NodeShape;
                          sh:description "The new value";
                          sh:name "To";
                          sh:node primitiveShapes:string.
valueShapes:RecodeVariable.Source a sh:NodeShape;
                                  sh:description "The name of the variable which will have its values recoded";
                                  sh:name "Source";
                                  sh:node primitiveShapes:string.
valueShapes:RecodeVariable.Target a sh:NodeShape;
                                  sh:description "The name of the new variable into which the recoded values are inserted. This may be the same as the source variable if values are recoded in place.";
                                  sh:name "Target";
                                  sh:node primitiveShapes:string.
valueShapes:Rename.Renames a sh:NodeShape;
                           sh:description "A list of variable rename objects, which includes the old name and the new name.";
                           sh:name "Renames";
                           sh:or (signatureShapes:RenamePair).
valueShapes:RenamePair.NewVariable a sh:NodeShape;
                                   sh:description "The new name of the variable.";
                                   sh:name "NewVariable";
                                   sh:or (signatureShapes:VariableSymbolExpression).
valueShapes:RenamePair.OldVariable a sh:NodeShape;
                                   sh:description "The old name of the variable.";
                                   sh:name "OldVariable";
                                   sh:or (signatureShapes:VariableSymbolExpression).
valueShapes:ReshapeItemDescription.IndexValues a sh:NodeShape;
                                               sh:description "A list of values that produce new rows (long) or columns (wide) for this variable.";
                                               sh:name "IndexValues";
                                               sh:or (signatureShapes:AllNumericVariablesExpression
                                                      signatureShapes:AllTextVariablesExpression
                                                      signatureShapes:AllVariablesExpression
                                                      signatureShapes:BooleanConstantExpression
                                                      signatureShapes:CompositeVariableNameExpression
                                                      signatureShapes:DateTimeConstant
                                                      signatureShapes:FunctionCallExpression
                                                      signatureShapes:GroupedExpression
                                                      signatureShapes:IteratorSymbolExpression
                                                      signatureShapes:MissingValueConstantExpression
                                                      signatureShapes:NumberRangeExpression
                                                      signatureShapes:NumericConstantExpression
                                                      signatureShapes:NumericMaximumValueExpression
                                                      signatureShapes:NumericMinimumValueExpression
                                                      signatureShapes:StringConstantExpression
                                                      signatureShapes:StringRangeExpression
                                                      signatureShapes:TimeDurationConstant
                                                      signatureShapes:UnhandledValuesExpression
                                                      signatureShapes:ValueListExpression
                                                      signatureShapes:VariableListExpression
                                                      signatureShapes:VariableRangeExpression
                                                      signatureShapes:VariableSymbolExpression).
valueShapes:ReshapeItemDescription.IndexVariableLabel a sh:NodeShape;
                                                      sh:description "Label for the variable in IndexVariableName.";
                                                      sh:name "IndexVariableLabel";
                                                      sh:node primitiveShapes:string.
valueShapes:ReshapeItemDescription.IndexVariableName a sh:NodeShape;
                                                     sh:description "Name of the variable that will contain the value of the index for this row.";
                                                     sh:name "IndexVariableName";
                                                     sh:node primitiveShapes:string.
valueShapes:ReshapeItemDescription.SourceVariables a sh:NodeShape;
                                                   sh:description "Source variables in the original dataset used to create this variable.";
                                                   sh:name "SourceVariables";
                                                   sh:or (signatureShapes:AllNumericVariablesExpression
                                                          signatureShapes:AllTextVariablesExpression
                                                          signatureShapes:AllVariablesExpression
                                                          signatureShapes:CompositeVariableNameExpression
                                                          signatureShapes:VariableListExpression
                                                          signatureShapes:VariableRangeExpression
                                                          signatureShapes:VariableSymbolExpression).
valueShapes:ReshapeItemDescription.Stub a sh:NodeShape;
                                        sh:description "The stub is a string used in the names of variables in the wide dataset.";
                                        sh:name "Stub";
                                        sh:node primitiveShapes:string.
valueShapes:ReshapeItemDescription.TargetVariableLabel a sh:NodeShape;
                                                       sh:description "Label for new variable created by this command.";
                                                       sh:name "TargetVariableLabel";
                                                       sh:node primitiveShapes:string.
valueShapes:ReshapeItemDescription.TargetVariableName a sh:NodeShape;
                                                      sh:description "Name of new variable created by this command.";
                                                      sh:name "TargetVariableName";
                                                      sh:node primitiveShapes:string.
valueShapes:ReshapeLong.CaseNumberVariable a sh:NodeShape;
                                           sh:description "New variable identifying the case number in the wide data that created this row.";
                                           sh:name "CaseNumberVariable";
                                           sh:node primitiveShapes:string.
valueShapes:ReshapeLong.CountByID a sh:NodeShape;
                                  sh:description "New variable with the number of cases in the long dataset that were created from the source row in the wide dataset.";
                                  sh:name "CountByID";
                                  sh:node primitiveShapes:string.
valueShapes:ReshapeLong.CountByIDLabel a sh:NodeShape;
                                       sh:description "Label for the CountByID variable.";
                                       sh:name "CountByIDLabel";
                                       sh:node primitiveShapes:string.
valueShapes:ReshapeLong.DropVariables a sh:NodeShape;
                                      sh:description "Variables to be dropped from the new dataset.";
                                      sh:name "DropVariables";
                                      sh:or (signatureShapes:AllNumericVariablesExpression
                                             signatureShapes:AllTextVariablesExpression
                                             signatureShapes:AllVariablesExpression
                                             signatureShapes:CompositeVariableNameExpression
                                             signatureShapes:VariableListExpression
                                             signatureShapes:VariableRangeExpression
                                             signatureShapes:VariableSymbolExpression).
valueShapes:ReshapeLong.IDVariables a sh:NodeShape;
                                    sh:description "One or more variables identifying unique rows in the wide data.";
                                    sh:name "IDVariables";
                                    sh:or (signatureShapes:AllNumericVariablesExpression
                                           signatureShapes:AllTextVariablesExpression
                                           signatureShapes:AllVariablesExpression
                                           signatureShapes:CompositeVariableNameExpression
                                           signatureShapes:VariableListExpression
                                           signatureShapes:VariableRangeExpression
                                           signatureShapes:VariableSymbolExpression).
valueShapes:ReshapeLong.KeepNullCases a sh:NodeShape;
                                      sh:description "When set to TRUE, rows in which all constructed variables are missing are not deleted.";
                                      sh:name "KeepNullCases";
                                      sh:node primitiveShapes:boolean.
valueShapes:ReshapeLong.KeepVariables a sh:NodeShape;
                                      sh:description "Variables to be kept in the new dataset.";
                                      sh:name "KeepVariables";
                                      sh:or (signatureShapes:AllNumericVariablesExpression
                                             signatureShapes:AllTextVariablesExpression
                                             signatureShapes:AllVariablesExpression
                                             signatureShapes:CompositeVariableNameExpression
                                             signatureShapes:VariableListExpression
                                             signatureShapes:VariableRangeExpression
                                             signatureShapes:VariableSymbolExpression).
valueShapes:ReshapeLong.MakeItems a sh:NodeShape;
                                  sh:description "New variables created by this command.";
                                  sh:name "MakeItems";
                                  sh:or (signatureShapes:ReshapeItemDescription).
valueShapes:ReshapeWide.DropVariables a sh:NodeShape;
                                      sh:description "Variables to be dropped from the new dataset.";
                                      sh:name "DropVariables";
                                      sh:or (signatureShapes:AllNumericVariablesExpression
                                             signatureShapes:AllTextVariablesExpression
                                             signatureShapes:AllVariablesExpression
                                             signatureShapes:CompositeVariableNameExpression
                                             signatureShapes:VariableListExpression
                                             signatureShapes:VariableRangeExpression
                                             signatureShapes:VariableSymbolExpression).
valueShapes:ReshapeWide.IDVariables a sh:NodeShape;
                                    sh:description "One or more variables identifying unique rows in the wide data.";
                                    sh:name "IDVariables";
                                    sh:or (signatureShapes:AllNumericVariablesExpression
                                           signatureShapes:AllTextVariablesExpression
                                           signatureShapes:AllVariablesExpression
                                           signatureShapes:CompositeVariableNameExpression
                                           signatureShapes:VariableListExpression
                                           signatureShapes:VariableRangeExpression
                                           signatureShapes:VariableSymbolExpression).
valueShapes:ReshapeWide.KeepVariables a sh:NodeShape;
                                      sh:description "Variables to be kept in the new dataset.";
                                      sh:name "KeepVariables";
                                      sh:or (signatureShapes:AllNumericVariablesExpression
                                             signatureShapes:AllTextVariablesExpression
                                             signatureShapes:AllVariablesExpression
                                             signatureShapes:CompositeVariableNameExpression
                                             signatureShapes:VariableListExpression
                                             signatureShapes:VariableRangeExpression
                                             signatureShapes:VariableSymbolExpression).
valueShapes:ReshapeWide.MakeItems a sh:NodeShape;
                                  sh:description "New variables created by this command.";
                                  sh:name "MakeItems";
                                  sh:or (signatureShapes:ReshapeItemDescription).
valueShapes:Save.FileFormat a sh:NodeShape;
                            sh:description "The name of a file format";
                            sh:name "FileFormat";
                            sh:node primitiveShapes:string;
                            sh:sparql constraintShapes:Query5CA407172E25E0827936ABA0BB672704BAF8A74D15C472C3D0AC90C9738D10E3.
valueShapes:Save.FileName a sh:NodeShape;
                          sh:description "The name of the file to be saved.";
                          sh:name "FileName";
                          sh:node primitiveShapes:string.
valueShapes:Save.IsCompressed a sh:NodeShape;
                              sh:description "Indicates whether the file format is compressed.";
                              sh:name "IsCompressed";
                              sh:node primitiveShapes:boolean.
valueShapes:Save.Software a sh:NodeShape;
                          sh:description "The software package that works with the file.";
                          sh:name "Software";
                          sh:node primitiveShapes:string.
valueShapes:SetDataType.DataType a sh:NodeShape;
                                 sh:description """General type of a variable,  e.g.  \"Text\" or \"Numeric\".""";
                                 sh:name "DataType";
                                 sh:node primitiveShapes:string;
                                 sh:sparql constraintShapes:Query0FB0978B5AC212945D23428A5C2B43BAA32ED82118641A93E7203FC04D8DE3A0.
valueShapes:SetDataType.SubType a sh:NodeShape;
                                sh:description "The name used in the associated schema.";
                                sh:name "SubType";
                                sh:node primitiveShapes:string.
valueShapes:SetDataType.SubTypeSchema a sh:NodeShape;
                                      sh:description "A vendor or standards body with a controlled vocabulary.  The value can be a URL.";
                                      sh:name "SubTypeSchema";
                                      sh:node primitiveShapes:string.
valueShapes:SetDataType.Variables a sh:NodeShape;
                                  sh:description "The variables that will have their type set";
                                  sh:name "Variables";
                                  sh:or (signatureShapes:AllNumericVariablesExpression
                                         signatureShapes:AllTextVariablesExpression
                                         signatureShapes:AllVariablesExpression
                                         signatureShapes:CompositeVariableNameExpression
                                         signatureShapes:VariableListExpression
                                         signatureShapes:VariableRangeExpression
                                         signatureShapes:VariableSymbolExpression).
valueShapes:SetDatasetProperty.PropertyName a sh:NodeShape;
                                            sh:description "The name of the property to be set (for example, 'Title' or 'Subtitle').";
                                            sh:name "PropertyName";
                                            sh:node primitiveShapes:string.
valueShapes:SetDatasetProperty.Value a sh:NodeShape;
                                     sh:description "The value of the property.";
                                     sh:name "Value";
                                     sh:node primitiveShapes:string.
valueShapes:SetDisplayFormat.DisplayFormatName a sh:NodeShape;
                                               sh:description "The name used in the associated schema.";
                                               sh:name "DisplayFormatName";
                                               sh:node primitiveShapes:string.
valueShapes:SetDisplayFormat.DisplayFormatSchema a sh:NodeShape;
                                                 sh:description "A vendor or standards body with a controlled vocabulary.  The value can be a URL.";
                                                 sh:name "DisplayFormatSchema";
                                                 sh:node primitiveShapes:string.
valueShapes:SetDisplayFormat.Variables a sh:NodeShape;
                                       sh:description "The variables that will have their format set";
                                       sh:name "Variables";
                                       sh:or (signatureShapes:AllNumericVariablesExpression
                                              signatureShapes:AllTextVariablesExpression
                                              signatureShapes:AllVariablesExpression
                                              signatureShapes:CompositeVariableNameExpression
                                              signatureShapes:VariableListExpression
                                              signatureShapes:VariableRangeExpression
                                              signatureShapes:VariableSymbolExpression).
valueShapes:SetMissingValues.Values a sh:NodeShape;
                                    sh:description "The values to be considered as missing values";
                                    sh:name "Values";
                                    sh:or (signatureShapes:AllNumericVariablesExpression
                                           signatureShapes:AllTextVariablesExpression
                                           signatureShapes:AllVariablesExpression
                                           signatureShapes:BooleanConstantExpression
                                           signatureShapes:CompositeVariableNameExpression
                                           signatureShapes:DateTimeConstant
                                           signatureShapes:FunctionCallExpression
                                           signatureShapes:GroupedExpression
                                           signatureShapes:IteratorSymbolExpression
                                           signatureShapes:MissingValueConstantExpression
                                           signatureShapes:NumberRangeExpression
                                           signatureShapes:NumericConstantExpression
                                           signatureShapes:NumericMaximumValueExpression
                                           signatureShapes:NumericMinimumValueExpression
                                           signatureShapes:StringConstantExpression
                                           signatureShapes:StringRangeExpression
                                           signatureShapes:TimeDurationConstant
                                           signatureShapes:UnhandledValuesExpression
                                           signatureShapes:ValueListExpression
                                           signatureShapes:VariableListExpression
                                           signatureShapes:VariableRangeExpression
                                           signatureShapes:VariableSymbolExpression).
valueShapes:SetMissingValues.Variables a sh:NodeShape;
                                       sh:description "The list of variables to which the missing values are assigned";
                                       sh:name "Variables";
                                       sh:or (signatureShapes:AllNumericVariablesExpression
                                              signatureShapes:AllTextVariablesExpression
                                              signatureShapes:AllVariablesExpression
                                              signatureShapes:CompositeVariableNameExpression
                                              signatureShapes:VariableListExpression
                                              signatureShapes:VariableRangeExpression
                                              signatureShapes:VariableSymbolExpression).
valueShapes:SetValueLabels.Labels a sh:NodeShape;
                                  sh:description "The label to be assigned to the variables";
                                  sh:name "Labels";
                                  sh:or (signatureShapes:ValueLabel).
valueShapes:SetValueLabels.Variables a sh:NodeShape;
                                     sh:description "The variables to which a label will be assigned";
                                     sh:name "Variables";
                                     sh:or (signatureShapes:AllNumericVariablesExpression
                                            signatureShapes:AllTextVariablesExpression
                                            signatureShapes:AllVariablesExpression
                                            signatureShapes:CompositeVariableNameExpression
                                            signatureShapes:VariableListExpression
                                            signatureShapes:VariableRangeExpression
                                            signatureShapes:VariableSymbolExpression).
valueShapes:SetVariableLabel.Label a sh:NodeShape;
                                   sh:description "The label to be assigned to the variable";
                                   sh:name "Label";
                                   sh:node primitiveShapes:string.
valueShapes:SetVariableLabel.Variable a sh:NodeShape;
                                      sh:description "The name of the variable to which a label will be assigned";
                                      sh:name "Variable";
                                      sh:or (signatureShapes:AllNumericVariablesExpression
                                             signatureShapes:AllTextVariablesExpression
                                             signatureShapes:AllVariablesExpression
                                             signatureShapes:CompositeVariableNameExpression
                                             signatureShapes:VariableListExpression
                                             signatureShapes:VariableRangeExpression
                                             signatureShapes:VariableSymbolExpression).
valueShapes:SortCases.SortCriteria a sh:NodeShape;
                                   sh:description "Describes how cases are sorted.";
                                   sh:name "SortCriteria";
                                   sh:or (signatureShapes:SortCriterion).
valueShapes:SortCriterion.SortDirection a sh:NodeShape;
                                        sh:description "The direction in which to sort.";
                                        sh:name "SortDirection";
                                        sh:node primitiveShapes:string;
                                        sh:sparql constraintShapes:QueryED0754F7BFF04700A556098B31CC2EB3578E0CC7F251559004DCB989D1A93A68.
valueShapes:SortCriterion.Variable a sh:NodeShape;
                                   sh:description "The variable used to sort.";
                                   sh:name "Variable";
                                   sh:or (signatureShapes:AllNumericVariablesExpression
                                          signatureShapes:AllTextVariablesExpression
                                          signatureShapes:AllVariablesExpression
                                          signatureShapes:CompositeVariableNameExpression
                                          signatureShapes:VariableListExpression
                                          signatureShapes:VariableRangeExpression
                                          signatureShapes:VariableSymbolExpression).
valueShapes:SourceInformation.LineNumberEnd a sh:NodeShape;
                                            sh:description "The line number of the end of the transform code";
                                            sh:name "LineNumberEnd";
                                            sh:node primitiveShapes:int.
valueShapes:SourceInformation.LineNumberStart a sh:NodeShape;
                                              sh:description "The line number of the beginning of the transform code";
                                              sh:name "LineNumberStart";
                                              sh:node primitiveShapes:int.
valueShapes:SourceInformation.OriginalSourceText a sh:NodeShape;
                                                 sh:description "The original source code of the data transform code";
                                                 sh:name "OriginalSourceText";
                                                 sh:node primitiveShapes:string.
valueShapes:SourceInformation.ProcessedSourceText a sh:NodeShape;
                                                  sh:description "The source code of the data transform code after processing macros or loops";
                                                  sh:name "ProcessedSourceText";
                                                  sh:node primitiveShapes:string.
valueShapes:SourceInformation.SourceStartIndex a sh:NodeShape;
                                               sh:description "The character index of the beginning of the transform code";
                                               sh:name "SourceStartIndex";
                                               sh:node primitiveShapes:int.
valueShapes:SourceInformation.SourceStopIndex a sh:NodeShape;
                                              sh:description "The character index of the end of the transform code";
                                              sh:name "SourceStopIndex";
                                              sh:node primitiveShapes:int.
valueShapes:StringConstantExpression.Value a sh:NodeShape;
                                           sh:description "A string";
                                           sh:name "Value";
                                           sh:node primitiveShapes:string.
valueShapes:StringRangeExpression.RangeEnd a sh:NodeShape;
                                           sh:description "Ending value for range";
                                           sh:name "RangeEnd";
                                           sh:node primitiveShapes:string.
valueShapes:StringRangeExpression.RangeStart a sh:NodeShape;
                                             sh:description "Starting value for range";
                                             sh:name "RangeStart";
                                             sh:node primitiveShapes:string.
valueShapes:TimeDurationConstant.TimeDurationValue a sh:NodeShape;
                                                   sh:description "A duration of time in ISO 8601 format";
                                                   sh:name "TimeDurationValue";
                                                   sh:node primitiveShapes:duration.
valueShapes:TransformBase.ConsumesDataframe a sh:NodeShape;
                                            sh:description "Signify the dataframe which this transform acts upon.";
                                            sh:name "ConsumesDataframe";
                                            sh:or (signatureShapes:DataframeDescription).
valueShapes:TransformBase.ProducesDataframe a sh:NodeShape;
                                            sh:description "Signify the dataframe which this transform produces.";
                                            sh:name "ProducesDataframe";
                                            sh:or (signatureShapes:DataframeDescription).
valueShapes:ValueLabel.Label a sh:NodeShape;
                             sh:description "The label to be assigned to the value";
                             sh:name "Label";
                             sh:node primitiveShapes:string.
valueShapes:ValueLabel.Value a sh:NodeShape;
                             sh:description "The value to which a label is assigned";
                             sh:name "Value";
                             sh:node primitiveShapes:string.
valueShapes:ValueListExpression.Values a sh:NodeShape;
                                       sh:description "The list of expressions.";
                                       sh:name "Values";
                                       sh:or (signatureShapes:AllNumericVariablesExpression
                                              signatureShapes:AllTextVariablesExpression
                                              signatureShapes:AllVariablesExpression
                                              signatureShapes:BooleanConstantExpression
                                              signatureShapes:CompositeVariableNameExpression
                                              signatureShapes:DateTimeConstant
                                              signatureShapes:FunctionCallExpression
                                              signatureShapes:GroupedExpression
                                              signatureShapes:IteratorSymbolExpression
                                              signatureShapes:MissingValueConstantExpression
                                              signatureShapes:NumberRangeExpression
                                              signatureShapes:NumericConstantExpression
                                              signatureShapes:NumericMaximumValueExpression
                                              signatureShapes:NumericMinimumValueExpression
                                              signatureShapes:StringConstantExpression
                                              signatureShapes:StringRangeExpression
                                              signatureShapes:TimeDurationConstant
                                              signatureShapes:UnhandledValuesExpression
                                              signatureShapes:ValueListExpression
                                              signatureShapes:VariableListExpression
                                              signatureShapes:VariableRangeExpression
                                              signatureShapes:VariableSymbolExpression).
valueShapes:VariableListExpression.Variables a sh:NodeShape;
                                             sh:description "An array of variables and/or variable ranges";
                                             sh:name "Variables";
                                             sh:or (signatureShapes:AllNumericVariablesExpression
                                                    signatureShapes:AllTextVariablesExpression
                                                    signatureShapes:AllVariablesExpression
                                                    signatureShapes:CompositeVariableNameExpression
                                                    signatureShapes:VariableListExpression
                                                    signatureShapes:VariableRangeExpression
                                                    signatureShapes:VariableSymbolExpression).
valueShapes:VariableRangeExpression.First a sh:NodeShape;
                                          sh:description "Lowest variable name in range";
                                          sh:name "First";
                                          sh:node primitiveShapes:string.
valueShapes:VariableRangeExpression.Last a sh:NodeShape;
                                         sh:description "Highest variable name in range";
                                         sh:name "Last";
                                         sh:node primitiveShapes:string.
valueShapes:VariableSymbolExpression.VariableName a sh:NodeShape;
                                                  sh:description "The name of a variable";
                                                  sh:name "VariableName";
                                                  sh:node primitiveShapes:string.
valueShapes:Weight.WeightType a sh:NodeShape;
                              sh:description "Type of weight to use";
                              sh:name "WeightType";
                              sh:node primitiveShapes:string;
                              sh:sparql constraintShapes:Query41E93E1AE695FAEB7CEE8C3989FD92144D3A286F2BC60613A29E4065A70672A9.
valueShapes:Weight.WeightVariable a sh:NodeShape;
                                  sh:description "The variable used as a weight in the operation.";
                                  sh:name "WeightVariable";
                                  sh:or (signatureShapes:AllNumericVariablesExpression
                                         signatureShapes:AllTextVariablesExpression
                                         signatureShapes:AllVariablesExpression
                                         signatureShapes:BooleanConstantExpression
                                         signatureShapes:CompositeVariableNameExpression
                                         signatureShapes:DateTimeConstant
                                         signatureShapes:FunctionCallExpression
                                         signatureShapes:GroupedExpression
                                         signatureShapes:IteratorSymbolExpression
                                         signatureShapes:MissingValueConstantExpression
                                         signatureShapes:NumberRangeExpression
                                         signatureShapes:NumericConstantExpression
                                         signatureShapes:NumericMaximumValueExpression
                                         signatureShapes:NumericMinimumValueExpression
                                         signatureShapes:StringConstantExpression
                                         signatureShapes:StringRangeExpression
                                         signatureShapes:TimeDurationConstant
                                         signatureShapes:UnhandledValuesExpression
                                         signatureShapes:ValueListExpression
                                         signatureShapes:VariableListExpression
                                         signatureShapes:VariableRangeExpression
                                         signatureShapes:VariableSymbolExpression).
