- description: name fails regex
  skip: false
  dataset:
    persons:
      - id: P:001
        name: prince ## our schema is deliberately ultra-restrictive
- description: missing ID
  skip: false
  dataset:
    persons:
      - name: prince charming
- description: wrong datatype for age
  skip: false
  dataset:
    persons:
      - id: P
        name: prince charming
        age: "33"
- description: wrong datatype for name
  skip: false
  dataset:
    companies:
      - id: ROR:1
        name: 5
- description: missing required type field
  skip: false
  dataset:
    persons:
      - id: P:001
        name: jane smith
        has_familial_relationships:
          - related_to: P:002
- description: wrong enum
  skip: true ## https://github.com/linkml/linkml/issues/201
  dataset:
    persons:
      - id: P:001
        name: jane smith
        has_familial_relationships:
          - related_to: P:002
            type: NON_EXISTENT_RELATION
- description: age lower than threshold
  skip: false
  dataset:
    persons:
      - id: P
        name: benjamin button
        age_in_years: -5
- description: age higher than threshold
  skip: false
  dataset:
    persons:
      - id: P
        name: dr who
        age_in_years: 5000
- description: additional properties is closed
  skip: false
  dataset:
    persons:
      - id: P
        name: john smith
        made_up_property: "abc"
- description: optional open properties
  skip: true
  valid: true
  closed: false
  dataset:
    persons:
      - id: P
        name: john smith
        made_up_property: "abc"
- description: additional properties is closed on enclosing object
  skip: false
  issue: https://github.com/linkml/linkml/issues/106
  dataset:
    persons:
      - id: P
        name: john smith
    made_up_property: "abc"
- description: non-multivalued address
  skip: false
  dataset:
    persons:
      - id: P
        name: john smith
        addresses:
          street: 1 foo street
          city: foo city
- description: valid cardinality
  skip: false
  valid: true
  dataset:
    persons:
      - id: P
        name: john smith
        has_medical_history:
          - in_location: GEO:1234
            diagnosis:
              id: CODE:D0001
              name: headache
- description: multivalued value for singlevalued list
  skip: false
  dataset:
    persons:
      - id: P
        name: john smith
        has_medical_history:
          - in_location: GEO:1234
            diagnosis:
              -
                id: CODE:D0001
                name: headache
- description: multivalued value for singlevalued list
  skip: false
  dataset:
    persons:
      - id: P
        name: john smith
        has_medical_history:
          - in_location: GEO:1234
            diagnosis:
              id: CODE:D0001
              name:
                - headache
                - cough
- description: string used in place of object
  skip: false
  dataset:
    persons:
      - id: P
        name: john smith
        addresses:
          - "1 foo street, foo city"
- description: inline used where reference expected
  skip: false
  dataset:
    activities:
      - id: A1
        was_associated_with:
          id: Agent:987
- description: date format
  skip: true
  comment: :-
    as per https://json-schema.org/understanding-json-schema/reference/string.html#format
    "JSON Schema implementations are not required to implement this part of the specification, and many of them do not."
    it appears the python json schema implementation does not implement this, so we skip for now
  dataset:
    activities:
      - id: A1
        started_at_time: "not a real date"

