Skip to content

Instantly share code, notes, and snippets.

@mvdbeek
Created April 13, 2025 20:34
Show Gist options
  • Save mvdbeek/156d6a3bef855a0e34704c51dee9e303 to your computer and use it in GitHub Desktop.
Save mvdbeek/156d6a3bef855a0e34704c51dee9e303 to your computer and use it in GitHub Desktop.
JSON schema collection or data parameters
{
"$defs": {
"CollectionElementCollectionRequestUri": {
"additionalProperties": false,
"properties": {
"class": {
"const": "Collection",
"title": "Class",
"type": "string"
},
"identifier": {
"title": "Identifier",
"type": "string"
},
"collection_type": {
"title": "Collection Type",
"type": "string"
},
"elements": {
"items": {
"oneOf": [
{
"$ref": "#/$defs/CollectionElementCollectionRequestUri"
},
{
"$ref": "#/$defs/CollectionElementDataRequestUri"
}
]
},
"title": "Elements",
"type": "array"
}
},
"required": [
"class",
"identifier",
"collection_type",
"elements"
],
"title": "CollectionElementCollectionRequestUri",
"type": "object"
},
"CollectionElementDataRequestUri": {
"additionalProperties": false,
"properties": {
"location": {
"title": "Location",
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"ext": {
"title": "Ext",
"type": "string"
},
"dbkey": {
"default": "?",
"title": "Dbkey",
"type": "string"
},
"deferred": {
"default": false,
"title": "Deferred",
"type": "boolean"
},
"created_from_basename": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Created From Basename"
},
"info": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Info"
},
"hashes": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/DatasetHash"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Hashes"
},
"space_to_tab": {
"default": false,
"title": "Space To Tab",
"type": "boolean"
},
"to_posix_lines": {
"default": false,
"title": "To Posix Lines",
"type": "boolean"
},
"class": {
"const": "File",
"title": "Class",
"type": "string"
},
"src": {
"default": null,
"title": "Src",
"type": "null"
},
"identifier": {
"title": "Identifier",
"type": "string"
}
},
"required": [
"location",
"ext",
"class",
"identifier"
],
"title": "CollectionElementDataRequestUri",
"type": "object"
},
"DataRequestCollectionUri": {
"additionalProperties": false,
"properties": {
"class": {
"const": "Collection",
"title": "Class",
"type": "string"
},
"collection_type": {
"title": "Collection Type",
"type": "string"
},
"elements": {
"items": {
"discriminator": {
"mapping": {
"Collection": "#/$defs/CollectionElementCollectionRequestUri",
"File": "#/$defs/CollectionElementDataRequestUri"
},
"propertyName": "class"
},
"oneOf": [
{
"$ref": "#/$defs/CollectionElementCollectionRequestUri"
},
{
"$ref": "#/$defs/CollectionElementDataRequestUri"
}
]
},
"title": "Elements",
"type": "array"
},
"deferred": {
"default": false,
"title": "Deferred",
"type": "boolean"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"src": {
"default": null,
"title": "Src",
"type": "null"
}
},
"required": [
"class",
"collection_type",
"elements"
],
"title": "DataRequestCollectionUri",
"type": "object"
},
"DataRequestHda": {
"additionalProperties": false,
"properties": {
"src": {
"const": "hda",
"default": "hda",
"title": "Src",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"map_over_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Map Over Type"
}
},
"required": [
"id"
],
"title": "DataRequestHda",
"type": "object"
},
"DataRequestHdca": {
"additionalProperties": false,
"properties": {
"src": {
"const": "hdca",
"default": "hdca",
"title": "Src",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"map_over_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Map Over Type"
}
},
"required": [
"id"
],
"title": "DataRequestHdca",
"type": "object"
},
"DataRequestLdda": {
"additionalProperties": false,
"properties": {
"src": {
"const": "ldda",
"default": "ldda",
"title": "Src",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"map_over_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Map Over Type"
}
},
"required": [
"id"
],
"title": "DataRequestLdda",
"type": "object"
},
"DataRequestUri": {
"additionalProperties": false,
"properties": {
"location": {
"title": "Location",
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"ext": {
"title": "Ext",
"type": "string"
},
"dbkey": {
"default": "?",
"title": "Dbkey",
"type": "string"
},
"deferred": {
"default": false,
"title": "Deferred",
"type": "boolean"
},
"created_from_basename": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Created From Basename"
},
"info": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Info"
},
"hashes": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/DatasetHash"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Hashes"
},
"space_to_tab": {
"default": false,
"title": "Space To Tab",
"type": "boolean"
},
"to_posix_lines": {
"default": false,
"title": "To Posix Lines",
"type": "boolean"
},
"src": {
"const": "url",
"default": "url",
"title": "Src",
"type": "string"
}
},
"required": [
"location",
"ext"
],
"title": "DataRequestUri",
"type": "object"
},
"DatasetHash": {
"additionalProperties": false,
"properties": {
"hash_function": {
"enum": [
"MD5",
"SHA-1",
"SHA-256",
"SHA-512"
],
"title": "Hash Function",
"type": "string"
},
"hash_value": {
"title": "Hash Value",
"type": "string"
}
},
"required": [
"hash_function",
"hash_value"
],
"title": "DatasetHash",
"type": "object"
},
"FileRequestUri": {
"additionalProperties": false,
"properties": {
"location": {
"title": "Location",
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"ext": {
"title": "Ext",
"type": "string"
},
"dbkey": {
"default": "?",
"title": "Dbkey",
"type": "string"
},
"deferred": {
"default": false,
"title": "Deferred",
"type": "boolean"
},
"created_from_basename": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Created From Basename"
},
"info": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Info"
},
"hashes": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/DatasetHash"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Hashes"
},
"space_to_tab": {
"default": false,
"title": "Space To Tab",
"type": "boolean"
},
"to_posix_lines": {
"default": false,
"title": "To Posix Lines",
"type": "boolean"
},
"class": {
"const": "File",
"title": "Class",
"type": "string"
},
"src": {
"default": null,
"title": "Src",
"type": "null"
}
},
"required": [
"location",
"ext",
"class"
],
"title": "FileRequestUri",
"type": "object"
}
},
"anyOf": [
{
"discriminator": {
"mapping": {
"hda": "#/$defs/DataRequestHda",
"ldda": "#/$defs/DataRequestLdda",
"url": "#/$defs/DataRequestUri"
},
"propertyName": "src"
},
"oneOf": [
{
"$ref": "#/$defs/DataRequestHda"
},
{
"$ref": "#/$defs/DataRequestLdda"
},
{
"$ref": "#/$defs/DataRequestUri"
}
]
},
{
"$ref": "#/$defs/FileRequestUri"
},
{
"$ref": "#/$defs/DataRequestCollectionUri"
},
{
"$ref": "#/$defs/DataRequestHdca"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment