Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review and fix all schema regexes #1318

Open
mshadbolt opened this issue Jun 26, 2020 · 7 comments
Open

Review and fix all schema regexes #1318

mshadbolt opened this issue Jun 26, 2020 · 7 comments
Labels

Comments

@mshadbolt
Copy link
Contributor

We recently have found many errors in the "pattern" regexes for schema. This ticket will track work to find and fix errors in schemas. Common errors found so far include:

  • non escaped . characters that match any character when they are aiming to match an actual .
  • non anchored regexes, every regex should be anchored so that it completely matches a field i.e. ^<regex>$
  • white space allowed in IDs
  • regex generally too relaxed for the purpose of validation

Others feel free to add more

@ESapenaVentura
Copy link
Collaborator

A list of the current schema regexes:

{
    "/json_schema/core/file/file_core.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/core/file/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/file_core",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/core/protocol/protocol_core.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/core/protocol/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/protocol_core",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.document.pattern": "^.*.pdf$"
    },
    "/json_schema/core/project/project_core.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/core/project/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/project_core",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/core/biomaterial/biomaterial_core.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/core/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/biomaterial_core",
        "properties.schema_version.pattern": "^\\d+\\.\\d+\\.\\d+$",
        "properties.biosamples_accession.pattern": "^SAM(D|N|E([AG]?))[0-9]+$",
        "properties.insdc_sample_accession.pattern": "^[DES]RS[0-9]+$",
        "properties.HDBR_accession.pattern": "(^[0-9]{5})(,\\s[0-9]{1,},\\s[a-zA-Z]+$){0,1}"
    },
    "/json_schema/core/process/process_core.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/core/process/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/process_core",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/protocol/channel.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/protocol/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/channel",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/protocol/probe.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/protocol/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/probe",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.probe_sequence.pattern": "[ATGCUatgcu]+"
    },
    "/json_schema/module/protocol/matrix.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/protocol/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/matrix",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/file_content_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/file_content_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/length_unit_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/length_unit_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/cell_cycle_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/cell_cycle_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/library_amplification_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/library_amplification_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/contributor_role_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/contributor_role_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/ethnicity_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/ethnicity_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/target_pathway_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/target_pathway_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/treatment_method_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/treatment_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/cellular_component_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/cellular_component_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/library_construction_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/library_construction_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/process_type_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/process_type_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/sequencing_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/sequencing_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/species_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/species_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/disease_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/disease_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/strain_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/strain_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/file_format_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/file_format",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/enrichment_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/enrichment_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/organ_part_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/organ_part_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/microscopy_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/microscopy_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/time_unit_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/time_unit_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/protocol_type_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/protocol_type_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/development_stage_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/development_stage_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/instrument_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/instrument_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/mass_unit_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/mass_unit_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/biological_macromolecule_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/biological_macromolecule_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/cell_type_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/cell_type_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/ontology/organ_ontology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/ontology/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/organ_ontology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/project/funder.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/project/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/funder",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/project/hca_bionetwork.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/project/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/contact",
        "properties.schema_version.pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
        "properties.hca_tissue_atlas_version.pattern": "^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$"
    },
    "/json_schema/module/project/contact.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/project/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/contact",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/project/publication.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/project/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/publication",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/biomaterial/human_specific.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/human_specific",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/biomaterial/growth_conditions.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/growth_conditions",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/biomaterial/preservation_storage.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/preservation_storage",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/biomaterial/death.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/death",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.time_of_death.oneOf.1.pattern": "^((19|20)\\d\\d){1}([- \\./][01]\\d){0,1}([- \\./][0-3]\\d){0,1}$"
    },
    "/json_schema/module/biomaterial/familial_relationship.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/familial_relationship",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/biomaterial/medical_history.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/medical_history",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/biomaterial/cell_morphology.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/cell_morphology",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.cell_size.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$"
    },
    "/json_schema/module/biomaterial/state_of_specimen.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/state_of_specimen",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.gross_images.items.pattern": "^.*.jpg$|^.*.jpeg$|^.*.tiff$|^.*.png$",
        "properties.microscopic_images.items.pattern": "^.*.jpg$|^.*.jpeg$|^.*.tiff$|^.*.png$"
    },
    "/json_schema/module/biomaterial/timecourse.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/timecourse",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.value.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$"
    },
    "/json_schema/module/biomaterial/mouse_specific.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/mouse_specific",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/process/purchased_reagents.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/process/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/purchased_reagents",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.expiry_date.pattern": "^((19|20)\\d\\d){1}([- \\./][01]\\d){0,1}([- \\./][0-3]\\d){0,1}$"
    },
    "/json_schema/module/process/sequencing/insdc_experiment.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/process/sequencing/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/insdc_experiment",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.insdc_experiment_accession.pattern": "^[D|E|S]RX[0-9]+$"
    },
    "/json_schema/module/process/sequencing/barcode.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/process/sequencing/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/barcode",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/process/sequencing/10x.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/process/sequencing/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/10x",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/module/process/sequencing/plate_based_sequencing.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/process/sequencing/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/plate_based_sequencing",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/system/provenance.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/system/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/provenance",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.schema_major_version.pattern": "^[0-9]{1,}$",
        "properties.schema_minor_version.pattern": "^[0-9]{1,}$",
        "properties.document_id.pattern": ".{8}-.{4}-.{4}-.{4}-.{12}"
    },
    "/json_schema/system/file_descriptor.json": {
        "properties.describedBy.pattern": "^https?://schema.(.*)?humancellatlas.org/system/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/file_descriptor$",
        "properties.schema_version.pattern": "^[0-9]{1,}\\.[0-9]{1,}\\.[0-9]{1,}$",
        "properties.file_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "properties.file_version.pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{6}Z$",
        "properties.sha256.pattern": "^[a-f0-9]{64}$",
        "properties.crc32c.pattern": "^[a-f0-9]{8}$",
        "properties.sha1.pattern": "^[a-f0-9]{40}$"
    },
    "/json_schema/system/links.json": {
        "definitions.input.properties.input_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "definitions.output.properties.output_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "definitions.protocol.properties.protocol_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "definitions.process_link.properties.process_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "definitions.supplementary_file.properties.file_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "definitions.entity.properties.entity_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/system/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/links",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/system/license.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/system/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/license",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/file/sequence_file.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/file/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/sequence_file",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.insdc_run_accessions.items.pattern": "^[D|E|S]RR[0-9]+$"
    },
    "/json_schema/type/file/image_file.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/file/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/image_file",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/file/supplementary_file.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/file/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/supplementary_file",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/file/analysis_file.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/file/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/analysis_file",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/file/reference_file.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/file/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/reference_file",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/sequencing/sequencing_protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/sequencing/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/sequencing_protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/sequencing/library_preparation_protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/sequencing/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/library_preparation_protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/analysis/analysis_protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/analysis/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/analysis_protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/biomaterial_collection/aggregate_generation_protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/biomaterial_collection/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/aggregate_generation_protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/biomaterial_collection/enrichment_protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/biomaterial_collection/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/enrichment_protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/biomaterial_collection/dissociation_protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/biomaterial_collection/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/dissociation_protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/biomaterial_collection/ipsc_induction_protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/biomaterial_collection/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/ipsc_induction_protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/biomaterial_collection/collection_protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/biomaterial_collection/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/collection_protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/biomaterial_collection/differentiation_protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/biomaterial_collection/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/differentiation_protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/biomaterial_collection/treatment_protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/biomaterial_collection/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/treatment_protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/imaging/imaging_preparation_protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/imaging/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/imaging_preparation_protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/protocol/imaging/imaging_protocol.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/imaging/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/imaging_protocol",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/project/project.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/project/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/project",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.insdc_project_accessions.items.pattern": "^[D|E|S]RP[0-9]+$",
        "properties.ega_accessions.items.pattern": "^EGA[DS][0-9]{11}$",
        "properties.dbgap_accessions.items.pattern": "^phs[0-9]{6}(\\.v[0-9])?(\\.p[0-9])?$",
        "properties.geo_series_accessions.items.pattern": "^GSE.*$",
        "properties.array_express_accessions.items.pattern": "^E-....-.*$",
        "properties.insdc_study_accessions.items.pattern": "^PRJ[E|N|D][a-zA-Z][0-9]+$",
        "properties.biostudies_accessions.items.pattern": "^S-[A-Z]{4}[0-9]+$"
    },
    "/json_schema/type/biomaterial/specimen_from_organism.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/specimen_from_organism",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.collection_time.oneOf.1.pattern": "^((19|20)\\d\\d){1}([- \\./][01]\\d){0,1}([- \\./][0-3]\\d){0,1}$"
    },
    "/json_schema/type/biomaterial/cell_suspension.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/cell_suspension",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/biomaterial/cell_line.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/cell_line",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.date_established.pattern": "^((19|20)\\d\\d){1}([- \\./][01]\\d){0,1}([- \\./][0-3]\\d){0,1}$"
    },
    "/json_schema/type/biomaterial/imaged_specimen.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/imaged_specimen",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.overview_images.items.pattern": "^.*.jpg$|^.*.jpeg$|^.*.tiff$|^.*.png$"
    },
    "/json_schema/type/biomaterial/donor_organism.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/donor_organism",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.organism_age.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$",
        "properties.gestational_age.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$",
        "properties.height.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$",
        "properties.weight.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$"
    },
    "/json_schema/type/biomaterial/organoid.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/biomaterial/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/organoid",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$"
    },
    "/json_schema/type/process/process.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/process/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/process",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.start_time.oneOf.1.pattern": "^((19|20)\\d\\d){1}([- \\./][01]\\d){0,1}([- \\./][0-3]\\d){0,1}$",
        "properties.end_time.oneOf.1.pattern": "^((19|20)\\d\\d){1}([- \\./][01]\\d){0,1}([- \\./][0-3]\\d){0,1}$",
        "properties.length_of_time.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$"
    },
    "/json_schema/type/process/analysis/analysis_process.json": {
        "properties.describedBy.pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/process/analysis/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/analysis_process",
        "properties.schema_version.pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
        "properties.reference_files.items.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    }
}

