diff --git a/siibra/attr/util/archive/v0.1.json b/siibra/attr/data/archive/v0.1.json similarity index 84% rename from siibra/attr/util/archive/v0.1.json rename to siibra/attr/data/archive/v0.1.json index 4d30c0c..9ffae8a 100644 --- a/siibra/attr/util/archive/v0.1.json +++ b/siibra/attr/data/archive/v0.1.json @@ -2,11 +2,14 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { - "archive_type": { - "$ref": "#/definitions/archive_type" + "@type": { + "const": "siibra/attr/data/archive/v0.1" }, - "archive_file": { + "url": { "type": "string" + }, + "archive_type": { + "$ref": "#/definitions/archive_type" } }, "definitions": { diff --git a/siibra/attr/data/image/v0.1.json b/siibra/attr/data/image/v0.1.json index 4660393..372af8c 100644 --- a/siibra/attr/data/image/v0.1.json +++ b/siibra/attr/data/image/v0.1.json @@ -11,9 +11,6 @@ "url": { "type": "string" }, - "key": { - "type": "string" - }, "space_id": { "type": "string" } @@ -29,11 +26,19 @@ { "const": "neuroglancer/precomputed" }, + { + "const": "neuroglancer/precompmesh" + }, { "const": "nii" + }, + { + "const": "gii-mesh" + }, + { + "const": "gii-label" } ] } - }, - "additionalProperties": false + } } \ No newline at end of file diff --git a/siibra/attr/data/tabular/v0.1.json b/siibra/attr/data/tabular/v0.1.json index 00f4a61..449dcd3 100644 --- a/siibra/attr/data/tabular/v0.1.json +++ b/siibra/attr/data/tabular/v0.1.json @@ -5,6 +5,9 @@ "@type": { "const": "siibra/attr/data/tabular/v0.1" }, + "url": { + "type": "string" + }, "format": { "$ref": "#/definitions/format" }, diff --git a/siibra/attr/data/v0.1.json b/siibra/attr/data/v0.1.json index 0d3a7b5..456f298 100644 --- a/siibra/attr/data/v0.1.json +++ b/siibra/attr/data/v0.1.json @@ -1,11 +1,29 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "oneOf": [ + "allOf": [ { - "$ref": "urn:siibra-local:siibra/attr/data/image/v0.1.json" + "$ref": "#/definitions/base" }, { - "$ref": "urn:siibra-local:siibra/attr/data/tabular/v0.1.json" + "$ref": "urn:siibra-local:siibra/attr/util/archived/v0.1.json" + }, + { + "$ref": "urn:siibra-local:siibra/attr/util/has_key/v0.1.json" + } + ], + "definitions": { + "base": { + "oneOf": [ + { + "$ref": "urn:siibra-local:siibra/attr/data/image/v0.1.json" + }, + { + "$ref": "urn:siibra-local:siibra/attr/data/tabular/v0.1.json" + }, + { + "$ref": "urn:siibra-local:siibra/attr/data/archive/v0.1.json" + } + ] } - ] + } } diff --git a/siibra/attr/desc/id/v0.1.json b/siibra/attr/desc/id/v0.1.json new file mode 100644 index 0000000..722031f --- /dev/null +++ b/siibra/attr/desc/id/v0.1.json @@ -0,0 +1,15 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "allOf": [ + { + "$ref": "urn:siibra-local:siibra/attr/util/humanreadable/v0.1.json" + } + ], + "properties": { + "@type": { + "const": "siibra/attr/desc/id/v0.1" + } + }, + "required": ["@type"] +} diff --git a/siibra/attr/desc/v0.1.json b/siibra/attr/desc/v0.1.json index 5538239..c7cd94c 100644 --- a/siibra/attr/desc/v0.1.json +++ b/siibra/attr/desc/v0.1.json @@ -15,6 +15,9 @@ }, { "$ref": "urn:siibra-local:siibra/attr/desc/speciesspec/v0.1.json" + }, + { + "$ref": "urn:siibra-local:siibra/attr/desc/id/v0.1.json" } ] } \ No newline at end of file diff --git a/siibra/attr/util/archived/v0.1.json b/siibra/attr/util/archived/v0.1.json new file mode 100644 index 0000000..dd56773 --- /dev/null +++ b/siibra/attr/util/archived/v0.1.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "archive_options": { + "oneOf": [ + { + "$ref": "#/definitions/archive" + }, + { + "$ref": "#/definitions/segment" + } + ] + } + }, + "definitions": { + "archive": { + "file": { + "type": "string" + } + }, + "segment": { + "label": { + "type": "number" + } + } + } +} diff --git a/siibra/attr/util/has_key/v0.1.json b/siibra/attr/util/has_key/v0.1.json new file mode 100644 index 0000000..2ef6719 --- /dev/null +++ b/siibra/attr/util/has_key/v0.1.json @@ -0,0 +1,9 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "key": { + "type": "string" + } + } +}