{
   "$defs": {
      "Activity": {
         "additionalProperties": false,
         "description": "a provence-generating activity",
         "properties": {
            "description": {
               "type": "string"
            },
            "ended_at_time": {
               "format": "date",
               "type": "string"
            },
            "id": {
               "type": "string"
            },
            "started_at_time": {
               "format": "date",
               "type": "string"
            },
            "used": {
               "type": "string"
            },
            "was_associated_with": {
               "type": "string"
            },
            "was_informed_by": {
               "type": "string"
            }
         },
         "required": [
            "id"
         ],
         "title": "Activity",
         "type": "object"
      },
      "Address": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "city": {
               "type": "string"
            },
            "street": {
               "type": "string"
            }
         },
         "required": [],
         "title": "Address",
         "type": "object"
      },
      "Agent": {
         "additionalProperties": false,
         "description": "a provence-generating agent",
         "properties": {
            "acted_on_behalf_of": {
               "type": "string"
            },
            "id": {
               "type": "string"
            },
            "was_informed_by": {
               "type": "string"
            }
         },
         "required": [
            "id"
         ],
         "title": "Agent",
         "type": "object"
      },
      "BirthEvent": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "ended_at_time": {
               "format": "date",
               "type": "string"
            },
            "in_location": {
               "type": "string"
            },
            "is_current": {
               "type": "boolean"
            },
            "started_at_time": {
               "format": "date",
               "type": "string"
            }
         },
         "required": [],
         "title": "BirthEvent",
         "type": "object"
      },
      "ClassWithSpaces": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "slot_with_space_1": {
               "type": "string"
            }
         },
         "required": [],
         "title": "ClassWithSpaces",
         "type": "object"
      },
      "CodeSystem": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "id": {
               "type": "string"
            },
            "name": {
               "type": "string"
            }
         },
         "required": [
            "id"
         ],
         "title": "CodeSystem",
         "type": "object"
      },
      "CodeSystem__identifier_optional": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "id": {
               "type": "string"
            },
            "name": {
               "type": "string"
            }
         },
         "required": [],
         "title": "CodeSystem",
         "type": "object"
      },
      "Company": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "aliases": {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            "ceo": {
               "type": "string"
            },
            "id": {
               "type": "string"
            },
            "name": {
               "type": "string"
            }
         },
         "required": [
            "id"
         ],
         "title": "Company",
         "type": "object"
      },
      "Concept": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "id": {
               "type": "string"
            },
            "in_code_system": {
               "type": "string"
            },
            "name": {
               "type": "string"
            }
         },
         "required": [
            "id"
         ],
         "title": "Concept",
         "type": "object"
      },
      "Dataset": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "activities": {
               "items": {
                  "$ref": "#/$defs/Activity"
               },
               "type": "array"
            },
            "code_systems": {
               "additionalProperties": {
                  "$ref": "#/$defs/CodeSystem__identifier_optional"
               }
            },
            "companies": {
               "items": {
                  "$ref": "#/$defs/Company"
               },
               "type": "array"
            },
            "persons": {
               "items": {
                  "$ref": "#/$defs/Person"
               },
               "type": "array"
            }
         },
         "required": [],
         "title": "Dataset",
         "type": "object"
      },
      "DiagnosisConcept": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "id": {
               "type": "string"
            },
            "in_code_system": {
               "type": "string"
            },
            "name": {
               "type": "string"
            }
         },
         "required": [
            "id"
         ],
         "title": "DiagnosisConcept",
         "type": "object"
      },
      "DiagnosisType": {
         "description": "",
         "enum": [
            "TODO"
         ],
         "title": "DiagnosisType",
         "type": "string"
      },
      "EmploymentEvent": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "employed_at": {
               "type": "string"
            },
            "ended_at_time": {
               "format": "date",
               "type": "string"
            },
            "is_current": {
               "type": "boolean"
            },
            "started_at_time": {
               "format": "date",
               "type": "string"
            },
            "type": {
               "$ref": "#/$defs/EmploymentEventType"
            }
         },
         "required": [],
         "title": "EmploymentEvent",
         "type": "object"
      },
      "EmploymentEventType": {
         "description": "codes for different kinds of employment/HR related events",
         "enum": [
            "HIRE",
            "FIRE",
            "PROMOTION",
            "TRANSFER"
         ],
         "title": "EmploymentEventType",
         "type": "string"
      },
      "Event": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "ended_at_time": {
               "format": "date",
               "type": "string"
            },
            "is_current": {
               "type": "boolean"
            },
            "started_at_time": {
               "format": "date",
               "type": "string"
            }
         },
         "required": [],
         "title": "Event",
         "type": "object"
      },
      "FakeClass": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "test_attribute": {
               "type": "string"
            }
         },
         "required": [],
         "title": "FakeClass",
         "type": "object"
      },
      "FamilialRelationship": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "ended_at_time": {
               "format": "date",
               "type": "string"
            },
            "related_to": {
               "type": "string"
            },
            "started_at_time": {
               "format": "date",
               "type": "string"
            },
            "type": {
               "$ref": "#/$defs/FamilialRelationshipType"
            }
         },
         "required": [
            "type",
            "related_to"
         ],
         "title": "FamilialRelationship",
         "type": "object"
      },
      "FamilialRelationshipType": {
         "description": "",
         "enum": [
            "SIBLING_OF",
            "PARENT_OF",
            "CHILD_OF"
         ],
         "title": "FamilialRelationshipType",
         "type": "string"
      },
      "MarriageEvent": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "ended_at_time": {
               "format": "date",
               "type": "string"
            },
            "in_location": {
               "type": "string"
            },
            "is_current": {
               "type": "boolean"
            },
            "married_to": {
               "type": "string"
            },
            "started_at_time": {
               "format": "date",
               "type": "string"
            }
         },
         "required": [],
         "title": "MarriageEvent",
         "type": "object"
      },
      "MedicalEvent": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "diagnosis": {
               "$ref": "#/$defs/DiagnosisConcept"
            },
            "ended_at_time": {
               "format": "date",
               "type": "string"
            },
            "in_location": {
               "type": "string"
            },
            "is_current": {
               "type": "boolean"
            },
            "procedure": {
               "$ref": "#/$defs/ProcedureConcept"
            },
            "started_at_time": {
               "format": "date",
               "type": "string"
            }
         },
         "required": [],
         "title": "MedicalEvent",
         "type": "object"
      },
      "Organization": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "aliases": {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            "id": {
               "type": "string"
            },
            "name": {
               "type": "string"
            }
         },
         "required": [
            "id"
         ],
         "title": "Organization",
         "type": "object"
      },
      "OtherCodes": {
         "description": "",
         "enum": [
            "a b"
         ],
         "title": "OtherCodes",
         "type": "string"
      },
      "Person": {
         "additionalProperties": false,
         "description": "A person, living or dead",
         "properties": {
            "addresses": {
               "items": {
                  "$ref": "#/$defs/Address"
               },
               "type": "array"
            },
            "age_in_years": {
               "description": "number of years since birth",
               "maximum": 999,
               "minimum": 0,
               "type": "integer"
            },
            "aliases": {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            "has_birth_event": {
               "$ref": "#/$defs/BirthEvent"
            },
            "has_employment_history": {
               "items": {
                  "$ref": "#/$defs/EmploymentEvent"
               },
               "type": "array"
            },
            "has_familial_relationships": {
               "items": {
                  "$ref": "#/$defs/FamilialRelationship"
               },
               "type": "array"
            },
            "has_medical_history": {
               "items": {
                  "$ref": "#/$defs/MedicalEvent"
               },
               "type": "array"
            },
            "id": {
               "type": "string"
            },
            "name": {
               "pattern": "^\\S+ \\S+",
               "type": "string"
            }
         },
         "required": [
            "id"
         ],
         "title": "Person",
         "type": "object"
      },
      "Place": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "aliases": {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            "id": {
               "type": "string"
            },
            "name": {
               "type": "string"
            }
         },
         "required": [
            "id"
         ],
         "title": "Place",
         "type": "object"
      },
      "ProcedureConcept": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "id": {
               "type": "string"
            },
            "in_code_system": {
               "type": "string"
            },
            "name": {
               "type": "string"
            }
         },
         "required": [
            "id"
         ],
         "title": "ProcedureConcept",
         "type": "object"
      },
      "Relationship": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "ended_at_time": {
               "format": "date",
               "type": "string"
            },
            "related_to": {
               "type": "string"
            },
            "started_at_time": {
               "format": "date",
               "type": "string"
            },
            "type": {
               "type": "string"
            }
         },
         "required": [],
         "title": "Relationship",
         "type": "object"
      },
      "SubclassTest": {
         "additionalProperties": false,
         "description": "",
         "properties": {
            "slot_with_space_1": {
               "type": "string"
            },
            "slot_with_space_2": {
               "$ref": "#/$defs/ClassWithSpaces"
            }
         },
         "required": [],
         "title": "SubclassTest",
         "type": "object"
      }
   },
   "$id": "https://w3id.org/linkml/tests/kitchen_sink",
   "$schema": "http://json-schema.org/draft-07/schema#",
   "additionalProperties": true,
   "properties": {},
   "required": [],
   "title": "kitchen_sink",
   "type": "object"
}