@ESapenaVentura
Copy link
Collaborator

Most of the properties with a pattern are describedBy and schema_version. describedBy do not have issues (Except the one described in #1527 )

schema_version, however, has one of the issues described in the body of the ticket - An unscaped . . This will be taken into account for the PR.

When that is done, I will create a new list without the aforementioned fields to skim the list and make it more manageable

@ESapenaVentura
Copy link
Collaborator

After correcting the schema_version and removing the describedBy field, the list is much more manageable:

{
    "/json_schema/core/protocol/protocol_core.json": {
        "properties.document.pattern": "^.*.pdf$"
    },
    "/json_schema/core/biomaterial/biomaterial_core.json": {
        "properties.biosamples_accession.pattern": "^SAM(D|N|E([AG]?))[0-9]+$",
        "properties.insdc_sample_accession.pattern": "^[DES]RS[0-9]+$",
        "properties.HDBR_accession.pattern": "(^[0-9]{5})(,\\s[0-9]{1,},\\s[a-zA-Z]+$){0,1}"
    },
    "/json_schema/module/protocol/probe.json": {
        "properties.probe_sequence.pattern": "[ATGCUatgcu]+"
    },
    "/json_schema/module/project/hca_bionetwork.json": {
        "properties.hca_tissue_atlas_version.pattern": "^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$"
    },
    "/json_schema/module/biomaterial/death.json": {
        "properties.time_of_death.oneOf.1.pattern": "^((19|20)\\d\\d){1}([- \\./][01]\\d){0,1}([- \\./][0-3]\\d){0,1}$"
    },
    "/json_schema/module/biomaterial/cell_morphology.json": {
        "properties.cell_size.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$"
    },
    "/json_schema/module/biomaterial/state_of_specimen.json": {
        "properties.gross_images.items.pattern": "^.*.jpg$|^.*.jpeg$|^.*.tiff$|^.*.png$",
        "properties.microscopic_images.items.pattern": "^.*.jpg$|^.*.jpeg$|^.*.tiff$|^.*.png$"
    },
    "/json_schema/module/biomaterial/timecourse.json": {
        "properties.value.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$"
    },
    "/json_schema/module/process/purchased_reagents.json": {
        "properties.expiry_date.pattern": "^((19|20)\\d\\d){1}([- \\./][01]\\d){0,1}([- \\./][0-3]\\d){0,1}$"
    },
    "/json_schema/module/process/sequencing/insdc_experiment.json": {
        "properties.insdc_experiment_accession.pattern": "^[D|E|S]RX[0-9]+$"
    },
    "/json_schema/system/provenance.json": {
        "properties.schema_major_version.pattern": "^[0-9]{1,}$",
        "properties.schema_minor_version.pattern": "^[0-9]{1,}$",
        "properties.document_id.pattern": ".{8}-.{4}-.{4}-.{4}-.{12}"
    },
    "/json_schema/system/file_descriptor.json": {
        "properties.file_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "properties.file_version.pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{6}Z$",
        "properties.sha256.pattern": "^[a-f0-9]{64}$",
        "properties.crc32c.pattern": "^[a-f0-9]{8}$",
        "properties.sha1.pattern": "^[a-f0-9]{40}$"
    },
    "/json_schema/system/links.json": {
        "definitions.input.properties.input_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "definitions.output.properties.output_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "definitions.protocol.properties.protocol_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "definitions.process_link.properties.process_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "definitions.supplementary_file.properties.file_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
        "definitions.entity.properties.entity_id.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "/json_schema/type/file/sequence_file.json": {
        "properties.insdc_run_accessions.items.pattern": "^[D|E|S]RR[0-9]+$"
    },
    "/json_schema/type/project/project.json": {
        "properties.insdc_project_accessions.items.pattern": "^[D|E|S]RP[0-9]+$",
        "properties.ega_accessions.items.pattern": "^EGA[DS][0-9]{11}$",
        "properties.dbgap_accessions.items.pattern": "^phs[0-9]{6}(\\.v[0-9])?(\\.p[0-9])?$",
        "properties.geo_series_accessions.items.pattern": "^GSE.*$",
        "properties.array_express_accessions.items.pattern": "^E-....-.*$",
        "properties.insdc_study_accessions.items.pattern": "^PRJ[E|N|D][a-zA-Z][0-9]+$",
        "properties.biostudies_accessions.items.pattern": "^S-[A-Z]{4}[0-9]+$"
    },
    "/json_schema/type/biomaterial/specimen_from_organism.json": {
        "properties.collection_time.oneOf.1.pattern": "^((19|20)\\d\\d){1}([- \\./][01]\\d){0,1}([- \\./][0-3]\\d){0,1}$"
    },
    "/json_schema/type/biomaterial/cell_line.json": {
        "properties.date_established.pattern": "^((19|20)\\d\\d){1}([- \\./][01]\\d){0,1}([- \\./][0-3]\\d){0,1}$"
    },
    "/json_schema/type/biomaterial/imaged_specimen.json": {
        "properties.overview_images.items.pattern": "^.*.jpg$|^.*.jpeg$|^.*.tiff$|^.*.png$"
    },
    "/json_schema/type/biomaterial/donor_organism.json": {
        "properties.organism_age.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$",
        "properties.gestational_age.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$",
        "properties.height.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$",
        "properties.weight.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$"
    },
    "/json_schema/type/process/process.json": {
        "properties.start_time.oneOf.1.pattern": "^((19|20)\\d\\d){1}([- \\./][01]\\d){0,1}([- \\./][0-3]\\d){0,1}$",
        "properties.end_time.oneOf.1.pattern": "^((19|20)\\d\\d){1}([- \\./][01]\\d){0,1}([- \\./][0-3]\\d){0,1}$",
        "properties.length_of_time.pattern": "^[0-9]+\\.?[0-9]*-?[0-9]*\\.?[0-9]*$"
    },
    "/json_schema/type/process/analysis/analysis_process.json": {
        "properties.reference_files.items.pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    }
}

@ESapenaVentura
Copy link
Collaborator

ESapenaVentura commented Aug 31, 2023

From looking manually at the list, the first things I can highlight are:

@idazucchi
Copy link
Collaborator

idazucchi commented Sep 4, 2023

  • oneOf date time pattern doesn't match the example 2016-01-21T00:00:00Z, can we update the example as well?
  • module/biomaterial/state_of_specimen, gross_images : dot is not escaped
  • type/biomaterial/imaged_specimen.json, overview_images : dot is not escaped

@ESapenaVentura
Copy link
Collaborator

Yep! if we update the pattern we should update the example

thanks for the other suggestions!

@idazucchi
Copy link
Collaborator

Stalled for now - the schema updates needed by the integration team are more urgent for wave 2 (alignment software and library ID)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants