From 2d3ef6429d679011f8753f84f1f640dddcb1e225 Mon Sep 17 00:00:00 2001 From: Loki Sinclair Date: Mon, 23 Sep 2024 16:54:29 +0100 Subject: [PATCH] updates to do things properly --- docs/GWDM/1.0.form.json | 3 +- docs/GWDM/1.0.md | 6 +- docs/GWDM/1.0.structure.json | 2 +- docs/GWDM/1.1.form.json | 3 +- docs/GWDM/1.1.md | 6 +- docs/GWDM/1.1.structure.json | 2 +- docs/GWDM/1.2.form.json | 3 +- docs/GWDM/1.2.md | 6 +- docs/GWDM/1.2.structure.json | 2 +- docs/GWDM/2.0.form.json | 6 +- docs/GWDM/2.0.md | 12 ++-- docs/GWDM/2.0.structure.json | 4 +- docs/HDRUK/2.1.2.form.json | 9 ++- docs/HDRUK/2.1.2.md | 24 +++---- docs/HDRUK/2.1.2.structure.json | 8 +-- docs/HDRUK/2.1.3.form.json | 9 ++- docs/HDRUK/2.1.3.md | 24 +++---- docs/HDRUK/2.1.3.structure.json | 8 +-- docs/HDRUK/2.2.0.form.json | 9 ++- docs/HDRUK/2.2.0.md | 24 +++---- docs/HDRUK/2.2.0.structure.json | 8 +-- docs/HDRUK/2.2.1.form.json | 12 ++-- docs/HDRUK/2.2.1.md | 30 ++++----- docs/HDRUK/2.2.1.structure.json | 10 +-- docs/HDRUK/3.0.0.form.json | 26 +++++--- docs/HDRUK/3.0.0.md | 66 ++++++++++---------- docs/HDRUK/3.0.0.structure.json | 22 +++---- hdr_schemata/definitions/HDRUK/Url.py | 5 +- hdr_schemata/definitions/HDRUK/__init__.py | 2 +- hdr_schemata/models/HDRUK/2.1.2/schema.json | 3 +- hdr_schemata/models/HDRUK/2.1.3/schema.json | 3 +- hdr_schemata/models/HDRUK/2.2.0/schema.json | 3 +- hdr_schemata/models/HDRUK/2.2.1/schema.json | 3 +- hdr_schemata/models/HDRUK/3.0.0/schema.json | 17 ++++- hdr_schemata/models/HDRUK/v3_0_0/Revision.py | 4 +- 35 files changed, 215 insertions(+), 169 deletions(-) diff --git a/docs/GWDM/1.0.form.json b/docs/GWDM/1.0.form.json index d03b0a5..a374b8e 100644 --- a/docs/GWDM/1.0.form.json +++ b/docs/GWDM/1.0.form.json @@ -69,7 +69,8 @@ "is_optional": false, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "required.revisions.url" diff --git a/docs/GWDM/1.0.md b/docs/GWDM/1.0.md index a615f6b..93f1ede 100644 --- a/docs/GWDM/1.0.md +++ b/docs/GWDM/1.0.md @@ -78,9 +78,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | Examples: diff --git a/docs/GWDM/1.0.structure.json b/docs/GWDM/1.0.structure.json index c00e14b..8e99b26 100644 --- a/docs/GWDM/1.0.structure.json +++ b/docs/GWDM/1.0.structure.json @@ -102,7 +102,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": false, "is_optional": false, diff --git a/docs/GWDM/1.1.form.json b/docs/GWDM/1.1.form.json index 5560715..c9dd331 100644 --- a/docs/GWDM/1.1.form.json +++ b/docs/GWDM/1.1.form.json @@ -69,7 +69,8 @@ "is_optional": false, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "required.revisions.url" diff --git a/docs/GWDM/1.1.md b/docs/GWDM/1.1.md index 8a966aa..c3edbb3 100644 --- a/docs/GWDM/1.1.md +++ b/docs/GWDM/1.1.md @@ -78,9 +78,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | Examples: diff --git a/docs/GWDM/1.1.structure.json b/docs/GWDM/1.1.structure.json index 50abea4..fb9b233 100644 --- a/docs/GWDM/1.1.structure.json +++ b/docs/GWDM/1.1.structure.json @@ -102,7 +102,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": false, "is_optional": false, diff --git a/docs/GWDM/1.2.form.json b/docs/GWDM/1.2.form.json index 4d1b88e..13ed582 100644 --- a/docs/GWDM/1.2.form.json +++ b/docs/GWDM/1.2.form.json @@ -69,7 +69,8 @@ "is_optional": false, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "required.revisions.url" diff --git a/docs/GWDM/1.2.md b/docs/GWDM/1.2.md index 9ec6a85..ba3dc8d 100644 --- a/docs/GWDM/1.2.md +++ b/docs/GWDM/1.2.md @@ -78,9 +78,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | Examples: diff --git a/docs/GWDM/1.2.structure.json b/docs/GWDM/1.2.structure.json index 13d45ef..6136834 100644 --- a/docs/GWDM/1.2.structure.json +++ b/docs/GWDM/1.2.structure.json @@ -102,7 +102,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": false, "is_optional": false, diff --git a/docs/GWDM/2.0.form.json b/docs/GWDM/2.0.form.json index 4357021..403d29a 100644 --- a/docs/GWDM/2.0.form.json +++ b/docs/GWDM/2.0.form.json @@ -69,7 +69,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "required.revisions.url" @@ -399,7 +400,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "coverage.datasetCompleteness" diff --git a/docs/GWDM/2.0.md b/docs/GWDM/2.0.md index 55eeec9..e4d3a59 100644 --- a/docs/GWDM/2.0.md +++ b/docs/GWDM/2.0.md @@ -78,9 +78,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -358,9 +358,9 @@ Examples: The URL where a Researcher can learn more about the completeness of the dataset. -| title | guidance | is_list | required | type | -|:--------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset coverage/completeness/quality | If your organisation has a publicly available site which contains information on the completeness of a dataset, add that URL here.
**Example**: https://bhfdatasciencecentre.org/dashboard/ | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:--------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Dataset coverage/completeness/quality | If your organisation has a publicly available site which contains information on the completeness of a dataset, add that URL here.
**Example**: https://bhfdatasciencecentre.org/dashboard/ | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: diff --git a/docs/GWDM/2.0.structure.json b/docs/GWDM/2.0.structure.json index 7bebcfa..8bd3945 100644 --- a/docs/GWDM/2.0.structure.json +++ b/docs/GWDM/2.0.structure.json @@ -102,7 +102,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -478,7 +478,7 @@ "https://bhfdatasciencecentre.org/dashboard/" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, diff --git a/docs/HDRUK/2.1.2.form.json b/docs/HDRUK/2.1.2.form.json index e67ecde..109b3f8 100644 --- a/docs/HDRUK/2.1.2.form.json +++ b/docs/HDRUK/2.1.2.form.json @@ -66,7 +66,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "revisions.url" @@ -139,7 +140,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.identifier" @@ -170,7 +172,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.logo" diff --git a/docs/HDRUK/2.1.2.md b/docs/HDRUK/2.1.2.md index 1a0a98b..ec51f07 100644 --- a/docs/HDRUK/2.1.2.md +++ b/docs/HDRUK/2.1.2.md @@ -3,9 +3,9 @@ System dataset identifier -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -131,9 +131,9 @@ This is the organisation responsible for running or supporting the data access r Please provide a Grid.ac identifier (see https://www.grid.ac/institutes) for your organisation. If your organisation does not have a Grid.ac identifier please use the “suggest and institute” function here: https://www.grid.ac/institutes# -| title | guidance | is_list | required | type | -|:------------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -153,9 +153,9 @@ Name of the organisation Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | diff --git a/docs/HDRUK/2.1.2.structure.json b/docs/HDRUK/2.1.2.structure.json index 2860888..c46c6b1 100644 --- a/docs/HDRUK/2.1.2.structure.json +++ b/docs/HDRUK/2.1.2.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -175,7 +175,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -204,7 +204,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, diff --git a/docs/HDRUK/2.1.3.form.json b/docs/HDRUK/2.1.3.form.json index cdd6002..f58ebbd 100644 --- a/docs/HDRUK/2.1.3.form.json +++ b/docs/HDRUK/2.1.3.form.json @@ -66,7 +66,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "revisions.url" @@ -139,7 +140,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.identifier" @@ -170,7 +172,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.logo" diff --git a/docs/HDRUK/2.1.3.md b/docs/HDRUK/2.1.3.md index a6cfedf..d40f8bd 100644 --- a/docs/HDRUK/2.1.3.md +++ b/docs/HDRUK/2.1.3.md @@ -3,9 +3,9 @@ System dataset identifier -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -131,9 +131,9 @@ This is the organisation responsible for running or supporting the data access r Please provide a Grid.ac identifier (see https://www.grid.ac/institutes) for your organisation. If your organisation does not have a Grid.ac identifier please use the “suggest and institute” function here: https://www.grid.ac/institutes# -| title | guidance | is_list | required | type | -|:------------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -153,9 +153,9 @@ Name of the organisation Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | diff --git a/docs/HDRUK/2.1.3.structure.json b/docs/HDRUK/2.1.3.structure.json index e522d88..3fe2edb 100644 --- a/docs/HDRUK/2.1.3.structure.json +++ b/docs/HDRUK/2.1.3.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -175,7 +175,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -204,7 +204,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, diff --git a/docs/HDRUK/2.2.0.form.json b/docs/HDRUK/2.2.0.form.json index e68f6bb..63d2500 100644 --- a/docs/HDRUK/2.2.0.form.json +++ b/docs/HDRUK/2.2.0.form.json @@ -66,7 +66,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "revisions.url" @@ -139,7 +140,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.identifier" @@ -170,7 +172,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.logo" diff --git a/docs/HDRUK/2.2.0.md b/docs/HDRUK/2.2.0.md index efe0106..19921c2 100644 --- a/docs/HDRUK/2.2.0.md +++ b/docs/HDRUK/2.2.0.md @@ -3,9 +3,9 @@ System dataset identifier -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -131,9 +131,9 @@ This is the organisation responsible for running or supporting the data access r Please provide a Grid.ac identifier (see https://www.grid.ac/institutes) for your organisation. If your organisation does not have a Grid.ac identifier please use the “suggest and institute” function here: https://www.grid.ac/institutes# -| title | guidance | is_list | required | type | -|:------------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -153,9 +153,9 @@ Name of the organisation Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | diff --git a/docs/HDRUK/2.2.0.structure.json b/docs/HDRUK/2.2.0.structure.json index 04b34f4..33aeac4 100644 --- a/docs/HDRUK/2.2.0.structure.json +++ b/docs/HDRUK/2.2.0.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -175,7 +175,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -204,7 +204,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, diff --git a/docs/HDRUK/2.2.1.form.json b/docs/HDRUK/2.2.1.form.json index adb9a6d..0c4e92f 100644 --- a/docs/HDRUK/2.2.1.form.json +++ b/docs/HDRUK/2.2.1.form.json @@ -66,7 +66,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "revisions.url" @@ -139,7 +140,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.identifier" @@ -170,7 +172,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.logo" @@ -1095,7 +1098,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.syntheticDataWebLink" diff --git a/docs/HDRUK/2.2.1.md b/docs/HDRUK/2.2.1.md index 3bb43ed..1e112dd 100644 --- a/docs/HDRUK/2.2.1.md +++ b/docs/HDRUK/2.2.1.md @@ -3,9 +3,9 @@ System dataset identifier -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -131,9 +131,9 @@ This is the organisation responsible for running or supporting the data access r Please provide a Grid.ac identifier (see https://www.grid.ac/institutes) for your organisation. If your organisation does not have a Grid.ac identifier please use the “suggest and institute” function here: https://www.grid.ac/institutes# -| title | guidance | is_list | required | type | -|:------------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -153,9 +153,9 @@ Name of the organisation Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -846,9 +846,9 @@ Please provide the URL of any analysis tools or models that have been created fo Links to locations of information and or raw downloads of synthetic data associated with this dataset -| title | guidance | is_list | required | type | -|:-------------------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Synthetic Data Web Links | | True | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| Synthetic Data Web Links | | True | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | diff --git a/docs/HDRUK/2.2.1.structure.json b/docs/HDRUK/2.2.1.structure.json index 6815f0e..3521d25 100644 --- a/docs/HDRUK/2.2.1.structure.json +++ b/docs/HDRUK/2.2.1.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -175,7 +175,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -204,7 +204,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1169,7 +1169,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": true, "is_optional": true, diff --git a/docs/HDRUK/3.0.0.form.json b/docs/HDRUK/3.0.0.form.json index 9fe704e..b8fe386 100644 --- a/docs/HDRUK/3.0.0.form.json +++ b/docs/HDRUK/3.0.0.form.json @@ -65,7 +65,7 @@ "is_list": false, "is_optional": true, "types": { - "title": "Url", + "title": "UrlV2", "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, @@ -167,7 +167,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.dataCustodian.logo" @@ -410,7 +411,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "coverage.datasetCompleteness" @@ -1360,7 +1362,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.derivedFrom.url" @@ -1407,7 +1410,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.isPartOf.url" @@ -1454,7 +1458,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.linkableDatasets.url" @@ -1501,7 +1506,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.similarToDatasets.url" @@ -1516,7 +1522,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.investigations" @@ -1531,7 +1538,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.tools" diff --git a/docs/HDRUK/3.0.0.md b/docs/HDRUK/3.0.0.md index f3b8de0..facc8d0 100644 --- a/docs/HDRUK/3.0.0.md +++ b/docs/HDRUK/3.0.0.md @@ -3,9 +3,9 @@ System dataset identifier. -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | N/A | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | N/A | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| revision url | | False | False | ["UrlV2[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -154,9 +154,9 @@ The organisation responsible for running or supporting the data access request p Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. If a logo is not submitted this will default to the logo for the team submitting the metadata. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -356,9 +356,9 @@ Examples: The URL where a Researcher can learn more about the completeness of the dataset. -| title | guidance | is_list | required | type | -|:--------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset coverage/completeness/quality | If your organisation has a publicly available site which contains information on the completeness of a dataset, add that URL here.
**Example**: https://bhfdatasciencecentre.org/dashboard/ | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:--------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Dataset coverage/completeness/quality | If your organisation has a publicly available site which contains information on the completeness of a dataset, add that URL here.
**Example**: https://bhfdatasciencecentre.org/dashboard/ | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -810,9 +810,9 @@ None None -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Url of a dataset | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Url of a dataset | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -854,9 +854,9 @@ None None -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Url of a dataset | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Url of a dataset | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -896,9 +896,9 @@ None None -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Url of a dataset | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Url of a dataset | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -938,9 +938,9 @@ None None -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Url of a dataset | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Url of a dataset | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -949,9 +949,9 @@ None Please provide link to any active projects that are using the dataset. -| title | guidance | is_list | required | type | -|:---------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Investigations | - Please provide the website address(es) which document information related to active projects utilising the dataset.
- Please split your existing list of citations into separate fields.
- To add multiple entries, type in each website and press enter to add it to the list.
- **Example**: | True | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:---------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| Investigations | - Please provide the website address(es) which document information related to active projects utilising the dataset.
- Please split your existing list of citations into separate fields.
- To add multiple entries, type in each website and press enter to add it to the list.
- **Example**: | True | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | @@ -960,9 +960,9 @@ Please provide link to any active projects that are using the dataset. Please provide the URL of any analysis tools or models that have been created for this dataset and are available for further use. Multiple tools may be provided. Note: We encourage users to adopt a model along the lines of https://www.ga4gh.org/news/tool-registry-service-api-enabling-an-interoperable-library-of-genomics-analysis-tools/ -| title | guidance | is_list | required | type | -|:--------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Tools | - Please provide the URL of any analysis tools or models that have been created for this dataset and are available for further use.
- Multiple tools may be provided.
- Note: We encourage users to adopt a model along the lines of https://www.ga4gh.org/news/tool-registry-service-api-enabling-an-interoperable-library-of-genomics-analysis-tools/ | True | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:--------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| Tools | - Please provide the URL of any analysis tools or models that have been created for this dataset and are available for further use.
- Multiple tools may be provided.
- Note: We encourage users to adopt a model along the lines of https://www.ga4gh.org/news/tool-registry-service-api-enabling-an-interoperable-library-of-genomics-analysis-tools/ | True | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | @@ -1198,9 +1198,9 @@ The frequency of occurrance of a value in a column. Links to locations of information and or raw downloads of synthetic data associated with this dataset. -| title | guidance | is_list | required | type | -|:-------------------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Synthetic data web links | | True | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| Synthetic data web links | | True | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | diff --git a/docs/HDRUK/3.0.0.structure.json b/docs/HDRUK/3.0.0.structure.json index 02920fb..36ac2b2 100644 --- a/docs/HDRUK/3.0.0.structure.json +++ b/docs/HDRUK/3.0.0.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "UrlV2[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -203,7 +203,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -476,7 +476,7 @@ "https://bhfdatasciencecentre.org/dashboard/" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1081,7 +1081,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1143,7 +1143,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1203,7 +1203,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1263,7 +1263,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1280,7 +1280,7 @@ "guidance": "Please provide the website address(es) which document information related to active projects utilising the dataset.- Please split your existing list of citations into separate fields.- To add multiple entries, type in each website and press enter to add it to the list.- Example: https://dataloch.org/insights/projects-delivered/data-driven-innovation-multi-morbidity-report-partner-gps", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": true, "is_optional": true, @@ -1294,7 +1294,7 @@ "guidance": "Please provide the URL of any analysis tools or models that have been created for this dataset and are available for further use.- Multiple tools may be provided.- Note: We encourage users to adopt a model along the lines of https://www.ga4gh.org/news/tool-registry-service-api-enabling-an-interoperable-library-of-genomics-analysis-tools/", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": true, "is_optional": true, @@ -1611,7 +1611,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": true, "is_optional": true, diff --git a/hdr_schemata/definitions/HDRUK/Url.py b/hdr_schemata/definitions/HDRUK/Url.py index 6d9864b..99d7f20 100644 --- a/hdr_schemata/definitions/HDRUK/Url.py +++ b/hdr_schemata/definitions/HDRUK/Url.py @@ -1,7 +1,10 @@ from typing import Optional -from pydantic import constr, RootModel +from pydantic import AnyUrl, constr, RootModel class Url(RootModel): + root: Optional[AnyUrl] + +class UrlV2(RootModel): root: Optional[constr(pattern=r'^\s*((https?:\/\/)*([a-zA-Z0-9-]+\.?)+[a-zA-Z]{2,}(:\d+)?(\/[^\s]*)?(\n)?)+$')] diff --git a/hdr_schemata/definitions/HDRUK/__init__.py b/hdr_schemata/definitions/HDRUK/__init__.py index a7cad8a..098832e 100644 --- a/hdr_schemata/definitions/HDRUK/__init__.py +++ b/hdr_schemata/definitions/HDRUK/__init__.py @@ -54,5 +54,5 @@ from .TissueCollectionTypeEnum import TissueCollectionTypeEnum from .TissueDataCategoriesEnum import TissueDataCategoriesEnum from .TwoHundredFiftyFiveCharacters import TwoHundredFiftyFiveCharacters -from .Url import Url +from .Url import Url, UrlV2 from .Uuidv4 import Uuidv4 diff --git a/hdr_schemata/models/HDRUK/2.1.2/schema.json b/hdr_schemata/models/HDRUK/2.1.2/schema.json index c4bcae6..f849a31 100644 --- a/hdr_schemata/models/HDRUK/2.1.2/schema.json +++ b/hdr_schemata/models/HDRUK/2.1.2/schema.json @@ -1736,7 +1736,8 @@ "Url": { "anyOf": [ { - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, { diff --git a/hdr_schemata/models/HDRUK/2.1.3/schema.json b/hdr_schemata/models/HDRUK/2.1.3/schema.json index 93b0ede..d5cc01d 100644 --- a/hdr_schemata/models/HDRUK/2.1.3/schema.json +++ b/hdr_schemata/models/HDRUK/2.1.3/schema.json @@ -1738,7 +1738,8 @@ "Url": { "anyOf": [ { - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, { diff --git a/hdr_schemata/models/HDRUK/2.2.0/schema.json b/hdr_schemata/models/HDRUK/2.2.0/schema.json index 39882e3..08b4e5c 100644 --- a/hdr_schemata/models/HDRUK/2.2.0/schema.json +++ b/hdr_schemata/models/HDRUK/2.2.0/schema.json @@ -2118,7 +2118,8 @@ "Url": { "anyOf": [ { - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, { diff --git a/hdr_schemata/models/HDRUK/2.2.1/schema.json b/hdr_schemata/models/HDRUK/2.2.1/schema.json index d1ba1d2..b8e7a76 100644 --- a/hdr_schemata/models/HDRUK/2.2.1/schema.json +++ b/hdr_schemata/models/HDRUK/2.2.1/schema.json @@ -2159,7 +2159,8 @@ "Url": { "anyOf": [ { - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, { diff --git a/hdr_schemata/models/HDRUK/3.0.0/schema.json b/hdr_schemata/models/HDRUK/3.0.0/schema.json index 0b7f297..566b543 100644 --- a/hdr_schemata/models/HDRUK/3.0.0/schema.json +++ b/hdr_schemata/models/HDRUK/3.0.0/schema.json @@ -1934,7 +1934,7 @@ "url": { "anyOf": [ { - "$ref": "#/$defs/Url" + "$ref": "#/$defs/UrlV2" }, { "type": "null" @@ -2341,7 +2341,8 @@ "Url": { "anyOf": [ { - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, { @@ -2350,6 +2351,18 @@ ], "title": "Url" }, + "UrlV2": { + "anyOf": [ + { + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "UrlV2" + }, "Usage": { "additionalProperties": false, "properties": { diff --git a/hdr_schemata/models/HDRUK/v3_0_0/Revision.py b/hdr_schemata/models/HDRUK/v3_0_0/Revision.py index 243a183..63fcdb6 100644 --- a/hdr_schemata/models/HDRUK/v3_0_0/Revision.py +++ b/hdr_schemata/models/HDRUK/v3_0_0/Revision.py @@ -1,7 +1,7 @@ from typing import Optional from pydantic import BaseModel, Field -from hdr_schemata.definitions.HDRUK import Semver, Url +from hdr_schemata.definitions.HDRUK import Semver, UrlV2 from .annotations import annotations @@ -13,4 +13,4 @@ class Config: extra = "forbid" version: Semver = Field(..., **an.version.__dict__) - url: Optional[Url] = Field(None, **an.url.__dict__) + url: Optional[UrlV2] = Field(None, **an.url.__dict__)