{
  "version": "0.0.1",
  "name": "example",
  "resources": {
    "example::Dog": {
      "properties": {
        "bone": {
          "type": "string",
          "replaceOnChanges": true
        }
      }
    },
    "example::Pets": {
      "properties": {
        "name": {
          "type": "string",
          "replaceOnChanges": true
        },
        "other": {
          "$ref": "#/resources/example::Dog"
        },
        "toy": {
          "$ref": "#/types/example::toy"
        },
        "friends": {
          "type": "array",
          "items": {
            "$ref": "#/types/example::toy"
          }
        },
        "foes": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/types/example::toy"
          }
        }
      }
    }
  },
  "types": {
    "example::toy": {
      "description": "This is a cat toy",
      "type": "object",
      "properties": {
        "color": {
          "type": "string",
          "replaceOnChanges": true
        },
        "wear": {
          "type": "number"
        }
      }
    }
  }
}
