Esquema JSON sobre el uso de $ ref

Entiendo que $ ref lleva un URI a un esquema json para usar, pero ¿a dónde apunta $ ref: "#"? ¿Significa simplemente usar el esquema actual para este nivel de bloque? ¿O significa usar el esquema de nivel raíz definido en el ID de nivel raíz? Gracias

EDITAR: Así que si tengo:

"items": {
        "anyOf": [
            { "$ref": "#" },
            { "$ref": "#/definitions/schemaArray" }
        ],
        "default": {}
    }

Debido a que carece de un campo de identificación, intentará validar los elementos de la instancia con el esquema raíz primero y luego, si eso falla, intente validarlo con el esquema schemaArray definido en el esquema de definiciones, ¿verdad?

Así que si lo cambio a:

 "items": {
            "id" : "#/items",
            "anyOf": [
                { "$ref": "#" },
                { "$ref": "#/definitions/schemaArray" }
            ],
            "default": {}
        }

¿Entonces el primer subesquema en cualquier matriz apuntará al esquema de los elementos?

EDITAR # 2: Está bien, así que si tuviera:

 "items": {
        "id" : "itemSchema",
        "anyOf": [
            { "$ref": "#" },
            { "$ref": "#/definitions/schemaArray" }
        ],
        "default": {}
    }

y

"stringArray": {
        "type": "array",
        "items": { "$ref" : "itemSchema" },
        "minItems": 1,
        "uniqueItems": true
    }

¿El campo "elementos" de "stringArray" se validaría con el "itemSchema" anterior?

¿También funciona el segundo $ ref en 'anyOf' yendo a la raíz y luego recorriendo el camino hasta que llegue a ese esquema? ¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta