-
Notifications
You must be signed in to change notification settings - Fork 32
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
Comments
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}$"
}
}
|
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 When that is done, I will create a new list without the aforementioned fields to skim the list and make it more manageable |
After correcting the {
"/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}$"
}
}
|
From looking manually at the list, the first things I can highlight are:
|
|
Yep! if we update the pattern we should update the example thanks for the other suggestions! |
Stalled for now - the schema updates needed by the integration team are more urgent for wave 2 (alignment software and library ID) |
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:
.
characters that match any character when they are aiming to match an actual.
^<regex>$
Others feel free to add more
The text was updated successfully, but these errors were encountered: