{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "https://schema.twindev.org/documents/DocumentList",
    "title": "DocumentList",
    "description": "Interface describing a list of document entries.",
    "type": "object",
    "properties": {
        "@context": {
            "type": "array",
            "prefixItems": [
                {
                    "const": "https://schema.org"
                },
                {
                    "const": "https://schema.twindev.org/documents/"
                },
                {
                    "const": "https://schema.twindev.org/common/"
                }
            ],
            "items": {
                "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
            },
            "minItems": 3,
            "description": "JSON-LD Context."
        },
        "type": {
            "const": "ItemList",
            "description": "JSON-LD Type."
        },
        "itemListElement": {
            "type": "array",
            "items": {
                "$ref": "https://schema.twindev.org/documents/DocumentHydrated"
            },
            "description": "The list of documents."
        },
        "edges": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "description": "The ids of the other vertices which are connected to the document."
        }
    },
    "required": [
        "@context",
        "type",
        "itemListElement"
    ]
}
