{
   "type": "Schema",
   "@context": [
      "http://www.w3.org/ns/shex.jsonld",
      {
         "@base": "https://w3id.org/linkml/"
      }
   ],
   "shapes": [
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/String",
         "datatype": "http://www.w3.org/2001/XMLSchema#string"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Integer",
         "datatype": "http://www.w3.org/2001/XMLSchema#integer"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Boolean",
         "datatype": "http://www.w3.org/2001/XMLSchema#boolean"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Float",
         "datatype": "http://www.w3.org/2001/XMLSchema#float"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Double",
         "datatype": "http://www.w3.org/2001/XMLSchema#double"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Decimal",
         "datatype": "http://www.w3.org/2001/XMLSchema#decimal"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Time",
         "datatype": "http://www.w3.org/2001/XMLSchema#dateTime"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Date",
         "datatype": "http://www.w3.org/2001/XMLSchema#date"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Datetime",
         "datatype": "http://www.w3.org/2001/XMLSchema#dateTime"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Uriorcurie",
         "nodeKind": "iri"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Uri",
         "nodeKind": "iri"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Ncname",
         "datatype": "http://www.w3.org/2001/XMLSchema#string"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Objectidentifier",
         "nodeKind": "iri"
      },
      {
         "type": "NodeConstraint",
         "id": "https://w3id.org/linkml/Nodeidentifier",
         "nodeKind": "nonliteral"
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/AltDescription",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/AltDescription_tes",
                  "expressions": [
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/source",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 1,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/description",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 1,
                        "max": 1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/AltDescription"
                     ]
                  },
                  "min": 1
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/Annotatable",
         "closed": false,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "TripleConstraint",
                  "id": "https://w3id.org/linkml/Annotatable_tes",
                  "predicate": "https://w3id.org/linkml/annotations",
                  "valueExpr": "https://w3id.org/linkml/Annotation",
                  "min": 0,
                  "max": -1
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/Annotatable"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/Annotation",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/Annotation_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Extension_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Extension"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/Annotatable_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Annotatable"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/annotations",
                        "valueExpr": "https://w3id.org/linkml/Annotation",
                        "min": 0,
                        "max": -1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/Annotation"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/AnonymousClassExpression",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/AnonymousClassExpression_tes",
                  "expressions": [
                     "https://w3id.org/linkml/AnonymousExpression_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/AnonymousExpression"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/ClassExpression_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/ClassExpression"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/any_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/exactly_one_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/none_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/all_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/slot_conditions",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/AnonymousClassExpression"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "ShapeOr",
         "id": "https://w3id.org/linkml/AnonymousExpression",
         "shapeExprs": [
            "https://w3id.org/linkml/AnonymousClassExpression",
            "https://w3id.org/linkml/AnonymousSlotExpression"
         ]
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/AnonymousExpression_struct",
         "closed": false,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/AnonymousExpression_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Expression_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Expression"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/Extensible_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Extensible"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/Annotatable_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Annotatable"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/CommonMetadata_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/CommonMetadata"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/extensions",
                        "valueExpr": "https://w3id.org/linkml/Extension",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/annotations",
                        "valueExpr": "https://w3id.org/linkml/Annotation",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#definition",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/alt_descriptions",
                        "valueExpr": "https://w3id.org/linkml/AltDescription",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/dc/terms/title",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/todos",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#editorialNote",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#note",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/examples",
                        "valueExpr": "https://w3id.org/linkml/Example",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.geneontology.org/formats/oboInOwl#inSubset",
                        "valueExpr": "https://w3id.org/linkml/SubsetDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#inScheme",
                        "valueExpr": "https://w3id.org/linkml/Uri",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/imported_from",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2000/01/rdf-schema#seeAlso",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated_element_has_exact_replacement",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated_element_has_possible_replacement",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/AnonymousExpression"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/AnonymousSlotExpression",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/AnonymousSlotExpression_tes",
                  "expressions": [
                     "https://w3id.org/linkml/AnonymousExpression_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/AnonymousExpression"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/SlotExpression_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/SlotExpression"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/range",
                        "valueExpr": "https://w3id.org/linkml/Element",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/range_expression",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/required",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/recommended",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/minimum_value",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/maximum_value",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/pattern",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_string",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_string_in",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_number",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_expression",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/minimum_cardinality",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/maximum_cardinality",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/has_member",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/all_members",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/none_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/exactly_one_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/any_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/all_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": -1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/AnonymousSlotExpression"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/AnonymousTypeExpression",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/AnonymousTypeExpression_tes",
                  "expressions": [
                     "https://w3id.org/linkml/TypeExpression_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/TypeExpression"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/pattern",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_string",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_string_in",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_number",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/none_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousTypeExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/exactly_one_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousTypeExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/any_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousTypeExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/all_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousTypeExpression",
                        "min": 0,
                        "max": -1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/AnonymousTypeExpression"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/ClassDefinition",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/ClassDefinition_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Definition_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Definition"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/ClassExpression_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/ClassExpression"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/slots",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/slot_usage",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/attributes",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/class_uri",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2000/01/rdf-schema#subClassOf",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/union_of",
                        "valueExpr": "https://w3id.org/linkml/ClassDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/defining_slots",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/tree_root",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/unique_keys",
                        "valueExpr": "https://w3id.org/linkml/UniqueKey",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/shacl/rule",
                        "valueExpr": "https://w3id.org/linkml/ClassRule",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/classification_rules",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/mixins",
                        "valueExpr": "https://w3id.org/linkml/ClassDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/apply_to",
                        "valueExpr": "https://w3id.org/linkml/ClassDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/any_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/exactly_one_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/none_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/all_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/slot_conditions",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/ClassDefinition"
                     ]
                  },
                  "min": 1
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/ClassExpression",
         "closed": false,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/ClassExpression_tes",
                  "expressions": [
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/any_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/exactly_one_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/none_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/all_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/slot_conditions",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/ClassExpression"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "ShapeOr",
         "id": "https://w3id.org/linkml/ClassLevelRule",
         "shapeExprs": [
            {
               "type": "Shape",
               "closed": false,
               "expression": {
                  "type": "EachOf",
                  "expressions": [
                     {
                        "type": "TripleConstraint",
                        "id": "https://w3id.org/linkml/ClassLevelRule_tes",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/ClassLevelRule"
                           ]
                        },
                        "min": 0
                     }
                  ]
               }
            },
            "https://w3id.org/linkml/ClassRule"
         ]
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/ClassRule",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/ClassRule_tes",
                  "expressions": [
                     "https://w3id.org/linkml/ClassLevelRule_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/ClassLevelRule"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/Extensible_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Extensible"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/Annotatable_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Annotatable"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/CommonMetadata_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/CommonMetadata"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/shacl/condition",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/postconditions",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/elseconditions",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/bidirectional",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/open_world",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/shacl/order",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/shacl/deactivated",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/extensions",
                        "valueExpr": "https://w3id.org/linkml/Extension",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/annotations",
                        "valueExpr": "https://w3id.org/linkml/Annotation",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#definition",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/alt_descriptions",
                        "valueExpr": "https://w3id.org/linkml/AltDescription",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/dc/terms/title",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/todos",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#editorialNote",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#note",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/examples",
                        "valueExpr": "https://w3id.org/linkml/Example",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.geneontology.org/formats/oboInOwl#inSubset",
                        "valueExpr": "https://w3id.org/linkml/SubsetDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#inScheme",
                        "valueExpr": "https://w3id.org/linkml/Uri",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/imported_from",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2000/01/rdf-schema#seeAlso",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated_element_has_exact_replacement",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated_element_has_possible_replacement",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/ClassRule"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/CommonMetadata",
         "closed": false,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/CommonMetadata_tes",
                  "expressions": [
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#definition",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/alt_descriptions",
                        "valueExpr": "https://w3id.org/linkml/AltDescription",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/dc/terms/title",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/todos",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#editorialNote",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#note",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/examples",
                        "valueExpr": "https://w3id.org/linkml/Example",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.geneontology.org/formats/oboInOwl#inSubset",
                        "valueExpr": "https://w3id.org/linkml/SubsetDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#inScheme",
                        "valueExpr": "https://w3id.org/linkml/Uri",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/imported_from",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2000/01/rdf-schema#seeAlso",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated_element_has_exact_replacement",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated_element_has_possible_replacement",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/CommonMetadata"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "ShapeOr",
         "id": "https://w3id.org/linkml/Definition",
         "shapeExprs": [
            "https://w3id.org/linkml/ClassDefinition",
            "https://w3id.org/linkml/SlotDefinition"
         ]
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/Definition_struct",
         "closed": false,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/Definition_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Element_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Element"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/abstract",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/mixin",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/mixins",
                        "valueExpr": "https://w3id.org/linkml/Definition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/apply_to",
                        "valueExpr": "https://w3id.org/linkml/Definition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/values_from",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/pav/createdBy",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/pav/createdOn",
                        "valueExpr": "https://w3id.org/linkml/Datetime",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/pav/lastUpdatedOn",
                        "valueExpr": "https://w3id.org/linkml/Datetime",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://open-services.net/ns/core#modifiedBy",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/ontology/bibo/status",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/string_serialization",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/Definition"
                     ]
                  },
                  "min": 1
               }
            ]
         }
      },
      {
         "type": "ShapeOr",
         "id": "https://w3id.org/linkml/Element",
         "shapeExprs": [
            "https://w3id.org/linkml/Definition",
            "https://w3id.org/linkml/EnumDefinition",
            "https://w3id.org/linkml/SchemaDefinition",
            "https://w3id.org/linkml/SubsetDefinition",
            "https://w3id.org/linkml/TypeDefinition"
         ]
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/Element_struct",
         "closed": false,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/Element_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Extensible_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Extensible"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/Annotatable_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Annotatable"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/CommonMetadata_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/CommonMetadata"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/id_prefixes",
                        "valueExpr": "https://w3id.org/linkml/Ncname",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/definition_uri",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#altLabel",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/local_names",
                        "valueExpr": "https://w3id.org/linkml/LocalName",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/dc/terms/conformsTo",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#mappingRelation",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#exactMatch",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#closeMatch",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#relatedMatch",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#narrowMatch",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#broadMatch",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/extensions",
                        "valueExpr": "https://w3id.org/linkml/Extension",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/annotations",
                        "valueExpr": "https://w3id.org/linkml/Annotation",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#definition",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/alt_descriptions",
                        "valueExpr": "https://w3id.org/linkml/AltDescription",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/dc/terms/title",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/todos",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#editorialNote",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#note",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/examples",
                        "valueExpr": "https://w3id.org/linkml/Example",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.geneontology.org/formats/oboInOwl#inSubset",
                        "valueExpr": "https://w3id.org/linkml/SubsetDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#inScheme",
                        "valueExpr": "https://w3id.org/linkml/Uri",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/imported_from",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2000/01/rdf-schema#seeAlso",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated_element_has_exact_replacement",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated_element_has_possible_replacement",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/Element"
                     ]
                  },
                  "min": 1
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/EnumDefinition",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/EnumDefinition_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Element_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Element"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/code_set",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/code_set_tag",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/code_set_version",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/pv_formula",
                        "valueExpr": "https://w3id.org/linkml/PvFormulaOptions",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/permissible_values",
                        "valueExpr": "https://w3id.org/linkml/PermissibleValue",
                        "min": 0,
                        "max": -1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/EnumDefinition"
                     ]
                  },
                  "min": 1
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/Example",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/Example_tes",
                  "expressions": [
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#example",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/description",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/Example"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "ShapeOr",
         "id": "https://w3id.org/linkml/Expression",
         "shapeExprs": [
            "https://w3id.org/linkml/SlotExpression",
            "https://w3id.org/linkml/TypeExpression"
         ]
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/Expression_struct",
         "closed": false,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "TripleConstraint",
                  "id": "https://w3id.org/linkml/Expression_tes",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "min": 0,
                  "max": -1
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/Expression"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/Extensible",
         "closed": false,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "TripleConstraint",
                  "id": "https://w3id.org/linkml/Extensible_tes",
                  "predicate": "https://w3id.org/linkml/extensions",
                  "valueExpr": "https://w3id.org/linkml/Extension",
                  "min": 0,
                  "max": -1
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/Extensible"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "ShapeOr",
         "id": "https://w3id.org/linkml/Extension",
         "shapeExprs": [
            {
               "type": "Shape",
               "closed": true,
               "expression": {
                  "type": "EachOf",
                  "expressions": [
                     {
                        "type": "EachOf",
                        "id": "https://w3id.org/linkml/Extension_tes",
                        "expressions": [
                           {
                              "type": "TripleConstraint",
                              "predicate": "https://w3id.org/linkml/tag",
                              "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                              "min": 1,
                              "max": 1
                           },
                           {
                              "type": "TripleConstraint",
                              "predicate": "https://w3id.org/linkml/value",
                              "valueExpr": "https://w3id.org/linkml/String",
                              "min": 1,
                              "max": 1
                           },
                           {
                              "type": "TripleConstraint",
                              "predicate": "https://w3id.org/linkml/extensions",
                              "valueExpr": "https://w3id.org/linkml/Extension",
                              "min": 0,
                              "max": -1
                           }
                        ]
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Extension"
                           ]
                        },
                        "min": 0
                     }
                  ]
               }
            },
            "https://w3id.org/linkml/Annotation"
         ]
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/LocalName",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/LocalName_tes",
                  "expressions": [
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/local_name_source",
                        "valueExpr": "https://w3id.org/linkml/Ncname",
                        "min": 1,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#altLabel",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 1,
                        "max": 1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/LocalName"
                     ]
                  },
                  "min": 1
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/PermissibleValue",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/PermissibleValue_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Extensible_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Extensible"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/Annotatable_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Annotatable"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/CommonMetadata_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/CommonMetadata"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#definition",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/meaning",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/mixins",
                        "valueExpr": "https://w3id.org/linkml/PermissibleValue",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/extensions",
                        "valueExpr": "https://w3id.org/linkml/Extension",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/annotations",
                        "valueExpr": "https://w3id.org/linkml/Annotation",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/alt_descriptions",
                        "valueExpr": "https://w3id.org/linkml/AltDescription",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/dc/terms/title",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/todos",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#editorialNote",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#note",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/examples",
                        "valueExpr": "https://w3id.org/linkml/Example",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.geneontology.org/formats/oboInOwl#inSubset",
                        "valueExpr": "https://w3id.org/linkml/SubsetDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#inScheme",
                        "valueExpr": "https://w3id.org/linkml/Uri",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/imported_from",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2000/01/rdf-schema#seeAlso",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated_element_has_exact_replacement",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated_element_has_possible_replacement",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/PermissibleValue"
                     ]
                  },
                  "min": 1
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/Prefix",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/Prefix_tes",
                  "expressions": [
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/prefix_prefix",
                        "valueExpr": "https://w3id.org/linkml/Ncname",
                        "min": 1,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/prefix_reference",
                        "valueExpr": "https://w3id.org/linkml/Uri",
                        "min": 1,
                        "max": 1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/Prefix"
                     ]
                  },
                  "min": 1
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/SchemaDefinition",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/SchemaDefinition_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Element_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Element"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/id",
                        "valueExpr": "https://w3id.org/linkml/Uri",
                        "min": 1,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/pav/version",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/imports",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/dc/terms/license",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/prefixes",
                        "valueExpr": "https://w3id.org/linkml/Prefix",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/emit_prefixes",
                        "valueExpr": "https://w3id.org/linkml/Ncname",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/default_curi_maps",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/default_prefix",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/default_range",
                        "valueExpr": "https://w3id.org/linkml/TypeDefinition",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/subsets",
                        "valueExpr": "https://w3id.org/linkml/SubsetDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/types",
                        "valueExpr": "https://w3id.org/linkml/TypeDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/enums",
                        "valueExpr": "https://w3id.org/linkml/EnumDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/slots",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/classes",
                        "valueExpr": "https://w3id.org/linkml/ClassDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/metamodel_version",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/source_file",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/source_file_date",
                        "valueExpr": "https://w3id.org/linkml/Datetime",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/source_file_size",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/generation_date",
                        "valueExpr": "https://w3id.org/linkml/Datetime",
                        "min": 0,
                        "max": 1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/SchemaDefinition"
                     ]
                  },
                  "min": 1
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/SlotDefinition",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/SlotDefinition_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Definition_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Definition"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/SlotExpression_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/SlotExpression"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#altLabel",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/domain",
                        "valueExpr": "https://w3id.org/linkml/ClassDefinition",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/slot_uri",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/multivalued",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/inherited",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/readonly",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/ifabsent",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/inlined",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/inlined_as_list",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/key",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/identifier",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/designates_type",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#prefLabel",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/owner",
                        "valueExpr": "https://w3id.org/linkml/Definition",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/domain_of",
                        "valueExpr": "https://w3id.org/linkml/ClassDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2000/01/rdf-schema#subPropertyOf",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/symmetric",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2002/07/owl#inverseOf",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/is_class_field",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/role",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/is_usage_slot",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/usage_slot_name",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/mixins",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/apply_to",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/range",
                        "valueExpr": "https://w3id.org/linkml/Element",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/range_expression",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/required",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/recommended",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/minimum_value",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/maximum_value",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/pattern",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_string",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_string_in",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_number",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_expression",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/minimum_cardinality",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/maximum_cardinality",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/has_member",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/all_members",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/none_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/exactly_one_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/any_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/all_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": -1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/SlotDefinition"
                     ]
                  },
                  "min": 1
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/SlotExpression",
         "closed": false,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/SlotExpression_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Expression_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Expression"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/range",
                        "valueExpr": "https://w3id.org/linkml/Element",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/range_expression",
                        "valueExpr": "https://w3id.org/linkml/AnonymousClassExpression",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/required",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/recommended",
                        "valueExpr": "https://w3id.org/linkml/Boolean",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/minimum_value",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/maximum_value",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/pattern",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_string",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_string_in",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_number",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_expression",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/minimum_cardinality",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/maximum_cardinality",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/has_member",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/all_members",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/none_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/exactly_one_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/any_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/all_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousSlotExpression",
                        "min": 0,
                        "max": -1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/SlotExpression"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/SubsetDefinition",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/SubsetDefinition_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Element_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Element"
                           ]
                        },
                        "min": 0
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/SubsetDefinition"
                     ]
                  },
                  "min": 1
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/TypeDefinition",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/TypeDefinition_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Element_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Element"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/TypeExpression_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/TypeExpression"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/typeof",
                        "valueExpr": "https://w3id.org/linkml/TypeDefinition",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/base",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/uri",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/repr",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/pattern",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_string",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_string_in",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_number",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/none_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousTypeExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/exactly_one_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousTypeExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/any_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousTypeExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/all_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousTypeExpression",
                        "min": 0,
                        "max": -1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/TypeDefinition"
                     ]
                  },
                  "min": 1
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/TypeExpression",
         "closed": false,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/TypeExpression_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Expression_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Expression"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/pattern",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_string",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_string_in",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/equals_number",
                        "valueExpr": "https://w3id.org/linkml/Integer",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/none_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousTypeExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/exactly_one_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousTypeExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/any_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousTypeExpression",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/all_of",
                        "valueExpr": "https://w3id.org/linkml/AnonymousTypeExpression",
                        "min": 0,
                        "max": -1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/TypeExpression"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      },
      {
         "type": "Shape",
         "id": "https://w3id.org/linkml/UniqueKey",
         "closed": true,
         "expression": {
            "type": "EachOf",
            "expressions": [
               {
                  "type": "EachOf",
                  "id": "https://w3id.org/linkml/UniqueKey_tes",
                  "expressions": [
                     "https://w3id.org/linkml/Extensible_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Extensible"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/Annotatable_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/Annotatable"
                           ]
                        },
                        "min": 0
                     },
                     "https://w3id.org/linkml/CommonMetadata_tes",
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                        "valueExpr": {
                           "type": "NodeConstraint",
                           "values": [
                              "https://w3id.org/linkml/CommonMetadata"
                           ]
                        },
                        "min": 0
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/unique_key_slots",
                        "valueExpr": "https://w3id.org/linkml/SlotDefinition",
                        "min": 1,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/extensions",
                        "valueExpr": "https://w3id.org/linkml/Extension",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/annotations",
                        "valueExpr": "https://w3id.org/linkml/Annotation",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#definition",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/alt_descriptions",
                        "valueExpr": "https://w3id.org/linkml/AltDescription",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://purl.org/dc/terms/title",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/todos",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#editorialNote",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#note",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/examples",
                        "valueExpr": "https://w3id.org/linkml/Example",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.geneontology.org/formats/oboInOwl#inSubset",
                        "valueExpr": "https://w3id.org/linkml/SubsetDefinition",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2004/02/skos/core#inScheme",
                        "valueExpr": "https://w3id.org/linkml/Uri",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/imported_from",
                        "valueExpr": "https://w3id.org/linkml/String",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "http://www.w3.org/2000/01/rdf-schema#seeAlso",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": -1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated_element_has_exact_replacement",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     },
                     {
                        "type": "TripleConstraint",
                        "predicate": "https://w3id.org/linkml/deprecated_element_has_possible_replacement",
                        "valueExpr": "https://w3id.org/linkml/Uriorcurie",
                        "min": 0,
                        "max": 1
                     }
                  ]
               },
               {
                  "type": "TripleConstraint",
                  "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
                  "valueExpr": {
                     "type": "NodeConstraint",
                     "values": [
                        "https://w3id.org/linkml/UniqueKey"
                     ]
                  },
                  "min": 0
               }
            ]
         }
      }
   ]
}
