{
    "title": "About Data Formats Schema",
    "$schema": "http://json-schema.org/draft-06/schema#",
    "type": "object",
    "properties": {
        "id": {
            "$ref": "#/definitions/id"
        },
        "type": {
            "$ref": "#/definitions/url"
        },
        "title": {
            "type": "string"
        },
        "short": {
            "type": "string"
        },
        "homepage": {
            "$ref": "#/definitions/url"
        },
        "license": {
            "$ref": "#/definitions/url"
        },
        "description": {
            "type": "object",
            "propertyNames": {
                "pattern": "^[a-z]{2,}$"
            }
        },
        "wikidata": {
            "oneOf": [
                {
                    "$ref": "#/definitions/qid"
                },
                {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/qid"
                    }
                }
            ]
        },
        "multicodec": {
            "type": "integer"
        },
        "paradigm": {
            "type": "string"
        },
        "alias": {
            "type": "array",
            "item": {
                "type": "string"
            }
        },
        "inspiredby": {
            "type": "string"
        },
        "bartoc": {
            "$ref": "#/definitions/bartoc"
        },
        "language": {
            "type": "string"
        },
        "application": {
            "$ref": "#/definitions/links"
        },
        "topConceptOf": {
            "$ref": "#/definitions/links"
        },
        "broader": {
            "$ref": "#/definitions/id"
        },
        "mimetype": {
            "type": "string"
        },
        "publisher": {
            "type": "string"
        },
        "for": {
            "$ref": "#/definitions/links"
        },
        "model": {
            "$ref": "#/definitions/links"
        },
        "base": {
            "$ref": "#/definitions/links"
        },
        "profiles": {
            "$ref": "#/definitions/id"
        },
        "subsetof": {
            "$ref": "#/definitions/id"
        },
        "element": {
            "$ref": "#/definitions/id"
        },
        "schemas": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "url": {
                        "type": "string"
                    },
                    "type": {
                        "$ref": "#/definitions/id"
                    },
                    "doi": {
                        "$ref": "#/definitions/url"
                    },
                    "version": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "url"
                ],
                "additionalProperties": false
            }
        },
        "created": {
            "$ref": "#/definitions/date"
        },
        "modified": {
            "$ref": "#/definitions/date"
        },
        "creator": {
            "$ref": "#/definitions/strings"
        },
        "contributor": {
            "$ref": "#/definitions/strings"
        },
        "@context": {
            "const": "http://format.gbv.de/data/context.json"
        },
        "$schema": {
            "const": "http://format.gbv.de/data/schema.json"
        }
    },
    "additionalProperties": false,
    "definitions": {
        "id": {
            "type": "string"
        },
        "url": {
            "type": "string",
            "format": "uri"
        },
        "qid": {
            "type": "string"
        },
        "bartoc": {
            "type": "integer"
        },
        "date": {
            "oneOf": [
                {
                    "type": "string"
                },
                {
                    "type": "integer"
                }
            ]
        },
        "strings": {
            "oneOf": [
                {
                    "type": "string"
                },
                {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            ]
        },
        "links": {
            "oneOf": [
                {
                    "$ref": "#/definitions/id"
                },
                {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/id"
                    }
                }
            ]
        }
    }
}