title: Thing
'@id': schema:Thing
extends: Entity
status: stable
role: base
category: metadata
description: The most generic type of item.
properties:
  alternateNames:
    '@id': schema:alternateName
    description: Alternate names (aliases) for the item.
    type: array
    items:
      type: string
  description:
    '@id': schema:description
    description: A description of the item.
    anyOf:
      - type: string
      - type: array
        items:
          $ref: Node
  identifiers:
    '@id': schema:identifier
    description: Any kind of identifier for any kind of Thing.
    $comment: |
      Some identifiers have specific properties e.g the `issn` property for
      the `Periodical` type. These should be used in preference to this
      property which is intended for identifiers that do not yet have a
      specific property. Identifiers can be represented as strings, but
      using a `PropertyValue` will usually be better because it allows
      for `propertyID` (i.e. the type of identifier).
    type: array
    items:
      - anyOf:
        - type: string
        - $ref: PropertyValue
  name:
    '@id': schema:name
    description: The name of the item.
    type: string
  url:
    '@id': schema:url
    description: The URL of the item.
    type: string
    format: uri

title: Thing
'@id': schema:Thing
extends: Entity
status: stable
role: base
category: metadata
description: The most generic type of item.
properties:
  alternateNames:
    '@id': schema:alternateName
    description: Alternate names (aliases) for the item.
    type: array
    items:
      type: string
  description:
    '@id': schema:description
    description: A description of the item.
    anyOf:
      - type: string
      - type: array
        items:
          $ref: Node
  identifiers:
    '@id': schema:identifier
    description: Any kind of identifier for any kind of Thing.
    $comment: |
      Some identifiers have specific properties e.g the `issn` property for
      the `Periodical` type. These should be used in preference to this
      property which is intended for identifiers that do not yet have a
      specific property. Identifiers can be represented as strings, but
      using a `PropertyValue` will usually be better because it allows
      for `propertyID` (i.e. the type of identifier).
    type: array
    items:
      anyOf:
        - type: string
        - $ref: PropertyValue
  name:
    '@id': schema:name
    description: The name of the item.
    type: string
  url:
    '@id': schema:url
    description: The URL of the item.
    type: string
    format: uri

Apply anyOf to all items in the array
fix(Thing.identifiers): Apply anyOf to all items in the array
