schema.json 5.77 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
{
    "$schema": "https://json-schema.org/draft/2019-09/schema",
    "$id": "https://json-schema.org/draft/2019-09/schema",
    "type": "object",
    "title": "The registry schema",
    "description": "The JSON schema for registry document.",
    "required": [
        "providers",
        "services"
    ],
    "properties": {
        "providers": {
            "$id": "#/properties/providers",
            "type": "array",
            "title": "Providers list",
            "description": "A list of providers objects",
            "items": [
                {
                    "type": "object",
                    "required": [
                        "providerId",
                        "providerName",
                        "providerDescription",
                        "providerUrl",
                        "baseServiceUrl",
                        "providerLogo"
                    ],
                    "properties": {
                        "providerId": {
                            "$id": "#/properties/providers/properties/providerId",
                            "type": "string",
                            "title": "Provider ID",
                            "description": "A unique id for provider",
                            "examples": [
                                "pdbe"
                            ]
                        },
                        "providerName": {
                            "$id": "#/properties/providers/properties/providerName",
                            "type": "string",
                            "title": "Provider name",
                            "description": "A name for provider",
                            "examples": [
                                "Protein Databank in Europe"
                            ]
                        },
                        "providerDescription": {
                            "$id": "#/properties/providers/properties/providerDescription",
                            "type": "string",
                            "title": "Provider description",
                            "description": "A description for provider",
                            "examples": [
                                "PDBe is the European resource for the collection, organisation and dissemination of data on biological macromolecular structures."
                            ]
                        },
                        "providerUrl": {
                            "$id": "#/properties/providers/properties/providerUrl",
                            "type": "string",
                            "title": "Provider url",
                            "description": "A url to the provider website",
                            "examples": [
                                "https://www.ebi.ac.uk/pdbe/"
                            ]
                        },
                        "baseServiceUrl": {
                            "$id": "#/properties/providers/properties/baseServiceUrl",
                            "type": "string",
                            "title": "Base service url",
                            "description": "A base url for the service of each provider",
                            "examples": [
                                "https://www.ebi.ac.uk/pdbe/beacons/"
                            ],
                            "default": ""
                        },
                        "providerLogo": {
                            "$id": "#/properties/providers/properties/providerLogo",
                            "type": "string",
                            "title": "Provider logo URL",
                            "description": "A url to the provider logo",
                            "examples": [
                                "https://www.ebi.ac.uk/pdbe/docs_dev/logos/images/RGB/PDBe-letterhead-white-RGB_2013.png"
                            ],
                            "default": ""
                        }
                    }
                }
            ]
        },
        "services": {
            "$id": "#/properties/services",
            "type": "array",
            "title": "Services list",
            "description": "A list of services objects.",
            "items": [
                {
                    "type": "object",
                    "required": [
                        "serviceType",
                        "provider",
                        "accessPoint"
                    ],
                    "properties": {
                        "serviceType": {
                            "$id": "#/properties/services/properties/serviceType",
                            "type": "string",
                            "title": "Service type",
                            "description": "A type of service.",
                            "examples": [
                                "uniprot"
                            ]
                        },
                        "provider": {
                            "$id": "#/properties/services/properties/provider",
                            "type": "string",
                            "title": "Service provider",
                            "description": "The provider who serves the service.",
                            "examples": [
                                "pdbe"
                            ]
                        },
                        "accessPoint": {
                            "$id": "#/properties/services/properties/accessPoint",
                            "type": "string",
                            "title": "Service access point",
                            "description": "An access point to the service.",
                            "examples": [
                                "uniprot/structures"
                            ]
                        }
                    }
                }
            ]
        }
    }
}