diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 45116d385..000000000 --- a/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -/schema/models_directory/pb/qm/dft/dft_unit_functionals.json filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md index 2f4b206eb..e3e921ec7 100644 --- a/README.md +++ b/README.md @@ -94,17 +94,13 @@ Primitives are solely defined by the default primitives and can not be re-constr This directory contains the examples formed according to the schemas and implements the same directory structure as the schema directory. -Note: A list of DFT unit functionals (`dft_unit_functionals.json`) is generated during the Python test from the corresponding prototype file (`dft_unit_functionals_proto.json`). - ### src This directory contains Python and Javascript interfaces implementing the functionality to access and validate schemas and examples. -### A word on functionals -The list of DFT unit functionals (`dft_unit_functionals.json`) is currently tracked via [git LFS](https://git-lfs.github.com). -If one wishes to add a new unit functional to that list, please -- edit the [prototype file](schema/models_directory/pb/qm/dft/dft_unit_functionals_proto.json) and -- generate a new list of unit functional by running python tests, for example (via `generate_dft_unit_functionals()` from the [esse.functionals](src/py/esse/functionals.py) python module). +### Generative vs Non-generative keys +Generative keys are the fields which allow for user input prior to calculation of the final property values. A flag is included in the schema comments on the fields in [property schemas](schema/properties_directory): `isGenerative:true` marks which fields to use as subschemas in the generation of a user input schema. +- On properties allowing user inputs, additional fields may be tagged, as in [the `file_content` property](schema/properties_directory/non-scalar/file_content.json) ## Tests @@ -132,4 +128,3 @@ This repository is an [open-source](LICENSE.md) work-in-progress and we welcome 2: [CateCom: A Practical Data-Centric Approach to Categorization of Computational Models](https://pubs.acs.org/doi/abs/10.1021/acs.jcim.2c00112) 3: [GitHub Standard Fork & Pull Request Workflow](https://gist.github.com/Chaser324/ce0505fbed06b947d962) - diff --git a/example/method.json b/example/method.json index 1acf6644b..7df95ba8b 100644 --- a/example/method.json +++ b/example/method.json @@ -1,8 +1,6 @@ { "data": { - "dataset": { - "...": "include(methods_directory/pseudopotential/dataset.json)" - } + "pseudo": [] }, "subtype": "us", "type": "pseudopotential" diff --git a/example/method/categorized_method.json b/example/method/categorized_method.json new file mode 100644 index 000000000..6af99d17c --- /dev/null +++ b/example/method/categorized_method.json @@ -0,0 +1,47 @@ +{ + "name": "PW-NCPP (Davidson Diagonalization, Gaussian Smearing)", + "path": "/qm/wf/pw:/qm/wf/psp/nc?functional=pbe:/qm/wf/smearing/gaussian:/linalg/diag/davidson", + "units": [ + { + "name": "Plane-wave", + "path": "/qm/wf/pw", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "pw" + } + }, + { + "name": "Norm-conserving PSP", + "path": "/qm/wf/psp/nc?functional=pbe", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "psp", + "subtype": "nc" + }, + "parameters": { + "functional": "pbe" + } + }, + { + "name": "Gaussian Smearing method", + "path": "/qm/wf/smearing/gaussian", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "smearing", + "subtype": "gaussian" + } + }, + { + "name": "Davidson Diagonalization", + "path": "/linalg/diag/davidson", + "categories": { + "tier1": "linalg", + "tier2": "diag", + "type": "davidson" + } + } + ] +} diff --git a/example/methods_directory/local-orbital.json b/example/methods_directory/local-orbital.json deleted file mode 100644 index 9192b19d3..000000000 --- a/example/methods_directory/local-orbital.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "local-orbital", - "subtype": "pople", - "basisSet": { - "slug": "3-21G" - } -} diff --git a/example/methods_directory/mathematical/cg.json b/example/methods_directory/mathematical/cg.json new file mode 100644 index 000000000..b2ce49a35 --- /dev/null +++ b/example/methods_directory/mathematical/cg.json @@ -0,0 +1,10 @@ +{ + "name": "Conjugate gradient method", + "path": "/opt/diff/ordern/cg", + "categories": { + "tier1": "opt", + "tier2": "diff", + "tier3": "ordern", + "type": "cg" + } +} diff --git a/example/methods_directory/regression.json b/example/methods_directory/mathematical/regression.json similarity index 83% rename from example/methods_directory/regression.json rename to example/methods_directory/mathematical/regression.json index 5f81c4733..ae1597718 100644 --- a/example/methods_directory/regression.json +++ b/example/methods_directory/mathematical/regression.json @@ -49,10 +49,17 @@ ] }, "precision": { - "perProperty": { - "...": "include(regression/precision.json)" - } + "perProperty": [ + { + "score": 0.8, + "trainingError": 0.002 + } + ] + }, + "categories": { + "type": "linear", + "subtype": "least_squares" }, - "subtype": "least_squares", - "type": "linear" + "name": "Linear least squares regression", + "path": "/linear/leastsq" } diff --git a/example/methods_directory/physical/ao/dunning.json b/example/methods_directory/physical/ao/dunning.json new file mode 100644 index 000000000..2bcd84c06 --- /dev/null +++ b/example/methods_directory/physical/ao/dunning.json @@ -0,0 +1,13 @@ +{ + "name": "cc-pVTZ basis set", + "path": "/qm/wf/ao/dunning?basisSlug=cc-pvtz", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "ao", + "subtype": "dunning" + }, + "parameters": { + "basisSlug": "cc-pvtz" + } +} diff --git a/example/methods_directory/physical/psp.json b/example/methods_directory/physical/psp.json new file mode 100644 index 000000000..16ebacb71 --- /dev/null +++ b/example/methods_directory/physical/psp.json @@ -0,0 +1,31 @@ +{ + "name": "PAW Pseudopotential method (VASP)", + "path": "/qm/wf/psp/paw", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "psp", + "subtype": "paw" + }, + "data": { + "pseudo": [ + { + "_id": "56f26f3c9abea1134ba0c50e", + "textHeading": "VRHFIN =Si: s2p2\n LEXCH = PE\n EATOM = 103.0669 eV, 7.5752 Ry\n\n TITEL = PAW_PBE Si 05Jan2001\n LULTRA = F use ultrasoft PP ?\n IUNSCR = 1 unscreen: 0-lin 1-nonlin 2-no\n RPACOR = 1.500 partial core radius\n POMASS = 28.085; ZVAL = 4.000 mass and valenz\n RCORE = 1.900 outmost cutoff radius\n RWIGS = 2.480; RWIGS = 1.312 wigner-seitz radius (au A)\n ENMAX = 245.345; ENMIN = 184.009 eV\n ICORE = 2 local potential\n LCOR = T correct aug charges\n LPAW = T paw PP\n EAUG = 322.069\n DEXC = 0.000\n RMAX = 1.950 core radius for proj-oper\n RAUG = 1.300 factor for augmentation sphere\n RDEP = 1.993 radius for radial grids\n RDEPT = 1.837 core radius for aug-charge\n \n Atomic configuration\n 6 entries\n n l j E occ.\n 1 0 0.50 -1785.8828 2.0000\n 2 0 0.50 -139.4969 2.0000\n 2 1 1.50 -95.5546 6.0000\n 3 0 0.50 -10.8127 2.0000\n 3 1 0.50 -4.0811 2.0000\n 3 2 1.50 -4.0817 0.0000\n Description\n l E TYP RCUT TYP RCUT\n 0 -10.8127223 23 1.900\n 0 -7.6451159 23 1.900\n 1 -4.0811372 23 1.900\n 1 2.4879257 23 1.900\n 2 -4.0817478 7 1.900\n Error from kinetic energy argument (eV)\n NDATA = 100\n STEP = 20.000 1.050\n 10.1 9.04 8.56 7.65 7.23 6.44 5.73 5.40\n 4.79 4.25 4.00 3.54 3.13 2.77 2.45 2.16\n 1.91 1.69 1.50 1.24 1.10 0.975 0.812 0.718\n 0.636 0.529 0.440 0.388 0.322 0.266 0.219 0.180\n 0.148 0.121 0.986E-01 0.804E-01 0.614E-01 0.504E-01 0.392E-01 0.328E-01\n 0.265E-01 0.220E-01 0.189E-01 0.166E-01 0.149E-01 0.135E-01 0.123E-01 0.109E-01\n 0.977E-02 0.840E-02 0.707E-02 0.605E-02 0.488E-02 0.387E-02 0.290E-02 0.229E-02\n 0.185E-02 0.152E-02 0.134E-02 0.125E-02 0.121E-02 0.117E-02 0.112E-02 0.102E-02\n 0.915E-03 0.776E-03 0.640E-03 0.524E-03 0.425E-03 0.369E-03 0.331E-03 0.310E-03\n 0.294E-03 0.273E-03 0.242E-03 0.210E-03 0.175E-03 0.146E-03 0.124E-03 0.113E-03\n 0.105E-03 0.973E-04 0.879E-04 0.755E-04 0.633E-04 0.539E-04 0.478E-04 0.438E-04\n 0.404E-04 0.362E-04 0.308E-04 0.264E-04 0.229E-04 0.209E-04 0.192E-04 0.170E-04\n 0.145E-04 0.126E-04 0.112E-04 0.103E-04", + "apps": [ + "vasp" + ], + "element": "Si", + "source": "vasp", + "version": "5.2", + "path": "/export/share/pseudo/si/gga/pbe/vasp/5.2/paw/default/POTCAR", + "type": "paw", + "exchangeCorrelation": "/pb/qm/dft/ksdft/gga?functional=pbe", + "filename": "POTCAR", + "schemaVersion": "0.2.0", + "inSet": [], + "tags": [] + } + ] + } +} diff --git a/example/methods_directory/physical/pw.json b/example/methods_directory/physical/pw.json new file mode 100644 index 000000000..1165a8cbe --- /dev/null +++ b/example/methods_directory/physical/pw.json @@ -0,0 +1,9 @@ +{ + "name": "Plane wave basis", + "path": "/qm/wf/pw", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "pw" + } +} diff --git a/example/methods_directory/physical/smearing.json b/example/methods_directory/physical/smearing.json new file mode 100644 index 000000000..3a62c4c38 --- /dev/null +++ b/example/methods_directory/physical/smearing.json @@ -0,0 +1,10 @@ +{ + "name": "Methfessel-Paxton smearing", + "path": "/qm/wf/smearing/methfessel-paxton", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "smearing", + "subtype": "methfessel-paxton" + } +} diff --git a/example/methods_directory/physical/tetrahedron.json b/example/methods_directory/physical/tetrahedron.json new file mode 100644 index 000000000..7355237b7 --- /dev/null +++ b/example/methods_directory/physical/tetrahedron.json @@ -0,0 +1,10 @@ +{ + "name": "Optimized Tetrahedron method (Kawamura)", + "path": "/qm/wf/tetrahedron/optimized", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "tetrahedron", + "subtype": "optimized" + } +} diff --git a/example/methods_directory/pseudopotential.json b/example/methods_directory/pseudopotential.json deleted file mode 100644 index 23aedd22b..000000000 --- a/example/methods_directory/pseudopotential.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "data": { - "pseudo": [ - { - "...": "include(pseudopotential/dataset.json)" - } - ], - "searchText": "" - }, - "subtype": "us", - "type": "pseudopotential" -} diff --git a/example/methods_directory/pseudopotential/dataset.json b/example/methods_directory/pseudopotential/dataset.json deleted file mode 100644 index 0c179c34c..000000000 --- a/example/methods_directory/pseudopotential/dataset.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "apps": [ - "espresso" - ], - "elements": [ - "Si", - "Ge", - "As" - ], - "exchangeCorrelation": { - "...": "include(file/exchange_correlation.json)" - }, - "files": [ - { - "...": "include(file.json)" - } - ], - "format": "upf", - "name": "my set", - "source": "gbrv", - "type": "us", - "version": "1.5" -} diff --git a/example/methods_directory/pseudopotential/file.json b/example/methods_directory/pseudopotential/file.json deleted file mode 100644 index 792135522..000000000 --- a/example/methods_directory/pseudopotential/file.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "apps": [ - "vasp" - ], - "electronicConfiguration": "s2p2", - "element": "Si", - "energyCutoff": { - "...": "include(file/energy_cutoff.json)" - }, - "exchangeCorrelation": { - "...": "include(file/exchange_correlation.json)" - }, - "generationDate": "05Jan2001", - "mass": 28.085, - "name": "pseudopotential file", - "path": "/export/share/pseudo/ag/gga/pbe/gbrv/1.4/us/ag_pbe_gbrv_1.4.upf", - "radii": { - "...": "include(file/radii.json)" - }, - "source": "vasp", - "textHeading": "PAW_PBE Si 05Jan2001\n 4.00000000000000\nparameters from PSCTR are:\n VRHFIN =Si: s2p2\n LEXCH = PE\n EATOM = 103.0669 eV, 7.5752 Ry\n \n TITEL = PAW_PBE Si 05Jan2001\n LULTRA = F use ultrasoft PP ?\n IUNSCR = 1 unscreen: 0-lin 1-nonlin 2-no\n RPACOR = 1.500 partial core radius\n POMASS = 28.085; ZVAL = 4.000 mass and valenz\n RCORE = 1.900 outmost cutoff radius\n RWIGS = 2.480; RWIGS = 1.312 wigner-seitz radius (au A)\n ENMAX = 245.345; ENMIN = 184.009 eV\n ICORE = 2 local potential\n LCOR = T correct aug charges\n LPAW = T paw PP\n EAUG = 322.069\n DEXC = 0.000\n RMAX = 1.950 core radius for proj-oper\n RAUG = 1.300 factor for augmentation sphere\n RDEP = 1.993 radius for radial grids\n RDEPT = 1.837 core radius for aug-charge\n \n Atomic configuration\n 6 entries n l j E occ.\n 1 0 0.50 -1785.8828 2.0000\n 2 0 0.50 -139.4969 2.0000\n 2 1 1.50 -95.5546 6.0000\n 3 0 0.50 -10.8127 2.0000\n 3 1 0.50 -4.0811 2.0000\n 3 2 1.50 -4.0817 0.0000\n Description\n l E TYP RCUT TYP RCUT\n 0 -10.8127223 23 1.900\n 0 -7.6451159 23 1.900\n 1 -4.0811372 23 1.900\n 1 2.4879257 23 1.900\n 2 -4.0817478 7 1.900\n Error from kinetic energy argument (eV)\n", - "title": "Si paw pbe vasp 5.2", - "type": "paw", - "valenceElectrons": 4 -} diff --git a/example/methods_directory/pseudopotential/file/energy_cutoff.json b/example/methods_directory/pseudopotential/file/energy_cutoff.json deleted file mode 100644 index df8f56961..000000000 --- a/example/methods_directory/pseudopotential/file/energy_cutoff.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "max": 245.345, - "min": 184.009, - "name": "energy cutoff", - "units": "eV" -} diff --git a/example/methods_directory/pseudopotential/file/exchange_correlation.json b/example/methods_directory/pseudopotential/file/exchange_correlation.json deleted file mode 100644 index 705bca32d..000000000 --- a/example/methods_directory/pseudopotential/file/exchange_correlation.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "approximation": "gga", - "functional": "pbe" -} diff --git a/example/methods_directory/pseudopotential/file/radii.json b/example/methods_directory/pseudopotential/file/radii.json deleted file mode 100644 index 3cf2d188b..000000000 --- a/example/methods_directory/pseudopotential/file/radii.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "cutoff": 1.9, - "name": "radii", - "partialCore": 1.5, - "units": "angstrom", - "wignerSeitz": 1.312 -} diff --git a/example/methods_directory/pseudopotential/precision.json b/example/methods_directory/pseudopotential/precision.json deleted file mode 100644 index deba166b8..000000000 --- a/example/methods_directory/pseudopotential/precision.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "ecutrho": 40, - "ecutwfc": 200, - "kgrid": { - "dimensions": [ - 2, - 2, - 2 - ], - "shifts": [ - 0, - 0, - 0 - ] - } -} diff --git a/example/methods_directory/regression/data_per_feature.json b/example/methods_directory/regression/data_per_feature.json deleted file mode 100644 index 64d1cea1f..000000000 --- a/example/methods_directory/regression/data_per_feature.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "importance": 0.134, - "name": "atomic_radius:Ge" -} diff --git a/example/methods_directory/regression/dataset.json b/example/methods_directory/regression/dataset.json deleted file mode 100644 index 732c03c0a..000000000 --- a/example/methods_directory/regression/dataset.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "exabyteIds": [ - "LCthJ6E2QabYCZqf4", - "LCthJ6E2QabYCZqf5", - "LCthJ6E2QabYCZqf6", - "LCthJ6E2QabYCZqf7", - "LCthJ6E2QabYCZqf8", - "LCthJ6E2QabYCZqf9", - "LCthJ6E2QabYCZq10", - "LCthJ6E2QabYCZq11" - ], - "extra": {} -} diff --git a/example/methods_directory/regression/kernel_ridge/data_per_property.json b/example/methods_directory/regression/kernel_ridge/data_per_property.json deleted file mode 100644 index 4a608d50b..000000000 --- a/example/methods_directory/regression/kernel_ridge/data_per_property.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "dualCoefficients": [ - [ - 1.5405595337211027 - ], - [ - 1.5875260161810345 - ] - ], - "name": "band_gaps:direct", - "perFeature": [ - { - "...": "include(../data_per_feature.json)" - }, - { - "...": "include(../data_per_feature.json)" - } - ], - "xFit": [ - [ - 0.0, - 1.0 - ], - [ - 0.0, - -1.0 - ] - ] -} diff --git a/example/methods_directory/regression/linear/data_per_property.json b/example/methods_directory/regression/linear/data_per_property.json deleted file mode 100644 index 6abd1d3d2..000000000 --- a/example/methods_directory/regression/linear/data_per_property.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "intercept": 0.363, - "name": "band_gaps:direct", - "perFeature": [ - { - "...": "include(../data_per_feature.json)", - "coefficient": 0.015 - }, - { - "...": "include(../data_per_feature.json)", - "coefficient": 0.016 - } - ] -} diff --git a/example/methods_directory/regression/precision.json b/example/methods_directory/regression/precision.json deleted file mode 100644 index 10fc2c2af..000000000 --- a/example/methods_directory/regression/precision.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "score": 0.8, - "trainingError": 0.002 -} diff --git a/example/methods_directory/regression/precision_per_property.json b/example/methods_directory/regression/precision_per_property.json deleted file mode 100644 index 10fc2c2af..000000000 --- a/example/methods_directory/regression/precision_per_property.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "score": 0.8, - "trainingError": 0.002 -} diff --git a/example/model/categorized_model.json b/example/model/categorized_model.json new file mode 100644 index 000000000..fad3da932 --- /dev/null +++ b/example/model/categorized_model.json @@ -0,0 +1,33 @@ +{ + "name": "PZ+U (magnetism)", + "categories": { + "tier1": { + "name": "physics-based", + "slug": "pb" + }, + "tier2": { + "name": "quantum-mechanical", + "slug": "qm" + }, + "tier3": { + "name": "density functional theory", + "slug": "dft" + }, + "type": { + "name": "Kohn-Sham DFT", + "slug": "ksdft" + }, + "subtype": { + "name": "Local Density Approximation", + "slug": "lda" + } + }, + "parameters": { + "functional": "pz", + "spinPolarization": "collinear", + "hubbardType": "U" + }, + "method": { + "...": "include(../method/categorized_method.json)" + } +} diff --git a/example/model/tags.json b/example/model/tags.json deleted file mode 100644 index 6b682dc5f..000000000 --- a/example/model/tags.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - "user-adjustable" -] diff --git a/example/models_category/pb/qm/abin/gw.json b/example/models_category/pb/qm/abin/gw.json new file mode 100644 index 000000000..d5198602d --- /dev/null +++ b/example/models_category/pb/qm/abin/gw.json @@ -0,0 +1,7 @@ +{ + "tier1": "pb", + "tier2": "qm", + "tier3": "abin", + "type": "gw", + "subtype": "evgw" + } diff --git a/example/models_category/pb/qm/dft/ksdft.json b/example/models_category/pb/qm/dft/ksdft.json new file mode 100644 index 000000000..9794258f7 --- /dev/null +++ b/example/models_category/pb/qm/dft/ksdft.json @@ -0,0 +1,6 @@ +{ + "tier1": "pb", + "tier2": "qm", + "tier3": "dft", + "type": "ksdft" +} diff --git a/example/models_category/pb/qm/semp.json b/example/models_category/pb/qm/semp.json new file mode 100644 index 000000000..1f3d6c536 --- /dev/null +++ b/example/models_category/pb/qm/semp.json @@ -0,0 +1,5 @@ +{ + "tier1": "pb", + "tier2": "qm", + "tier3": "semp" +} diff --git a/example/models_directory/gga.json b/example/models_directory/gga.json new file mode 100644 index 000000000..37665b75e --- /dev/null +++ b/example/models_directory/gga.json @@ -0,0 +1,15 @@ +{ + "name": "PBE-D3 (SOC)", + "categories": { + "tier1": "pb", + "tier2": "qm", + "tier3": "dft", + "type": "ksdft", + "subtype": "gga" + }, + "parameters": { + "functional": "pbe", + "spinOrbitCoupling": true, + "dispersionCorrection": "DFT-D3" + } +} diff --git a/example/models_directory/gw.json b/example/models_directory/gw.json new file mode 100644 index 000000000..aac2a5b11 --- /dev/null +++ b/example/models_directory/gw.json @@ -0,0 +1,15 @@ +{ + "name": "G0W0@PBE (SOC)", + "categories": { + "tier1": "pb", + "tier2": "qm", + "tier3": "abin", + "type": "gw", + "subtype": "g0w0" + }, + "parameters": { + "functional": "pbe", + "require": "/pb/qm/dft/ksdft/gga", + "spinOrbitCoupling": true + } +} diff --git a/example/models_directory/hybrid.json b/example/models_directory/hybrid.json new file mode 100644 index 000000000..968223e7a --- /dev/null +++ b/example/models_directory/hybrid.json @@ -0,0 +1,15 @@ +{ + "name": "HSE06 (SOC)", + "categories": { + "tier1": "pb", + "tier2": "qm", + "tier3": "dft", + "type": "ksdft", + "subtype": "hybrid" + }, + "parameters": { + "functional": "hse06", + "spinOrbitCoupling": true, + "spinPolarization": "non-collinear" + } +} diff --git a/example/models_directory/lda.json b/example/models_directory/lda.json new file mode 100644 index 000000000..94cd5c4af --- /dev/null +++ b/example/models_directory/lda.json @@ -0,0 +1,15 @@ +{ + "name": "PZ+U (magnetism)", + "categories": { + "tier1": "pb", + "tier2": "qm", + "tier3": "dft", + "type": "ksdft", + "subtype": "lda" + }, + "parameters": { + "functional": "pz", + "spinPolarization": "collinear", + "hubbardType": "U" + } +} diff --git a/example/models_directory/pb/qm/abin/configuration_interaction.json b/example/models_directory/pb/qm/abin/configuration_interaction.json deleted file mode 100644 index b1c58d372..000000000 --- a/example/models_directory/pb/qm/abin/configuration_interaction.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "tier1": { - "name": "physics-based", - "slug": "pb" - }, - "tier2": { - "name": "quantum-mechanical", - "slug": "qm" - }, - "tier3": { - "name": "ab-initio", - "slug": "abin" - }, - "type": { - "name": "configuration interaction", - "slug": "ci" - }, - "subtype": { - "name": "MR-CISD", - "slug": "mrcisd" - }, - "modifier": [ - "multi-reference" - ], - "tags": [ - "scaling-degree:6", - "excited-states", - "user-adjustable" - ], - "method": { - "...": "include(../../../../method.json)" - } -} diff --git a/example/models_directory/pb/qm/dft/dispersion_models_directory/dft_d.json b/example/models_directory/pb/qm/dft/dispersion_models_directory/dft_d.json deleted file mode 100644 index d9deb4631..000000000 --- a/example/models_directory/pb/qm/dft/dispersion_models_directory/dft_d.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "modelType": "empirical", - "usage": "post-scf", - "type": { - "name": "Empirical dispersion DFT-D", - "slug": "empirical-dft-d" - }, - "subtype": { - "name": "DFT-D3(BJ)", - "slug": "dft-d3-bj" - } -} diff --git a/example/models_directory/pb/qm/dft/dispersion_models_directory/exchange_dipole.json b/example/models_directory/pb/qm/dft/dispersion_models_directory/exchange_dipole.json deleted file mode 100644 index b1534d0a5..000000000 --- a/example/models_directory/pb/qm/dft/dispersion_models_directory/exchange_dipole.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "modelType": "empirical", - "usage": "post-scf", - "type": { - "name": "Exchange-Dipole Model (XDM)", - "slug": "exchange-dipole-model" - }, - "subtype": { - "name": "XDM10", - "slug": "xdm10" - } -} diff --git a/example/models_directory/pb/qm/dft/dispersion_models_directory/many_body_dispersion.json b/example/models_directory/pb/qm/dft/dispersion_models_directory/many_body_dispersion.json deleted file mode 100644 index c98813fd6..000000000 --- a/example/models_directory/pb/qm/dft/dispersion_models_directory/many_body_dispersion.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "modelType": "ab initio", - "usage": "post-scf", - "type": { - "name": "Many-body dispersion correction", - "slug": "many-body-disp" - }, - "subtype": { - "name": "MBD@rsSCS (range-separated self-consistent screening)", - "slug": "mbd-rsscs" - } -} diff --git a/example/models_directory/pb/qm/dft/dispersion_models_directory/non_local_correlation.json b/example/models_directory/pb/qm/dft/dispersion_models_directory/non_local_correlation.json deleted file mode 100644 index 12a9525f3..000000000 --- a/example/models_directory/pb/qm/dft/dispersion_models_directory/non_local_correlation.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "modelType": "ab initio", - "usage": "intra-scf", - "type": { - "name": "Non-Local Correlation (NLC) Functionals", - "slug": "nlc" - }, - "subtype": { - "name": "rVV10", - "slug": "rvv10" - } -} diff --git a/example/models_directory/pb/qm/dft/dispersion_models_directory/tkatchenko_scheffler.json b/example/models_directory/pb/qm/dft/dispersion_models_directory/tkatchenko_scheffler.json deleted file mode 100644 index 9f09ca94e..000000000 --- a/example/models_directory/pb/qm/dft/dispersion_models_directory/tkatchenko_scheffler.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "modelType": "empirical", - "usage": "post-scf", - "type": { - "name": "Tkatchenko-Scheffler van der Waals Model (TS-vdW)", - "slug": "ts-vdw" - } -} diff --git a/example/models_directory/pb/qm/dft/functional.json b/example/models_directory/pb/qm/dft/functional.json deleted file mode 100644 index 48e1d837c..000000000 --- a/example/models_directory/pb/qm/dft/functional.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "SPW92", - "slug": "spw92", - "components": [ - { - "name": "Perdew-Wang 1992", - "slug": "pw92", - "type": "correlation", - "fraction": 1.0 - }, - { - "name": "Slater", - "slug": "slater", - "type": "exchange", - "fraction": 1.0 - } - ] -} diff --git a/example/models_directory/pb/qm/dft/functional/component.json b/example/models_directory/pb/qm/dft/functional/component.json deleted file mode 100644 index 9cdba4e47..000000000 --- a/example/models_directory/pb/qm/dft/functional/component.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "Perdew-Wang 1992", - "slug": "pw92", - "type": "correlation", - "fraction": 1.0 -} diff --git a/example/models_directory/pb/qm/dft/functional/components_directory/local_functional_lda.json b/example/models_directory/pb/qm/dft/functional/components_directory/local_functional_lda.json deleted file mode 100644 index d6396f1ec..000000000 --- a/example/models_directory/pb/qm/dft/functional/components_directory/local_functional_lda.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Perdew-Wang 1992", - "slug": "pw92", - "type": "correlation" -} diff --git a/example/models_directory/pb/qm/dft/ksdft.json b/example/models_directory/pb/qm/dft/ksdft.json deleted file mode 100644 index f65c8abd4..000000000 --- a/example/models_directory/pb/qm/dft/ksdft.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "tier1": { - "name": "physics-based", - "slug": "pb" - }, - "tier2": { - "name": "quantum-mechanical", - "slug": "qm" - }, - "tier3": { - "name": "density functional theory", - "slug": "dft" - }, - "type": { - "name": "Kohn-Sham DFT", - "slug": "ksdft" - }, - "subtype": { - "name": "Generalized Gradient Approximation", - "slug": "gga" - }, - "functional": { - "...": "include(functional.json)" - }, - "dispersionModel": { - "...": "include(dispersion_models_directory/dft_d.json)" - }, - "method": { - "...": "include(../../../../methods_directory/pseudopotential.json)" - }, - "modifiers": [ - "soc" - ], - "tags": [ - "user-adjustable", - "scaling-degree:3" - ] -} diff --git a/example/models_directory/pb/qm/dft/ksdft/double_hybrid/functional.json b/example/models_directory/pb/qm/dft/ksdft/double_hybrid/functional.json deleted file mode 100644 index 9f590af19..000000000 --- a/example/models_directory/pb/qm/dft/ksdft/double_hybrid/functional.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "B2PLYP", - "slug": "b2plyp", - "components": [ - { - "name": "exact Exchange", - "slug": "exact-exchange", - "type": "exchange", - "fraction": 0.53 - }, - { - "name": "Becke 1988", - "slug": "b88", - "type": "exchange", - "fraction": 0.47 - }, - { - "name": "mp2-correction", - "slug": "mp2", - "type": "correlation", - "subtype": "all-spin", - "fraction": 0.27 - }, - { - "name": "LYP", - "slug": "lyp", - "type": "correlation", - "fraction": 0.73 - } - ] -} diff --git a/example/models_directory/pb/qm/dft/ksdft/double_hybrid/range_separated_functional.json b/example/models_directory/pb/qm/dft/ksdft/double_hybrid/range_separated_functional.json deleted file mode 100644 index 8860046ee..000000000 --- a/example/models_directory/pb/qm/dft/ksdft/double_hybrid/range_separated_functional.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "wB97X-2(LP)", - "slug": "wb97x2lp", - "attenuation": 0.3, - "components": [ - { - "name": "exact Exchange", - "slug": "exact-exchange", - "type": "exchange", - "range": "short-range", - "fraction": 0.6788 - }, - { - "name": "exact Exchange", - "slug": "exact-exchange", - "type": "exchange", - "range": "long-range", - "fraction": 1.0 - }, - { - "name": "Becke 1997", - "slug": "b97-x", - "type": "exchange", - "range": "short-range", - "fraction": 0.3212 - }, - { - "name": "Becke 1997", - "slug": "b97-x", - "type": "exchange", - "range": "long-range", - "fraction": 0.0 - }, - { - "name": "mp2-correction", - "slug": "mp2", - "type": "correlation", - "subtype": "same-spin", - "fraction": 0.5816 - }, - { - "name": "mp2-correction", - "slug": "mp2", - "type": "correlation", - "subtype": "opposite-spin", - "fraction": 0.4780 - } - ] -} diff --git a/example/models_directory/pb/qm/dft/ksdft/gga/functional.json b/example/models_directory/pb/qm/dft/ksdft/gga/functional.json deleted file mode 100644 index a1611f650..000000000 --- a/example/models_directory/pb/qm/dft/ksdft/gga/functional.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "PBE", - "slug": "pbe", - "components": [ - { - "name": "PBE", - "slug": "pbe-x", - "type": "exchange", - "fraction": 1.0 - }, - { - "name": "PBE", - "slug": "pbe-c", - "type": "correlation", - "fraction": 1.0 - } - ] -} diff --git a/example/models_directory/pb/qm/dft/ksdft/hybrid/functional.json b/example/models_directory/pb/qm/dft/ksdft/hybrid/functional.json deleted file mode 100644 index 5ad1669fd..000000000 --- a/example/models_directory/pb/qm/dft/ksdft/hybrid/functional.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "B3LYP", - "slug": "b3lyp", - "components": [ - { - "name": "exact Exchange", - "slug": "exact-exchange", - "type": "exchange", - "fraction": 0.2 - }, - { - "name": "Slater", - "slug": "slater", - "type": "exchange", - "fraction": 0.08 - }, - { - "name": "Becke 1988", - "slug": "b88", - "type": "exchange", - "fraction": 0.72 - }, - { - "name": "VWN1RPA", - "slug": "vwn1rpa", - "type": "correlation", - "fraction": 0.19 - }, - { - "name": "LYP", - "slug": "lyp", - "type": "correlation", - "fraction": 0.81 - } - ] -} diff --git a/example/models_directory/pb/qm/dft/ksdft/hybrid/range_separated_functional.json b/example/models_directory/pb/qm/dft/ksdft/hybrid/range_separated_functional.json deleted file mode 100644 index 25fb19e62..000000000 --- a/example/models_directory/pb/qm/dft/ksdft/hybrid/range_separated_functional.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "CAM-B3LYP", - "slug": "camb3lyp", - "attenuation": 0.33, - "components": [ - { - "name": "exact Exchange", - "slug": "exact-exchange", - "type": "exchange", - "range": "short-range", - "fraction": 0.19 - }, - { - "name": "exact Exchange", - "slug": "exact-exchange", - "type": "exchange", - "range": "long-range", - "fraction": 0.65 - }, - { - "name": "Becke 1988", - "slug": "b88", - "type": "exchange", - "range": "short-range", - "fraction": 0.81 - }, - { - "name": "Becke 1988", - "slug": "b88", - "type": "exchange", - "range": "long-range", - "fraction": 0.35 - }, - { - "name": "VWN1RPA", - "slug": "vwn1rpa", - "type": "correlation", - "fraction": 0.19 - }, - { - "name": "LYP", - "slug": "lyp", - "type": "correlation", - "fraction": 0.81 - } - ] -} diff --git a/example/models_directory/pb/qm/dft/ksdft/lda.json b/example/models_directory/pb/qm/dft/ksdft/lda.json deleted file mode 100644 index d7f7781ee..000000000 --- a/example/models_directory/pb/qm/dft/ksdft/lda.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "tier1": { - "name": "physics-based", - "slug": "pb" - }, - "tier2": { - "name": "quantum-mechanical", - "slug": "qm" - }, - "tier3": { - "name": "density functional theory", - "slug": "dft" - }, - "type": { - "name": "Kohn-Sham DFT", - "slug": "ksdft" - }, - "subtype": { - "name": "Local Density Approximation", - "slug": "lda" - }, - "functional": { - "...": "include(lda/functional.json)" - }, - "method": { - "...": "include(../../../../../methods_directory/pseudopotential.json)" - }, - "modifiers": [ - "soc" - ], - "tags": [ - "user-adjustable", - "scaling-degree:3" - ] -} diff --git a/example/models_directory/pb/qm/dft/ksdft/lda/functional.json b/example/models_directory/pb/qm/dft/ksdft/lda/functional.json deleted file mode 100644 index fc6a991e8..000000000 --- a/example/models_directory/pb/qm/dft/ksdft/lda/functional.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "SVWN5", - "slug": "svwn5", - "components": [ - { - "name": "Slater", - "slug": "slater", - "type": "exchange", - "fraction": 1.0 - }, - { - "name": "VWN5", - "slug": "vwn5", - "type": "correlation", - "fraction": 1.0 - } - ] -} diff --git a/example/models_directory/pb/qm/dft/ksdft/mgga/functional.json b/example/models_directory/pb/qm/dft/ksdft/mgga/functional.json deleted file mode 100644 index 05c3cbf0e..000000000 --- a/example/models_directory/pb/qm/dft/ksdft/mgga/functional.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "TPSS", - "slug": "tpss", - "components": [ - { - "name": "TPSS", - "slug": "tpss-x", - "type": "exchange", - "fraction": 1.0 - }, - { - "name": "TPSS", - "slug": "tpss-c", - "type": "correlation", - "fraction": 1.0 - } - ] -} diff --git a/example/models_directory/pb/qm/semp.json b/example/models_directory/pb/qm/semp.json deleted file mode 100644 index e80eb29b2..000000000 --- a/example/models_directory/pb/qm/semp.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "tier1": { - "name": "physics-based", - "slug": "pb" - }, - "tier2": { - "name": "quantum-mechanical", - "slug": "qm" - }, - "tier3": { - "name": "semi-empirical", - "slug": "semp" - }, - "type": { - "name": "parametric method 7", - "slug": "pm7" - }, - "method": { - "...": "include(../../../method.json)" - } -} diff --git a/example/models_directory/re.json b/example/models_directory/re.json new file mode 100644 index 000000000..8ba13ee09 --- /dev/null +++ b/example/models_directory/re.json @@ -0,0 +1,9 @@ +{ + "categories": { + "tier1": "st", + "tier2": "det", + "tier3": "ml", + "type": "re" + }, + "parameters": {} +} diff --git a/example/models_directory/st/det/ml.json b/example/models_directory/st/det/ml.json deleted file mode 100644 index 64a038feb..000000000 --- a/example/models_directory/st/det/ml.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "method": { - "...": "include(../../../methods_directory/regression.json)" - }, - "tier1": { - "name": "statistical", - "slug": "st" - }, - "tier2": { - "name": "deterministic", - "slug": "det" - }, - "tier3": { - "name": "machine learning", - "slug": "ml" - }, - "type": { - "name": "regression", - "slug": "re" - } -} diff --git a/example/new_model.json b/example/new_model.json deleted file mode 100644 index 476291b13..000000000 --- a/example/new_model.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "...": "include(models_directory/pb/qm/abin/configuration_interaction.json)" -} diff --git a/example/properties_directory/non-scalar/dielectric_tensor.json b/example/properties_directory/non-scalar/dielectric_tensor.json new file mode 100644 index 000000000..37b6176cd --- /dev/null +++ b/example/properties_directory/non-scalar/dielectric_tensor.json @@ -0,0 +1,133 @@ +{ + "name": "dielectric_tensor", + "values": [ + { + "part": "real", + "spin": 0.5, + "frequencies": [ + 0.000000000, + 0.060120240, + 0.120240481, + 0.180360721 + ], + "components": [ + [ + 0.000000000, + 0.000000000, + 0.000000000 + ], + [ + 0.019862988, + 0.019862988, + 0.019862987 + ], + [ + 0.039813564, + 0.039813565, + 0.039813563 + ], + [ + 0.059940387, + 0.059940389, + 0.059940385 + ] + ] + }, + { + "part": "imaginary", + "spin": 0.5, + "frequencies": [ + 0.000000000, + 0.060120240, + 0.120240481, + 0.180360721 + ], + "components": [ + [ + 0.000000000, + 0.000000000, + 0.000000000 + ], + [ + 0.019862988, + 0.019862988, + 0.019862987 + ], + [ + 0.039813564, + 0.039813565, + 0.039813563 + ], + [ + 0.059940387, + 0.059940389, + 0.059940385 + ] + ] + }, + { + "part": "real", + "spin": -0.5, + "frequencies": [ + 0.000000000, + 0.060120240, + 0.120240481, + 0.180360721 + ], + "components": [ + [ + 0.000000000, + 0.000000000, + 0.000000000 + ], + [ + 0.019862988, + 0.019862988, + 0.019862987 + ], + [ + 0.039813564, + 0.039813565, + 0.039813563 + ], + [ + 0.059940387, + 0.059940389, + 0.059940385 + ] + ] + }, + { + "part": "imaginary", + "spin": -0.5, + "frequencies": [ + 0.000000000, + 0.060120240, + 0.120240481, + 0.180360721 + ], + "components": [ + [ + 0.000000000, + 0.000000000, + 0.000000000 + ], + [ + 0.019862988, + 0.019862988, + 0.019862987 + ], + [ + 0.039813564, + 0.039813565, + 0.039813563 + ], + [ + 0.059940387, + 0.059940389, + 0.059940385 + ] + ] + } + ] +} diff --git a/example/workflow/new_subworkflow.json b/example/workflow/new_subworkflow.json deleted file mode 100644 index 576e91413..000000000 --- a/example/workflow/new_subworkflow.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "_id": "LCthJ6E2QabYCZqf4", - "application": { - "...": "include(../software/application.json)" - }, - "model": { - "...": "include(../models_directory/pb/qm/dft/ksdft.json)" - }, - "name": "Band Structure", - "properties": [ - "band_structure" - ], - "units": [ - { - "...": "include(unit.json)" - } - ] -} diff --git a/manifest/properties.yaml b/manifest/properties.yaml index 35ca3a385..15133f989 100644 --- a/manifest/properties.yaml +++ b/manifest/properties.yaml @@ -193,6 +193,10 @@ average_potential_profile: schemaId: properties-directory/non-scalar/average-potential-profile isResult: true +dielectric_tensor: + schemaId: properties-directory/non-scalar/dielectric-tensor + isResult: true + # STRUCTURAL basis: defaults: diff --git a/package-lock.json b/package-lock.json index 1ab16c3c9..3fabbfec3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -102,7 +102,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "optional": true }, "is-glob": { @@ -1342,7 +1342,7 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" }, "pkg-dir": { "version": "3.0.0", @@ -1634,7 +1634,7 @@ "ajv": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", "requires": { "co": "^4.6.0", "json-stable-stringify": "^1.0.1" @@ -1962,7 +1962,7 @@ "charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" }, "check-error": { "version": "1.0.2", @@ -2098,7 +2098,7 @@ "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" }, "clone-deep": { "version": "4.0.1", @@ -2113,7 +2113,7 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" }, "color-convert": { "version": "1.9.3", @@ -2126,7 +2126,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "colorette": { "version": "2.0.16", @@ -2155,12 +2155,12 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "confusing-browser-globals": { "version": "1.0.11", @@ -2234,12 +2234,12 @@ "crypt": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==" }, "dag-map": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/dag-map/-/dag-map-1.0.2.tgz", - "integrity": "sha1-6DefBBAA7VYfxRVHXB7SyF7s6Nc=" + "integrity": "sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==" }, "damerau-levenshtein": { "version": "1.0.8", @@ -2383,7 +2383,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "eslint": { "version": "7.32.0", @@ -2965,7 +2965,7 @@ "file": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/file/-/file-0.2.2.tgz", - "integrity": "sha1-w9/Y+M81Na5FXCtCPC5SY112tNM=" + "integrity": "sha512-gwabMtChzdnpDJdPEpz8Vr/PX0pU85KailuPV71Zw/un5yJVKvzukhB3qf6O3lnTwIe5CxlMYLh3jOK3w5xrLA==" }, "file-entry-cache": { "version": "6.0.1", @@ -3069,7 +3069,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { "version": "2.3.2", @@ -3223,7 +3223,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "has-symbols": { "version": "1.0.2", @@ -3312,7 +3312,7 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -3412,7 +3412,7 @@ "is-invalid-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", - "integrity": "sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=", + "integrity": "sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==", "requires": { "is-glob": "^2.0.0" } @@ -3507,7 +3507,7 @@ "is-valid-path": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", - "integrity": "sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=", + "integrity": "sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==", "requires": { "is-invalid-path": "^0.1.0" } @@ -3536,7 +3536,7 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" }, "istanbul-lib-coverage": { "version": "3.2.0", @@ -3919,7 +3919,7 @@ "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, "lodash.flattendeep": { "version": "4.4.0", @@ -4004,7 +4004,7 @@ "md5": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", - "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", + "integrity": "sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==", "requires": { "charenc": "~0.0.1", "crypt": "~0.0.1", @@ -4014,7 +4014,7 @@ "memory-cache": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz", - "integrity": "sha1-eJCwHVLADI68nVM+H46xfjA0hxo=" + "integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==" }, "merge-stream": { "version": "2.0.0", @@ -4453,7 +4453,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } @@ -4543,7 +4543,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-key": { "version": "3.1.1", @@ -4916,7 +4916,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" }, "source-map-support": { "version": "0.5.21", @@ -4999,7 +4999,7 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "string-argv": { "version": "0.3.1", @@ -5306,7 +5306,7 @@ "valid-url": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" + "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" }, "which": { "version": "2.0.2", @@ -5403,7 +5403,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "write-file-atomic": { "version": "3.0.3", diff --git a/package.json b/package.json index fedcb7d6c..991afbcb0 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "file": "^0.2.2", "json-schema-deref-sync": "0.14.0", "lodash": "4.17.21", - "yamljs": "^0.3.0" + "js-yaml": "^4.1.0" }, "engines": { "node": ">=12.0.0" diff --git a/schema/core/abstract/2d_data.json b/schema/core/abstract/2d_data.json index 969bfb33d..3f26c1bea 100644 --- a/schema/core/abstract/2d_data.json +++ b/schema/core/abstract/2d_data.json @@ -1,5 +1,5 @@ { - "schemaId": "core/abstract/2d-data", + "$id": "core/abstract/2d-data", "$schema": "http://json-schema.org/draft-04/schema#", "title": "2 dimension data schema", "type": "object", diff --git a/schema/core/abstract/2d_plot.json b/schema/core/abstract/2d_plot.json index 17f693d01..b708f5076 100644 --- a/schema/core/abstract/2d_plot.json +++ b/schema/core/abstract/2d_plot.json @@ -1,5 +1,5 @@ { - "schemaId": "core/abstract/2d-plot", + "$id": "core/abstract/2d-plot", "$schema": "http://json-schema.org/draft-04/schema#", "title": "2 dimension plot schema", "allOf": [ diff --git a/schema/core/abstract/3d_grid.json b/schema/core/abstract/3d_grid.json index 8fbb19ecd..550adea00 100644 --- a/schema/core/abstract/3d_grid.json +++ b/schema/core/abstract/3d_grid.json @@ -1,5 +1,5 @@ { - "schemaId": "core/abstract/3d-grid", + "$id": "core/abstract/3d-grid", "$schema": "http://json-schema.org/draft-04/schema#", "title": "3 dimensional grid schema", "properties": { diff --git a/schema/core/abstract/3d_tensor.json b/schema/core/abstract/3d_tensor.json index 63f67fcf8..0af2946a8 100644 --- a/schema/core/abstract/3d_tensor.json +++ b/schema/core/abstract/3d_tensor.json @@ -1,5 +1,5 @@ { - "schemaId": "core/abstract/3d-tensor", + "$id": "core/abstract/3d-tensor", "$schema": "http://json-schema.org/draft-04/schema#", "title": "3 dimensional tensor schema", "type": "array", diff --git a/schema/core/abstract/3d_vector_basis.json b/schema/core/abstract/3d_vector_basis.json index 810a8645c..8f66b26ca 100644 --- a/schema/core/abstract/3d_vector_basis.json +++ b/schema/core/abstract/3d_vector_basis.json @@ -1,5 +1,5 @@ { - "schemaId": "core/abstract/3d-vector-basis", + "$id": "core/abstract/3d-vector-basis", "$schema": "http://json-schema.org/draft-04/schema#", "title": "3 dimensional vector basis", "type": "object", diff --git a/schema/core/abstract/point.json b/schema/core/abstract/point.json index ea7858e09..42d13284a 100644 --- a/schema/core/abstract/point.json +++ b/schema/core/abstract/point.json @@ -1,5 +1,5 @@ { - "schemaId": "core/abstract/point", + "$id": "core/abstract/point", "$schema": "http://json-schema.org/draft-04/schema#", "title": "point schema", "allOf": [ diff --git a/schema/core/abstract/vector.json b/schema/core/abstract/vector.json index 113cda2db..ea9a0c5e7 100644 --- a/schema/core/abstract/vector.json +++ b/schema/core/abstract/vector.json @@ -1,5 +1,5 @@ { - "schemaId": "core/abstract/vector", + "$id": "core/abstract/vector", "$schema": "http://json-schema.org/draft-04/schema#", "title": "vector schema", "oneOf": [ diff --git a/schema/core/primitive/1d_data_series.json b/schema/core/primitive/1d_data_series.json index e2cdf19f9..c346d909b 100644 --- a/schema/core/primitive/1d_data_series.json +++ b/schema/core/primitive/1d_data_series.json @@ -1,5 +1,5 @@ { - "schemaId": "core/primitive/1d-data-series", + "$id": "core/primitive/1d-data-series", "$schema": "http://json-schema.org/draft-04/schema#", "title": "1 dimension data series schema", "type": "array", diff --git a/schema/core/primitive/3d_lattice.json b/schema/core/primitive/3d_lattice.json index 5535c40db..4dda12f17 100644 --- a/schema/core/primitive/3d_lattice.json +++ b/schema/core/primitive/3d_lattice.json @@ -1,5 +1,5 @@ { - "schemaId": "core/primitive/3d-lattice", + "$id": "core/primitive/3d-lattice", "$schema": "http://json-schema.org/draft-04/schema#", "title": "3 dimensional lattice schema", "type": "object", diff --git a/schema/core/primitive/array_of_3_booleans.json b/schema/core/primitive/array_of_3_booleans.json index a59480be0..b45c358a7 100644 --- a/schema/core/primitive/array_of_3_booleans.json +++ b/schema/core/primitive/array_of_3_booleans.json @@ -1,5 +1,5 @@ { - "schemaId": "core/primitive/array-of-3-booleans", + "$id": "core/primitive/array-of-3-booleans", "$schema": "http://json-schema.org/draft-04/schema#", "title": "array of 3 boolean elements schema", "type": "array", diff --git a/schema/core/primitive/array_of_3_numbers.json b/schema/core/primitive/array_of_3_numbers.json index 0cba06f2e..56277661a 100644 --- a/schema/core/primitive/array_of_3_numbers.json +++ b/schema/core/primitive/array_of_3_numbers.json @@ -1,5 +1,5 @@ { - "schemaId": "core/primitive/array-of-3-numbers", + "$id": "core/primitive/array-of-3-numbers", "$schema": "http://json-schema.org/draft-04/schema#", "title": "array of 3 number elements schema", "allOf": [ diff --git a/schema/core/primitive/array_of_ids.json b/schema/core/primitive/array_of_ids.json index 114d709b6..c2c00d6e4 100644 --- a/schema/core/primitive/array_of_ids.json +++ b/schema/core/primitive/array_of_ids.json @@ -1,5 +1,5 @@ { - "schemaId": "core/primitive/array-of-ids", + "$id": "core/primitive/array-of-ids", "$schema": "http://json-schema.org/draft-04/schema#", "title": "atomic ids", "description": "array of objects containing integer id each", diff --git a/schema/core/primitive/array_of_numbers.json b/schema/core/primitive/array_of_numbers.json index e4484d047..763b6986d 100644 --- a/schema/core/primitive/array_of_numbers.json +++ b/schema/core/primitive/array_of_numbers.json @@ -1,5 +1,5 @@ { - "schemaId": "core/primitive/array-of-numbers", + "$id": "core/primitive/array-of-numbers", "$schema": "http://json-schema.org/draft-04/schema#", "title": "array of numbers", "type": "array", diff --git a/schema/core/primitive/array_of_strings.json b/schema/core/primitive/array_of_strings.json index d6b3333bf..d1c14169c 100644 --- a/schema/core/primitive/array_of_strings.json +++ b/schema/core/primitive/array_of_strings.json @@ -1,5 +1,5 @@ { - "schemaId": "core/primitive/array-of-strings", + "$id": "core/primitive/array-of-strings", "$schema": "http://json-schema.org/draft-04/schema#", "title": "array of strings", "description": "array of strings, e.g. metadata tags", diff --git a/schema/core/primitive/axis.json b/schema/core/primitive/axis.json index 0e3d67131..84c47f379 100644 --- a/schema/core/primitive/axis.json +++ b/schema/core/primitive/axis.json @@ -1,5 +1,5 @@ { - "schemaId": "core/primitive/axis", + "$id": "core/primitive/axis", "$schema": "http://json-schema.org/draft-04/schema#", "title": "axis schema", "properties": { diff --git a/schema/core/primitive/group_info.json b/schema/core/primitive/group_info.json new file mode 100644 index 000000000..8cde6c22f --- /dev/null +++ b/schema/core/primitive/group_info.json @@ -0,0 +1,16 @@ +{ + "$id": "core/primitive/group-info", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Group info schema for nodes in a graph", + "type": "object", + "properties": { + "groupName": { + "description": "Human-readable name of group of nodes", + "type": "string" + }, + "groupId": { + "description": "Unique identifier of the group a node belongs to", + "type": "string" + } + } +} diff --git a/schema/core/primitive/linked_list.json b/schema/core/primitive/linked_list.json new file mode 100644 index 000000000..30e1de6dd --- /dev/null +++ b/schema/core/primitive/linked_list.json @@ -0,0 +1,24 @@ +{ + "$id": "core/primitive/linked-list", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "linked list schema", + "type": "array", + "items": { + "type": "object", + "anyOf": [ + { + "$ref": "linked_list/base_node.json" + }, + { + "$ref": "linked_list/named_node.json" + }, + { + "$ref": "linked_list/named_node_in_group.json" + }, + { + "$ref": "linked_list/node_with_type.json" + } + ], + "uniqueItems": true + } +} diff --git a/schema/core/primitive/linked_list/base_node.json b/schema/core/primitive/linked_list/base_node.json new file mode 100644 index 000000000..e2700f460 --- /dev/null +++ b/schema/core/primitive/linked_list/base_node.json @@ -0,0 +1,34 @@ +{ + "$id": "core/primitive/linked-list/base-node", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "basic node schema (linked list)", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/flowchart-id" + } + ], + "properties": { + "next": { + "description": "Flowchart ID of next node", + "type": "string" + }, + "head": { + "description": "Whether node is head node or not", + "type": "boolean" + } + }, + "definitions": { + "flowchart-id": { + "properties": { + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + }, + "required": [ + "flowchartId" + ] + } + } +} diff --git a/schema/core/primitive/linked_list/named_node.json b/schema/core/primitive/linked_list/named_node.json new file mode 100644 index 000000000..97eb2e639 --- /dev/null +++ b/schema/core/primitive/linked_list/named_node.json @@ -0,0 +1,14 @@ +{ + "$id": "core/primitive/linked-list/named-node", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Named node schema", + "type": "object", + "allOf": [ + { + "$ref": "base_node.json" + }, + { + "$ref": "../../../system/name.json" + } + ] +} diff --git a/schema/core/primitive/linked_list/named_node_in_group.json b/schema/core/primitive/linked_list/named_node_in_group.json new file mode 100644 index 000000000..9c9d0a165 --- /dev/null +++ b/schema/core/primitive/linked_list/named_node_in_group.json @@ -0,0 +1,14 @@ +{ + "$id": "core/primitive/linked-list/named-node-in-group", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Named node in group schema", + "type": "object", + "allOf": [ + { + "$ref": "named_node.json" + }, + { + "$ref": "../group_info.json" + } + ] +} diff --git a/schema/core/primitive/linked_list/node_with_type.json b/schema/core/primitive/linked_list/node_with_type.json new file mode 100644 index 000000000..88253bd54 --- /dev/null +++ b/schema/core/primitive/linked_list/node_with_type.json @@ -0,0 +1,16 @@ +{ + "$id": "core/primitive/linked-list/node-with-type", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Typed node schema", + "type": "object", + "allOf": [ + { + "$ref": "base_node.json" + } + ], + "properties": { + "type": { + "type": "string" + } + } +} diff --git a/schema/core/primitive/scalar.json b/schema/core/primitive/scalar.json index 8160330e2..09ca43afa 100644 --- a/schema/core/primitive/scalar.json +++ b/schema/core/primitive/scalar.json @@ -1,5 +1,5 @@ { - "schemaId": "core/primitive/scalar", + "$id": "core/primitive/scalar", "$schema": "http://json-schema.org/draft-04/schema#", "title": "scalar schema", "type": "object", diff --git a/schema/core/primitive/slugified_entry.json b/schema/core/primitive/slugified_entry.json index 3d6c661a9..e42cdcff5 100644 --- a/schema/core/primitive/slugified_entry.json +++ b/schema/core/primitive/slugified_entry.json @@ -1,5 +1,5 @@ { - "schemaId": "core/primitive/slugified-entry", + "$id": "core/primitive/slugified-entry", "$schema": "http://json-schema.org/draft-04/schema#", "title": "slugified entry", "description": "container for machine- and human-readable identifier", diff --git a/schema/core/primitive/slugified_entry_or_slug.json b/schema/core/primitive/slugified_entry_or_slug.json index fdd2f0d01..c40a56479 100644 --- a/schema/core/primitive/slugified_entry_or_slug.json +++ b/schema/core/primitive/slugified_entry_or_slug.json @@ -1,5 +1,5 @@ { - "schemaId": "core/primitive/slugified-entry-or-slug", + "$id": "core/primitive/slugified-entry-or-slug", "$schema": "http://json-schema.org/draft-04/schema#", "title": "slugified entry or slug", "description": "contains either object with slugified entry or slug only as a string", diff --git a/schema/core/primitive/string.json b/schema/core/primitive/string.json index b4c69f2f0..e9fc44e1b 100644 --- a/schema/core/primitive/string.json +++ b/schema/core/primitive/string.json @@ -1,5 +1,5 @@ { - "schemaId": "core/primitive/string", + "$id": "core/primitive/string", "$schema": "http://json-schema.org/draft-04/schema#", "title": "PrimitiveString", "type": "object", diff --git a/schema/core/reference.json b/schema/core/reference.json index fdf2f8da3..2c117a910 100644 --- a/schema/core/reference.json +++ b/schema/core/reference.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reference", + "$id": "core/reference", "$schema": "http://json-schema.org/draft-04/schema#", "title": "reference schema (using `anyOf` instead of `oneOf` below b/c current reference schemas overlap)", "anyOf": [ diff --git a/schema/core/reference/exabyte.json b/schema/core/reference/exabyte.json index 90245894d..47de257df 100644 --- a/schema/core/reference/exabyte.json +++ b/schema/core/reference/exabyte.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reference/exabyte", + "$id": "core/reference/exabyte", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { diff --git a/schema/core/reference/experiment.json b/schema/core/reference/experiment.json index 0ac55687c..0c89dd356 100644 --- a/schema/core/reference/experiment.json +++ b/schema/core/reference/experiment.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reference/experiment", + "$id": "core/reference/experiment", "$schema": "http://json-schema.org/draft-04/schema#", "title": "info for characteristic obtained by experiment", "properties": { diff --git a/schema/core/reference/experiment/condition.json b/schema/core/reference/experiment/condition.json index 571bdce0f..b86b49e47 100644 --- a/schema/core/reference/experiment/condition.json +++ b/schema/core/reference/experiment/condition.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reference/experiment/condition", + "$id": "core/reference/experiment/condition", "$schema": "http://json-schema.org/draft-04/schema#", "title": "condition schema", "properties": { diff --git a/schema/core/reference/experiment/location.json b/schema/core/reference/experiment/location.json index 315656232..6538173aa 100644 --- a/schema/core/reference/experiment/location.json +++ b/schema/core/reference/experiment/location.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reference/experiment/location", + "$id": "core/reference/experiment/location", "$schema": "http://json-schema.org/draft-04/schema#", "title": "location schema", "properties": { diff --git a/schema/core/reference/literature.json b/schema/core/reference/literature.json index 351c38dab..9f7a70a6e 100644 --- a/schema/core/reference/literature.json +++ b/schema/core/reference/literature.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reference/literature", + "$id": "core/reference/literature", "$schema": "http://json-schema.org/draft-04/schema#", "title": "literature reference schema", "properties": { diff --git a/schema/core/reference/literature/name.json b/schema/core/reference/literature/name.json index d5e1c2936..e229de2c0 100644 --- a/schema/core/reference/literature/name.json +++ b/schema/core/reference/literature/name.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reference/literature/name", + "$id": "core/reference/literature/name", "$schema": "http://json-schema.org/draft-04/schema#", "title": "experiment author schema", "type": "object", diff --git a/schema/core/reference/literature/pages.json b/schema/core/reference/literature/pages.json index ee9dd2b46..a407a13ea 100644 --- a/schema/core/reference/literature/pages.json +++ b/schema/core/reference/literature/pages.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reference/literature/pages", + "$id": "core/reference/literature/pages", "$schema": "http://json-schema.org/draft-04/schema#", "title": "pages schema", "type": "object", diff --git a/schema/core/reference/modeling.json b/schema/core/reference/modeling.json index 288d343f4..008a2b99a 100644 --- a/schema/core/reference/modeling.json +++ b/schema/core/reference/modeling.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reference/modeling", + "$id": "core/reference/modeling", "$schema": "http://json-schema.org/draft-04/schema#", "title": "info for property obtained by modeling, only supports exabyte-originated data atm, but easily extendable", "oneOf": [ diff --git a/schema/core/reference/modeling/exabyte.json b/schema/core/reference/modeling/exabyte.json index 74ef43a64..25e000579 100644 --- a/schema/core/reference/modeling/exabyte.json +++ b/schema/core/reference/modeling/exabyte.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reference/modeling/exabyte", + "$id": "core/reference/modeling/exabyte", "$schema": "http://json-schema.org/draft-04/schema#", "title": "info for characteristic obtained by exabyte calculation", "properties": { diff --git a/schema/core/reusable/atomic_scalars.json b/schema/core/reusable/atomic_scalars.json index 195fa48b4..a6812802f 100644 --- a/schema/core/reusable/atomic_scalars.json +++ b/schema/core/reusable/atomic_scalars.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reusable/atomic-scalars", + "$id": "core/reusable/atomic-scalars", "$schema": "http://json-schema.org/draft-04/schema#", "title": "atomic scalars vectors schema", "allOf": [ diff --git a/schema/core/reusable/atomic_strings.json b/schema/core/reusable/atomic_strings.json index 53d6abda0..2e67db6d6 100644 --- a/schema/core/reusable/atomic_strings.json +++ b/schema/core/reusable/atomic_strings.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reusable/atomic-strings", + "$id": "core/reusable/atomic-strings", "$schema": "http://json-schema.org/draft-04/schema#", "title": "atomic strings vectors schema", "allOf": [ diff --git a/schema/core/reusable/atomic_vectors.json b/schema/core/reusable/atomic_vectors.json index 9192a2822..18452ccd4 100644 --- a/schema/core/reusable/atomic_vectors.json +++ b/schema/core/reusable/atomic_vectors.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reusable/atomic-vectors", + "$id": "core/reusable/atomic-vectors", "$schema": "http://json-schema.org/draft-04/schema#", "title": "atomic vectors schema", "allOf": [ diff --git a/schema/core/reusable/band_gap.json b/schema/core/reusable/band_gap.json index 2ceeeef39..8414a784c 100644 --- a/schema/core/reusable/band_gap.json +++ b/schema/core/reusable/band_gap.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reusable/band-gap", + "$id": "core/reusable/band-gap", "$schema": "http://json-schema.org/draft-04/schema#", "title": "band gap schema", "allOf": [ diff --git a/schema/core/reusable/categories.json b/schema/core/reusable/categories.json new file mode 100644 index 000000000..2e4e70259 --- /dev/null +++ b/schema/core/reusable/categories.json @@ -0,0 +1,29 @@ +{ + "$id": "core/reusable/categories", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categories schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier1": { + "description": "top-level category", + "$ref": "../primitive/slugified_entry_or_slug.json" + }, + "tier2": { + "description": "second level category", + "$ref": "../primitive/slugified_entry_or_slug.json" + }, + "tier3": { + "description": "third level category", + "$ref": "../primitive/slugified_entry_or_slug.json" + }, + "type": { + "description": "general type of the entity", + "$ref": "../primitive/slugified_entry_or_slug.json" + }, + "subtype": { + "description": "general subtype of the entity", + "$ref": "../primitive/slugified_entry_or_slug.json" + } + } +} diff --git a/schema/core/reusable/category_path.json b/schema/core/reusable/category_path.json new file mode 100644 index 000000000..98910836a --- /dev/null +++ b/schema/core/reusable/category_path.json @@ -0,0 +1,7 @@ +{ + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" +} diff --git a/schema/core/reusable/dielectric_tensor_component.json b/schema/core/reusable/dielectric_tensor_component.json new file mode 100644 index 000000000..c30234ac4 --- /dev/null +++ b/schema/core/reusable/dielectric_tensor_component.json @@ -0,0 +1,28 @@ +{ + "$id": "core/reusable/dielectric-tensor-component", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Dielectric Tensor", + "allOf": [ + { + "$ref": "./frequency_function_matrix.json" + } + ], + "properties": { + "part": { + "description": "Real or imaginary part of the dielectric tensor component", + "type": "string", + "enum": [ + "real", + "imaginary" + ] + }, + "spin": { + "type": "number" + } + }, + "required": [ + "part", + "frequencies", + "components" + ] +} diff --git a/schema/core/reusable/energy.json b/schema/core/reusable/energy.json index 6b57180a5..2d0b37df2 100644 --- a/schema/core/reusable/energy.json +++ b/schema/core/reusable/energy.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reusable/energy", + "$id": "core/reusable/energy", "$schema": "http://json-schema.org/draft-04/schema#", "title": "energy schema", "allOf": [ diff --git a/schema/core/reusable/file_metadata.json b/schema/core/reusable/file_metadata.json index 1100e468f..07428efad 100644 --- a/schema/core/reusable/file_metadata.json +++ b/schema/core/reusable/file_metadata.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reusable/file-metadata", + "$id": "core/reusable/file-metadata", "$schema": "http://json-schema.org/draft-04/schema#", "title": "file_metadata", "properties": { @@ -9,7 +9,8 @@ }, "basename": { "description": "Basename of the file", - "type": "string" + "type": "string", + "$comment": "isGenerative:true" }, "filetype": { "description": "What kind of file this is, e.g. image / text", diff --git a/schema/core/reusable/frequency_function_matrix.json b/schema/core/reusable/frequency_function_matrix.json new file mode 100644 index 000000000..5086acde1 --- /dev/null +++ b/schema/core/reusable/frequency_function_matrix.json @@ -0,0 +1,23 @@ +{ + "$id": "core/reusable/frequency-function-matrix", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "", + "description": "Schema for a function of frequency yielding a nx3 matrix", + "type": "object", + "properties": { + "frequencies": { + "description": "Frequencies", + "type": "array", + "items": { + "type": "number" + } + }, + "components": { + "description": "Matrix with 3 columns, e.g. x, y, z", + "type": "array", + "items": { + "$ref": "../primitive/array_of_3_numbers.json" + } + } + } +} diff --git a/schema/core/reusable/object_storage_container_data.json b/schema/core/reusable/object_storage_container_data.json index e8d7fd0e6..4d7d31655 100644 --- a/schema/core/reusable/object_storage_container_data.json +++ b/schema/core/reusable/object_storage_container_data.json @@ -1,5 +1,5 @@ { - "schemaId": "core/reusable/object-storage-container-data", + "$id": "core/reusable/object-storage-container-data", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Object Storage Container Data", "properties": { diff --git a/schema/definitions/units.json b/schema/definitions/units.json index bee19f193..c693ea96a 100644 --- a/schema/definitions/units.json +++ b/schema/definitions/units.json @@ -1,5 +1,5 @@ { - "schemaId": "definitions/units", + "$id": "definitions/units", "length": { "enum": [ "km", diff --git a/schema/element.json b/schema/element.json index 7d5f63546..7050ad512 100644 --- a/schema/element.json +++ b/schema/element.json @@ -1,5 +1,5 @@ { - "schemaId": "element", + "$id": "element", "$schema": "http://json-schema.org/draft-04/schema#", "title": "element schema", "properties": { diff --git a/schema/in_memory_entity/base.json b/schema/in_memory_entity/base.json index ab6da562c..bc109b394 100644 --- a/schema/in_memory_entity/base.json +++ b/schema/in_memory_entity/base.json @@ -1,5 +1,5 @@ { - "schemaId": "in-memory-entity/base", + "$id": "in-memory-entity/base", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Base in-memory entity schema", "allOf": [ diff --git a/schema/in_memory_entity/defaultable.json b/schema/in_memory_entity/defaultable.json index 1c273432e..78b8b764f 100644 --- a/schema/in_memory_entity/defaultable.json +++ b/schema/in_memory_entity/defaultable.json @@ -1,5 +1,5 @@ { - "schemaId": "in-memory-entity/defaultable", + "$id": "in-memory-entity/defaultable", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Defaultable in-memory entity schema", "allOf": [ diff --git a/schema/in_memory_entity/named.json b/schema/in_memory_entity/named.json index 72326c3ef..1f4ee2752 100644 --- a/schema/in_memory_entity/named.json +++ b/schema/in_memory_entity/named.json @@ -1,5 +1,5 @@ { - "schemaId": "in-memory-entity/named", + "$id": "in-memory-entity/named", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Named in-memory entity schema", "allOf": [ diff --git a/schema/in_memory_entity/named_defaultable.json b/schema/in_memory_entity/named_defaultable.json index f99df3026..8e493e443 100644 --- a/schema/in_memory_entity/named_defaultable.json +++ b/schema/in_memory_entity/named_defaultable.json @@ -1,5 +1,5 @@ { - "schemaId": "in-memory-entity/named-defaultable", + "$id": "in-memory-entity/named-defaultable", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Named defaultable in-memory entity schema", "allOf": [ diff --git a/schema/in_memory_entity/named_defaultable_has_metadata.json b/schema/in_memory_entity/named_defaultable_has_metadata.json index 968f25125..f3b6556ba 100644 --- a/schema/in_memory_entity/named_defaultable_has_metadata.json +++ b/schema/in_memory_entity/named_defaultable_has_metadata.json @@ -1,5 +1,5 @@ { - "schemaId": "in-memory-entity/named-defaultable-has-metadata", + "$id": "in-memory-entity/named-defaultable-has-metadata", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Named defaultable has metadata in-memory entity schema", "allOf": [ diff --git a/schema/in_memory_entity/named_defaultable_runtime_items.json b/schema/in_memory_entity/named_defaultable_runtime_items.json index 215308d01..c02586092 100644 --- a/schema/in_memory_entity/named_defaultable_runtime_items.json +++ b/schema/in_memory_entity/named_defaultable_runtime_items.json @@ -1,5 +1,5 @@ { - "schemaId": "in-memory-entity/named-defaultable-runtime-items", + "$id": "in-memory-entity/named-defaultable-runtime-items", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Named defaultable runtime items in-memory entity schema", "allOf": [ diff --git a/schema/job.json b/schema/job.json index 985008a5a..a0aa7b74a 100644 --- a/schema/job.json +++ b/schema/job.json @@ -1,5 +1,5 @@ { - "schemaId": "job", + "$id": "job", "$schema": "http://json-schema.org/draft-04/schema#", "title": "job schema", "allOf": [ diff --git a/schema/job/base.json b/schema/job/base.json index e33e4d19a..fc9055071 100644 --- a/schema/job/base.json +++ b/schema/job/base.json @@ -1,5 +1,5 @@ { - "schemaId": "job/base", + "$id": "job/base", "$schema": "http://json-schema.org/draft-04/schema#", "title": "base job schema", "allOf": [ @@ -55,6 +55,21 @@ "runtimeContext": { "description": "Context variables that the job will have access to at runtime", "type": "object" + }, + "scopeTrack": { + "description": "history of the workflow scope on each update", + "type": "array", + "items": { + "type": "object", + "properties": { + "repetition": { + "type": "number" + }, + "scope": { + "$ref": "../workflow/scope.json" + } + } + } } }, "required": [ diff --git a/schema/job/compute.json b/schema/job/compute.json index d49f20203..deaa765e9 100644 --- a/schema/job/compute.json +++ b/schema/job/compute.json @@ -1,5 +1,5 @@ { - "schemaId": "job/compute", + "$id": "job/compute", "$schema": "http://json-schema.org/draft-04/schema#", "title": "compute arguments schema", "description": "Custom keywords prefixed with validate correspond to custom validation methods implemented downstream", diff --git a/schema/material.json b/schema/material.json index c4f7ba457..9bf303eb0 100644 --- a/schema/material.json +++ b/schema/material.json @@ -1,5 +1,5 @@ { - "schemaId": "material", + "$id": "material", "$schema": "http://json-schema.org/draft-04/schema#", "title": "material schema", "allOf": [ diff --git a/schema/material/conventional.json b/schema/material/conventional.json index 3e82c21a0..acf0e6254 100644 --- a/schema/material/conventional.json +++ b/schema/material/conventional.json @@ -1,5 +1,5 @@ { - "schemaId": "material/conventional", + "$id": "material/conventional", "$schema": "http://json-schema.org/draft-04/schema#", "title": "material conventional schema", "properties": { diff --git a/schema/method.json b/schema/method.json index 82a023234..b71eead9f 100644 --- a/schema/method.json +++ b/schema/method.json @@ -1,5 +1,5 @@ { - "schemaId": "method", + "$id": "method", "$schema": "http://json-schema.org/draft-04/schema#", "title": "method schema (base)", "properties": { diff --git a/schema/method/categorized_method.json b/schema/method/categorized_method.json new file mode 100644 index 000000000..177bf4710 --- /dev/null +++ b/schema/method/categorized_method.json @@ -0,0 +1,27 @@ +{ + "$id": "method/categorized-method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categorized method schema", + "allOf": [ + { + "$ref": "../system/name.json" + }, + { + "$ref": "../system/tags.json" + } + ], + "properties": { + "path": { + "$ref": "../core/reusable/category_path.json" + }, + "units": { + "type": "array", + "items": { + "$ref": "./unit_method.json" + } + } + }, + "required": [ + "units" + ] +} diff --git a/schema/method/unit_method.json b/schema/method/unit_method.json new file mode 100644 index 000000000..413078901 --- /dev/null +++ b/schema/method/unit_method.json @@ -0,0 +1,38 @@ +{ + "$id": "method/unit-method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "unit method schema (base)", + "allOf": [ + { + "$ref": "../system/name.json" + }, + { + "$ref": "../system/tags.json" + } + ], + "properties": { + "categories": { + "description": "Method categories", + "$ref": "../core/reusable/categories.json" + }, + "path": { + "description": "URL-like method path, e.g. physical/pw", + "$ref": "../core/reusable/category_path.json" + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "data": { + "description": "Additional numerically relevant data specific to method, eg. array of pseudopotentials", + "type": "object" + } + }, + "required": [ + "categories" + ] +} diff --git a/schema/methods_category/mathematical/diff.json b/schema/methods_category/mathematical/diff.json new file mode 100644 index 000000000..e431fd5ed --- /dev/null +++ b/schema/methods_category/mathematical/diff.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/diff", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Numerical differentiation category schema", + "allOf": [ + { + "$ref": "../../core/reusable/categories.json" + } + ], + "properties": { + "tier1": { + "$ref": "enum_options.json#/differentiation" + } + } +} diff --git a/schema/methods_category/mathematical/diff/enum_options.json b/schema/methods_category/mathematical/diff/enum_options.json new file mode 100644 index 000000000..c89fca955 --- /dev/null +++ b/schema/methods_category/mathematical/diff/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/mathematical/diff/enum-options", + "finiteDifference": { + "enum": [ + "fd" + ] + } +} diff --git a/schema/methods_category/mathematical/diff/enum_options.yml b/schema/methods_category/mathematical/diff/enum_options.yml new file mode 100644 index 000000000..0216d4ad2 --- /dev/null +++ b/schema/methods_category/mathematical/diff/enum_options.yml @@ -0,0 +1,3 @@ +# --- Tier2 enum slugs: Differentiation --- +finiteDifference: + - fd # Finite-difference methods, e.g. three-point central difference formula diff --git a/schema/methods_category/mathematical/diff/fd.json b/schema/methods_category/mathematical/diff/fd.json new file mode 100644 index 000000000..9014f9215 --- /dev/null +++ b/schema/methods_category/mathematical/diff/fd.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/diff/fd", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Finite difference method category schema", + "allOf": [ + { + "$ref": "../diff.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/finiteDifference" + } + } +} diff --git a/schema/methods_category/mathematical/discr.json b/schema/methods_category/mathematical/discr.json new file mode 100644 index 000000000..4a27cc025 --- /dev/null +++ b/schema/methods_category/mathematical/discr.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/discr", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Discretization category schema", + "allOf": [ + { + "$ref": "../../core/reusable/categories.json" + } + ], + "properties": { + "tier1": { + "$ref": "enum_options.json#/discretization" + } + } +} diff --git a/schema/methods_category/mathematical/discr/enum_options.json b/schema/methods_category/mathematical/discr/enum_options.json new file mode 100644 index 000000000..03a19c3b4 --- /dev/null +++ b/schema/methods_category/mathematical/discr/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/mathematical/discr/enum-options", + "meshing": { + "enum": [ + "mesh" + ] + } +} diff --git a/schema/methods_category/mathematical/discr/enum_options.yml b/schema/methods_category/mathematical/discr/enum_options.yml new file mode 100644 index 000000000..71a815230 --- /dev/null +++ b/schema/methods_category/mathematical/discr/enum_options.yml @@ -0,0 +1,3 @@ +# --- Tier 2 enum slugs: Discretization --- +meshing: + - mesh # Meshing category diff --git a/schema/methods_category/mathematical/discr/mesh.json b/schema/methods_category/mathematical/discr/mesh.json new file mode 100644 index 000000000..db7b0edff --- /dev/null +++ b/schema/methods_category/mathematical/discr/mesh.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/discr/mesh", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Meshing method category schema", + "allOf": [ + { + "$ref": "../discr.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/meshing" + } + } +} diff --git a/schema/methods_category/mathematical/discr/mesh/enum_options.json b/schema/methods_category/mathematical/discr/mesh/enum_options.json new file mode 100644 index 000000000..9500e4a7c --- /dev/null +++ b/schema/methods_category/mathematical/discr/mesh/enum_options.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/mathematical/discr/mesh/enum-options", + "hybridMesh": { + "enum": [ + "hybrid" + ] + }, + "unstructuredMesh": { + "enum": [ + "nstruct" + ] + }, + "structuredMesh": { + "enum": [ + "struct" + ] + } +} diff --git a/schema/methods_category/mathematical/discr/mesh/enum_options.yml b/schema/methods_category/mathematical/discr/mesh/enum_options.yml new file mode 100644 index 000000000..e79ac2204 --- /dev/null +++ b/schema/methods_category/mathematical/discr/mesh/enum_options.yml @@ -0,0 +1,7 @@ +# --- Tier 3 enum slugs: Meshing --- +hybridMesh: + - hybrid # Hybrid meshing category +unstructuredMesh: + - nstruct # Unstructured meshing category +structuredMesh: + - struct # Structured meshing category diff --git a/schema/methods_category/mathematical/discr/mesh/hybrid.json b/schema/methods_category/mathematical/discr/mesh/hybrid.json new file mode 100644 index 000000000..a6c36da69 --- /dev/null +++ b/schema/methods_category/mathematical/discr/mesh/hybrid.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/discr/mesh/hybrid", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Hybrid meshing category schema", + "allOf": [ + { + "$ref": "../mesh.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/hybridMesh" + } + } +} diff --git a/schema/methods_category/mathematical/discr/mesh/nstruct.json b/schema/methods_category/mathematical/discr/mesh/nstruct.json new file mode 100644 index 000000000..deadd73b8 --- /dev/null +++ b/schema/methods_category/mathematical/discr/mesh/nstruct.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/discr/mesh/nstruct", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Unstructured meshing category schema", + "allOf": [ + { + "$ref": "../mesh.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/unstructuredMesh" + } + } +} diff --git a/schema/methods_category/mathematical/discr/mesh/struct.json b/schema/methods_category/mathematical/discr/mesh/struct.json new file mode 100644 index 000000000..fe557c7f4 --- /dev/null +++ b/schema/methods_category/mathematical/discr/mesh/struct.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/discr/mesh/struct", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Structured meshing category schema", + "allOf": [ + { + "$ref": "../mesh.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/structuredMesh" + } + } +} diff --git a/schema/methods_category/mathematical/discr/mesh/struct/cartesian.json b/schema/methods_category/mathematical/discr/mesh/struct/cartesian.json new file mode 100644 index 000000000..5481f392a --- /dev/null +++ b/schema/methods_category/mathematical/discr/mesh/struct/cartesian.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/discr/mesh/struct/cartesian", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Cartesian grid schema", + "allOf": [ + { + "$ref": "../struct.json" + } + ], + "properties": { + "type": { + "$ref": "enum_options.json#/cartesian" + } + } +} diff --git a/schema/methods_category/mathematical/discr/mesh/struct/enum_options.json b/schema/methods_category/mathematical/discr/mesh/struct/enum_options.json new file mode 100644 index 000000000..904925d78 --- /dev/null +++ b/schema/methods_category/mathematical/discr/mesh/struct/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/mathematical/discr/mesh/struct/enum-options", + "cartesian": { + "enum": [ + "cartesian" + ] + } +} diff --git a/schema/methods_category/mathematical/discr/mesh/struct/enum_options.yml b/schema/methods_category/mathematical/discr/mesh/struct/enum_options.yml new file mode 100644 index 000000000..c4416ccf6 --- /dev/null +++ b/schema/methods_category/mathematical/discr/mesh/struct/enum_options.yml @@ -0,0 +1,3 @@ +# --- Type enum slugs: Structured Mesh --- +cartesian: + - cartesian # Cartesian grid diff --git a/schema/methods_category/mathematical/enum_options.json b/schema/methods_category/mathematical/enum_options.json new file mode 100644 index 000000000..799b8f33f --- /dev/null +++ b/schema/methods_category/mathematical/enum_options.json @@ -0,0 +1,45 @@ +{ + "$id": "methods-category/mathematical/enum-options", + "differentiation": { + "enum": [ + "diff" + ] + }, + "discretization": { + "enum": [ + "discr" + ] + }, + "functionApproximation": { + "enum": [ + "fapprx" + ] + }, + "integration": { + "enum": [ + "intgr" + ] + }, + "linearAlgebra": { + "enum": [ + "linalg" + ] + }, + "optimization": { + "enum": [ + "opt" + ] + }, + "regressionTypes": { + "enum": [ + "linear", + "kernel_ridge" + ] + }, + "regressionSubtypes": { + "enum": [ + "least_squares", + "ridge" + ] + } +} diff --git a/schema/methods_category/mathematical/enum_options.yml b/schema/methods_category/mathematical/enum_options.yml new file mode 100644 index 000000000..cddd9eb49 --- /dev/null +++ b/schema/methods_category/mathematical/enum_options.yml @@ -0,0 +1,22 @@ +# --- Tier 1 enum slugs --- +differentiation: + - diff +discretization: + - discr +functionApproximation: + - fapprx +integration: + - intgr +linearAlgebra: + - linalg +optimization: + - opt + +# --- ExabyteML regression types and subtypes --- +# TODO: find suitable categories and adjust exabyteML +regressionTypes: + - linear + - kernel_ridge +regressionSubtypes: + - least_squares + - ridge diff --git a/schema/methods_category/mathematical/fapprx.json b/schema/methods_category/mathematical/fapprx.json new file mode 100644 index 000000000..59061f63c --- /dev/null +++ b/schema/methods_category/mathematical/fapprx.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/fapprx", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Unstructured meshing category schema", + "allOf": [ + { + "$ref": "../../core/reusable/categories.json" + } + ], + "properties": { + "tier1": { + "$ref": "enum_options.json#/functionApproximation" + } + } +} diff --git a/schema/methods_category/mathematical/fapprx/basisexp.json b/schema/methods_category/mathematical/fapprx/basisexp.json new file mode 100644 index 000000000..8c3f35cfc --- /dev/null +++ b/schema/methods_category/mathematical/fapprx/basisexp.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/fapprx/basisexp", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Basis expansion category schema", + "allOf": [ + { + "$ref": "../fapprx.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/basisExpansion" + } + } +} diff --git a/schema/methods_category/mathematical/fapprx/enum_options.json b/schema/methods_category/mathematical/fapprx/enum_options.json new file mode 100644 index 000000000..129afa921 --- /dev/null +++ b/schema/methods_category/mathematical/fapprx/enum_options.json @@ -0,0 +1,13 @@ +{ + "$id": "methods-category/mathematical/fapprx/enum-options", + "basisExpansion": { + "enum": [ + "basisExp" + ] + }, + "interpolation": { + "enum": [ + "ipol" + ] + } +} diff --git a/schema/methods_category/mathematical/fapprx/enum_options.yml b/schema/methods_category/mathematical/fapprx/enum_options.yml new file mode 100644 index 000000000..10ba44b84 --- /dev/null +++ b/schema/methods_category/mathematical/fapprx/enum_options.yml @@ -0,0 +1,5 @@ +# --- Tier 2 enum slugs: Function approximation --- +basisExpansion: + - basisExp # basis expansion category +interpolation: + - ipol # interpolation category diff --git a/schema/methods_category/mathematical/fapprx/ipol.json b/schema/methods_category/mathematical/fapprx/ipol.json new file mode 100644 index 000000000..91b278720 --- /dev/null +++ b/schema/methods_category/mathematical/fapprx/ipol.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/fapprx/ipol", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Interpolation category schema", + "allOf": [ + { + "$ref": "../fapprx.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/interpolation" + } + } +} diff --git a/schema/methods_category/mathematical/fapprx/ipol/enum_options.json b/schema/methods_category/mathematical/fapprx/ipol/enum_options.json new file mode 100644 index 000000000..2a814d0ce --- /dev/null +++ b/schema/methods_category/mathematical/fapprx/ipol/enum_options.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/mathematical/fapprx/ipol/enum-options", + "linear": { + "enum": [ + "lin" + ] + }, + "polynomial": { + "enum": [ + "poly" + ] + }, + "spline": { + "enum": [ + "spline" + ] + } +} diff --git a/schema/methods_category/mathematical/fapprx/ipol/enum_options.yml b/schema/methods_category/mathematical/fapprx/ipol/enum_options.yml new file mode 100644 index 000000000..1c8420ff8 --- /dev/null +++ b/schema/methods_category/mathematical/fapprx/ipol/enum_options.yml @@ -0,0 +1,7 @@ +# --- Tier 3 enum slugs: Interpolation methods --- +linear: + - lin # Linear interpolation methods +polynomial: + - poly # Polynomial interpolation methods, e.g. Lagrange polynomials +spline: + - spline # Spline interpolation, e.g. Cubic Hermite spline diff --git a/schema/methods_category/mathematical/fapprx/ipol/lin.json b/schema/methods_category/mathematical/fapprx/ipol/lin.json new file mode 100644 index 000000000..8bc03134b --- /dev/null +++ b/schema/methods_category/mathematical/fapprx/ipol/lin.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/fapprx/ipol/lin", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Linear interpolation category schema", + "allOf": [ + { + "$ref": "../ipol.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/linear" + } + } +} diff --git a/schema/methods_category/mathematical/fapprx/ipol/poly.json b/schema/methods_category/mathematical/fapprx/ipol/poly.json new file mode 100644 index 000000000..961ab855c --- /dev/null +++ b/schema/methods_category/mathematical/fapprx/ipol/poly.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/fapprx/ipol/poly", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Polynomial interpolation category schema", + "allOf": [ + { + "$ref": "../ipol.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/polynomial" + } + } +} diff --git a/schema/methods_category/mathematical/fapprx/ipol/spline.json b/schema/methods_category/mathematical/fapprx/ipol/spline.json new file mode 100644 index 000000000..5ff2d501c --- /dev/null +++ b/schema/methods_category/mathematical/fapprx/ipol/spline.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/fapprx/ipol/spline", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Spline interpolation category schema", + "allOf": [ + { + "$ref": "../ipol.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/spline" + } + } +} diff --git a/schema/methods_category/mathematical/intgr.json b/schema/methods_category/mathematical/intgr.json new file mode 100644 index 000000000..9cd996fc7 --- /dev/null +++ b/schema/methods_category/mathematical/intgr.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/intgr", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Integration category schema", + "allOf": [ + { + "$ref": "../../core/reusable/categories.json" + } + ], + "properties": { + "tier1": { + "$ref": "enum_options.json#/integration" + } + } +} diff --git a/schema/methods_category/mathematical/intgr/analytic.json b/schema/methods_category/mathematical/intgr/analytic.json new file mode 100644 index 000000000..6d48d8abc --- /dev/null +++ b/schema/methods_category/mathematical/intgr/analytic.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/intgr/analytic", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Analytic integral category schema", + "allOf": [ + { + "$ref": "../intgr.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/analytic" + } + } +} diff --git a/schema/methods_category/mathematical/intgr/analytic/enum_options.json b/schema/methods_category/mathematical/intgr/analytic/enum_options.json new file mode 100644 index 000000000..06b25e6d7 --- /dev/null +++ b/schema/methods_category/mathematical/intgr/analytic/enum_options.json @@ -0,0 +1,20 @@ +{ + "$id": "methods-category/mathematical/intgr/analytic/enum-options", + "volume": { + "enum": [ + "volume" + ] + }, + "volumeSubtypes": { + "enum": [ + "sphere", + "cube", + "rect-prism", + "tri-prism", + "cylinder", + "cone", + "tetrahedron", + "sq-pyr" + ] + } +} diff --git a/schema/methods_category/mathematical/intgr/analytic/enum_options.yml b/schema/methods_category/mathematical/intgr/analytic/enum_options.yml new file mode 100644 index 000000000..7088ac90e --- /dev/null +++ b/schema/methods_category/mathematical/intgr/analytic/enum_options.yml @@ -0,0 +1,14 @@ +# --- Type enum slugs: Analytic integrals --- +volume: + - volume + +# --- SubType enum slugs: Analytic volume integrals --- +volumeSubtypes: + - sphere # Sphere + - cube # Cube + - rect-prism # Rectangular Prism + - tri-prism # Triangular Prism + - cylinder # Cylinder + - cone # Cone + - tetrahedron # Tetrahedron + - sq-pyr # Square Pyramid diff --git a/schema/methods_category/mathematical/intgr/analytic/volume.json b/schema/methods_category/mathematical/intgr/analytic/volume.json new file mode 100644 index 000000000..ba4a1dd12 --- /dev/null +++ b/schema/methods_category/mathematical/intgr/analytic/volume.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/mathematical/intgr/analytic/volume", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "analytic volume integral category schema", + "allOf": [ + { + "$ref": "../analytic.json" + } + ], + "properties": { + "type": { + "$ref": "enum_options.json#/volume" + }, + "subtype": { + "$ref": "enum_options.json#/volumeSubtypes" + } + } +} diff --git a/schema/methods_category/mathematical/intgr/diffeq.json b/schema/methods_category/mathematical/intgr/diffeq.json new file mode 100644 index 000000000..c547e617a --- /dev/null +++ b/schema/methods_category/mathematical/intgr/diffeq.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/intgr/diffeq", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Methods for the numerical integration of differential equations", + "allOf": [ + { + "$ref": "../intgr.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/differentialEquation" + } + } +} diff --git a/schema/methods_category/mathematical/intgr/diffeq/enum_options.json b/schema/methods_category/mathematical/intgr/diffeq/enum_options.json new file mode 100644 index 000000000..3df16bcd7 --- /dev/null +++ b/schema/methods_category/mathematical/intgr/diffeq/enum_options.json @@ -0,0 +1,13 @@ +{ + "$id": "methods-category/mathematical/intgr/diffeq/enum-options", + "firstOrder": { + "enum": [ + "order1" + ] + }, + "secondOrder": { + "enum": [ + "order2" + ] + } +} diff --git a/schema/methods_category/mathematical/intgr/diffeq/enum_options.yml b/schema/methods_category/mathematical/intgr/diffeq/enum_options.yml new file mode 100644 index 000000000..a560e1977 --- /dev/null +++ b/schema/methods_category/mathematical/intgr/diffeq/enum_options.yml @@ -0,0 +1,5 @@ +# --- Tier 3 enum slugs: Numerical Integration of Differential Equations --- +firstOrder: + - order1 # First-order integrator, e.g. Euler method, Runge-Kutta (RK1) method +secondOrder: + - order2 # Second-order integrator, e.g. Verlet method, Runge-Kutta (RK2) method diff --git a/schema/methods_category/mathematical/intgr/diffeq/order1.json b/schema/methods_category/mathematical/intgr/diffeq/order1.json new file mode 100644 index 000000000..9e26cab5f --- /dev/null +++ b/schema/methods_category/mathematical/intgr/diffeq/order1.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/intgr/diffeq/order1", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Categories for the numerical integration of differential equations", + "allOf": [ + { + "$ref": "../diffeq.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/firstOrder" + } + } +} diff --git a/schema/methods_category/mathematical/intgr/diffeq/order2.json b/schema/methods_category/mathematical/intgr/diffeq/order2.json new file mode 100644 index 000000000..3f3fd3fd5 --- /dev/null +++ b/schema/methods_category/mathematical/intgr/diffeq/order2.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/intgr/diffeq/order2", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Categories for the numerical integration of differential equations", + "allOf": [ + { + "$ref": "../diffeq.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/secondOrder" + } + } +} diff --git a/schema/methods_category/mathematical/intgr/enum_options.json b/schema/methods_category/mathematical/intgr/enum_options.json new file mode 100644 index 000000000..0a63ef8cd --- /dev/null +++ b/schema/methods_category/mathematical/intgr/enum_options.json @@ -0,0 +1,23 @@ +{ + "$id": "methods-category/mathematical/intgr/enum-options", + "analytic": { + "enum": [ + "analytic" + ] + }, + "differentialEquation": { + "enum": [ + "diffeq" + ] + }, + "numericalQuadrature": { + "enum": [ + "numquad" + ] + }, + "transformation": { + "enum": [ + "transf" + ] + } +} diff --git a/schema/methods_category/mathematical/intgr/enum_options.yml b/schema/methods_category/mathematical/intgr/enum_options.yml new file mode 100644 index 000000000..177707c56 --- /dev/null +++ b/schema/methods_category/mathematical/intgr/enum_options.yml @@ -0,0 +1,9 @@ +# --- Tier 2 enum slugs: Integration methods --- +analytic: + - analytic # Analytic integral category +differentialEquation: + - diffeq # Numerical integration of differential equations category +numericalQuadrature: + - numquad # Numerical Quadrature category +transformation: + - transf # Integral transformation category diff --git a/schema/methods_category/mathematical/intgr/numquad.json b/schema/methods_category/mathematical/intgr/numquad.json new file mode 100644 index 000000000..d124cc10f --- /dev/null +++ b/schema/methods_category/mathematical/intgr/numquad.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/intgr/numquad", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Methods for the numerical quadrature", + "allOf": [ + { + "$ref": "../intgr.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/numericalQuadrature" + } + } +} diff --git a/schema/methods_category/mathematical/intgr/numquad/enum_options.json b/schema/methods_category/mathematical/intgr/numquad/enum_options.json new file mode 100644 index 000000000..46d46ba5a --- /dev/null +++ b/schema/methods_category/mathematical/intgr/numquad/enum_options.json @@ -0,0 +1,13 @@ +{ + "$id": "methods-category/mathematical/intgr/numquad/enum-options", + "gaussQuadrature": { + "enum": [ + "gauss" + ] + }, + "newtonCotes": { + "enum": [ + "newcot" + ] + } +} diff --git a/schema/methods_category/mathematical/intgr/numquad/enum_options.yml b/schema/methods_category/mathematical/intgr/numquad/enum_options.yml new file mode 100644 index 000000000..eb3e268de --- /dev/null +++ b/schema/methods_category/mathematical/intgr/numquad/enum_options.yml @@ -0,0 +1,5 @@ +# --- Tier 3 enum slugs: Numerical Quadrature --- +gaussQuadrature: + - gauss # Gauss quadrature rules, e.g. Gaussian quadrature, Lebedev quadrature +newtonCotes: + - newcot # Newton-Cotes quadrature rules, e.g. Trapezoidal rule diff --git a/schema/methods_category/mathematical/intgr/numquad/gauss.json b/schema/methods_category/mathematical/intgr/numquad/gauss.json new file mode 100644 index 000000000..bc59a43cc --- /dev/null +++ b/schema/methods_category/mathematical/intgr/numquad/gauss.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/intgr/numquad/gauss", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Gaussian quadrature rules", + "allOf": [ + { + "$ref": "../numquad.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/gaussQuadrature" + } + } +} diff --git a/schema/methods_category/mathematical/intgr/numquad/newcot.json b/schema/methods_category/mathematical/intgr/numquad/newcot.json new file mode 100644 index 000000000..1820f899b --- /dev/null +++ b/schema/methods_category/mathematical/intgr/numquad/newcot.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/intgr/numquad/newcot", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Newton-Cotes quadrature rules", + "allOf": [ + { + "$ref": "../numquad.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/newtonCotes" + } + } +} diff --git a/schema/methods_category/mathematical/intgr/transf.json b/schema/methods_category/mathematical/intgr/transf.json new file mode 100644 index 000000000..8e383734c --- /dev/null +++ b/schema/methods_category/mathematical/intgr/transf.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/intgr/transf", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Integral transform methods", + "allOf": [ + { + "$ref": "../intgr.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/transformation" + } + } +} diff --git a/schema/methods_category/mathematical/intgr/transf/enum_options.json b/schema/methods_category/mathematical/intgr/transf/enum_options.json new file mode 100644 index 000000000..7e2c9e0c4 --- /dev/null +++ b/schema/methods_category/mathematical/intgr/transf/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/mathematical/intgr/transf/enum-options", + "fourierTransformation": { + "enum": [ + "fourier" + ] + } +} diff --git a/schema/methods_category/mathematical/intgr/transf/enum_options.yml b/schema/methods_category/mathematical/intgr/transf/enum_options.yml new file mode 100644 index 000000000..ee1db67c6 --- /dev/null +++ b/schema/methods_category/mathematical/intgr/transf/enum_options.yml @@ -0,0 +1,3 @@ +# --- Type enum slugs: Integral transformation --- +fourierTransformation: + - fourier diff --git a/schema/methods_category/mathematical/intgr/transf/fourier.json b/schema/methods_category/mathematical/intgr/transf/fourier.json new file mode 100644 index 000000000..40818d61d --- /dev/null +++ b/schema/methods_category/mathematical/intgr/transf/fourier.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/intgr/transf/fourier", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Fourier transform methods", + "allOf": [ + { + "$ref": "../transf.json" + } + ], + "properties": { + "type": { + "$ref": "enum_options.json#/fourierTransformation" + } + } +} diff --git a/schema/methods_category/mathematical/linalg.json b/schema/methods_category/mathematical/linalg.json new file mode 100644 index 000000000..259bbf5f3 --- /dev/null +++ b/schema/methods_category/mathematical/linalg.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/linalg", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Linear Algebra category schema", + "allOf": [ + { + "$ref": "../../core/reusable/categories.json" + } + ], + "properties": { + "tier1": { + "$ref": "enum_options.json#/linearAlgebra" + } + } +} diff --git a/schema/methods_category/mathematical/linalg/dcomp.json b/schema/methods_category/mathematical/linalg/dcomp.json new file mode 100644 index 000000000..4a21d38ec --- /dev/null +++ b/schema/methods_category/mathematical/linalg/dcomp.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/linalg/dcomp", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Matrix decomposition methods", + "allOf": [ + { + "$ref": "../linalg.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/decomposition" + } + } +} diff --git a/schema/methods_category/mathematical/linalg/diag.json b/schema/methods_category/mathematical/linalg/diag.json new file mode 100644 index 000000000..86f2607b8 --- /dev/null +++ b/schema/methods_category/mathematical/linalg/diag.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/linalg/diag", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Matrix diagonalization methods", + "allOf": [ + { + "$ref": "../linalg.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/diagonalization" + } + } +} diff --git a/schema/methods_category/mathematical/linalg/diag/davidson.json b/schema/methods_category/mathematical/linalg/diag/davidson.json new file mode 100644 index 000000000..aa3e629f0 --- /dev/null +++ b/schema/methods_category/mathematical/linalg/diag/davidson.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/linalg/diag/davidson", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Davidson diagonalization method", + "allOf": [ + { + "$ref": "../diag.json" + } + ], + "properties": { + "type": { + "$ref": "enum_options.json#/davidson" + } + } +} diff --git a/schema/methods_category/mathematical/linalg/diag/enum_options.json b/schema/methods_category/mathematical/linalg/diag/enum_options.json new file mode 100644 index 000000000..0841f8511 --- /dev/null +++ b/schema/methods_category/mathematical/linalg/diag/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/mathematical/linalg/diag/enum-options", + "davidson": { + "enum": [ + "davidson" + ] + } +} diff --git a/schema/methods_category/mathematical/linalg/diag/enum_options.yml b/schema/methods_category/mathematical/linalg/diag/enum_options.yml new file mode 100644 index 000000000..39df6d3bf --- /dev/null +++ b/schema/methods_category/mathematical/linalg/diag/enum_options.yml @@ -0,0 +1,3 @@ +# --- Type enum slugs: Diagonalization methods --- +davidson: + - davidson # https://doi.org/10.1016/0021-9991(75)90065-0 diff --git a/schema/methods_category/mathematical/linalg/enum_options.json b/schema/methods_category/mathematical/linalg/enum_options.json new file mode 100644 index 000000000..428b75d12 --- /dev/null +++ b/schema/methods_category/mathematical/linalg/enum_options.json @@ -0,0 +1,23 @@ +{ + "$id": "methods-category/mathematical/linalg/enum-options", + "decomposition": { + "enum": [ + "dcomp" + ] + }, + "diagonalization": { + "enum": [ + "diag" + ] + }, + "linearTransformation": { + "enum": [ + "lintra" + ] + }, + "matrixFunction": { + "enum": [ + "matf" + ] + } +} diff --git a/schema/methods_category/mathematical/linalg/enum_options.yml b/schema/methods_category/mathematical/linalg/enum_options.yml new file mode 100644 index 000000000..7f1af640e --- /dev/null +++ b/schema/methods_category/mathematical/linalg/enum_options.yml @@ -0,0 +1,9 @@ +# --- Tier 2 enum slugs: linear algebra methods --- +decomposition: + - dcomp # Matrix decomposition category: https://docs.scipy.org/doc/scipy/tutorial/linalg.html#decompositions +diagonalization: + - diag # matrix diagonalization category: https://en.wikipedia.org/wiki/Diagonalizable_matrix +linearTransformation: + - lintra # linear transformation category: https://en.wikipedia.org/wiki/Linear_map +matrixFunction: + - matf # Matrix functions category: https://docs.scipy.org/doc/scipy/tutorial/linalg.html#matrix-functions diff --git a/schema/methods_category/mathematical/linalg/lintra.json b/schema/methods_category/mathematical/linalg/lintra.json new file mode 100644 index 000000000..1dd05a2fa --- /dev/null +++ b/schema/methods_category/mathematical/linalg/lintra.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/linalg/lintra", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Linear transformation methods", + "allOf": [ + { + "$ref": "../linalg.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/linearTransformation" + } + } +} diff --git a/schema/methods_category/mathematical/linalg/matf.json b/schema/methods_category/mathematical/linalg/matf.json new file mode 100644 index 000000000..470216b65 --- /dev/null +++ b/schema/methods_category/mathematical/linalg/matf.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/linalg/matf", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Matrix function methods", + "allOf": [ + { + "$ref": "../linalg.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/matrixFunction" + } + } +} diff --git a/schema/methods_category/mathematical/opt.json b/schema/methods_category/mathematical/opt.json new file mode 100644 index 000000000..8c74f99c8 --- /dev/null +++ b/schema/methods_category/mathematical/opt.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Integration category schema", + "allOf": [ + { + "$ref": "../../core/reusable/categories.json" + } + ], + "properties": { + "tier1": { + "$ref": "enum_options.json#/optimization" + } + } +} diff --git a/schema/methods_category/mathematical/opt/diff.json b/schema/methods_category/mathematical/opt/diff.json new file mode 100644 index 000000000..5d0b48fa4 --- /dev/null +++ b/schema/methods_category/mathematical/opt/diff.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/diff", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Optimization methods for differentiable functions category schema", + "allOf": [ + { + "$ref": "../opt.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/differentiable" + } + } +} diff --git a/schema/methods_category/mathematical/opt/diff/bracket.json b/schema/methods_category/mathematical/opt/diff/bracket.json new file mode 100644 index 000000000..cb562e381 --- /dev/null +++ b/schema/methods_category/mathematical/opt/diff/bracket.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/diff/bracket", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Bracket algorithms for the optimization of differentiable functions", + "allOf": [ + { + "$ref": "../diff.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/bracketing" + } + } +} diff --git a/schema/methods_category/mathematical/opt/diff/enum_options.json b/schema/methods_category/mathematical/opt/diff/enum_options.json new file mode 100644 index 000000000..fa8520ff7 --- /dev/null +++ b/schema/methods_category/mathematical/opt/diff/enum_options.json @@ -0,0 +1,28 @@ +{ + "$id": "methods-category/mathematical/opt/diff/enum-options", + "bracketing": { + "enum": [ + "bracket" + ] + }, + "localDescent": { + "enum": [ + "local" + ] + }, + "firstOrder": { + "enum": [ + "order1" + ] + }, + "secondOrder": { + "enum": [ + "order2" + ] + }, + "nOrder": { + "enum": [ + "ordern" + ] + } +} diff --git a/schema/methods_category/mathematical/opt/diff/enum_options.yml b/schema/methods_category/mathematical/opt/diff/enum_options.yml new file mode 100644 index 000000000..7abadc11b --- /dev/null +++ b/schema/methods_category/mathematical/opt/diff/enum_options.yml @@ -0,0 +1,11 @@ +# --- Tier 3 enum slugs: differentiable functions --- +bracketing: + - bracket # Bracket algorithms, e.g. Fibonacci Search +localDescent: + - local # Local descent methods, e.g. Line-Search +firstOrder: + - order1 # First-order algorithms, e.g. Gradient Descent, Adam, ... +secondOrder: + - order2 # Second-order algorithms, e.g. Newton's Method, +nOrder: + - ordern # Mixed-order or higher-order algorithms, e.g. Conjugate-Gradient, Quasi-Newton Methods diff --git a/schema/methods_category/mathematical/opt/diff/local.json b/schema/methods_category/mathematical/opt/diff/local.json new file mode 100644 index 000000000..deacdfeee --- /dev/null +++ b/schema/methods_category/mathematical/opt/diff/local.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/diff/local", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Local descent methods for the optimization of differentiable functions", + "allOf": [ + { + "$ref": "../diff.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/localDescent" + } + } +} diff --git a/schema/methods_category/mathematical/opt/diff/order1.json b/schema/methods_category/mathematical/opt/diff/order1.json new file mode 100644 index 000000000..5b9285737 --- /dev/null +++ b/schema/methods_category/mathematical/opt/diff/order1.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/diff/order1", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "First order algorithms for the optimization of differentiable functions", + "allOf": [ + { + "$ref": "../diff.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/firstOrder" + } + } +} diff --git a/schema/methods_category/mathematical/opt/diff/order2.json b/schema/methods_category/mathematical/opt/diff/order2.json new file mode 100644 index 000000000..8177bf94a --- /dev/null +++ b/schema/methods_category/mathematical/opt/diff/order2.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/diff/order2", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Second order algorithms for the optimization of differentiable functions", + "allOf": [ + { + "$ref": "../diff.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/secondOrder" + } + } +} diff --git a/schema/methods_category/mathematical/opt/diff/ordern.json b/schema/methods_category/mathematical/opt/diff/ordern.json new file mode 100644 index 000000000..0ce4036a6 --- /dev/null +++ b/schema/methods_category/mathematical/opt/diff/ordern.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/diff/ordern", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Mixed order and higher order algorithms for the optimization of differentiable functions", + "allOf": [ + { + "$ref": "../diff.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/nOrder" + } + } +} diff --git a/schema/methods_category/mathematical/opt/diff/ordern/cg.json b/schema/methods_category/mathematical/opt/diff/ordern/cg.json new file mode 100644 index 000000000..e21faec44 --- /dev/null +++ b/schema/methods_category/mathematical/opt/diff/ordern/cg.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/diff/ordern/cg", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "conjugate gradient method schema", + "allOf": [ + { + "$ref": "../ordern.json" + } + ], + "properties": { + "type": { + "$ref": "enum_options.json#/conjugateGradient" + } + } +} diff --git a/schema/methods_category/mathematical/opt/diff/ordern/enum_options.json b/schema/methods_category/mathematical/opt/diff/ordern/enum_options.json new file mode 100644 index 000000000..07f83a785 --- /dev/null +++ b/schema/methods_category/mathematical/opt/diff/ordern/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/mathematical/opt/diff/ordern/enum-options", + "conjugateGradient": { + "enum": [ + "cg" + ] + } +} diff --git a/schema/methods_category/mathematical/opt/diff/ordern/enum_options.yml b/schema/methods_category/mathematical/opt/diff/ordern/enum_options.yml new file mode 100644 index 000000000..59150c460 --- /dev/null +++ b/schema/methods_category/mathematical/opt/diff/ordern/enum_options.yml @@ -0,0 +1,3 @@ +# --- Type enum slugs: mixed/higher-order algorithms for differentiable functions --- +conjugateGradient: + - cg # conjugate-gradient method: https://en.wikipedia.org/wiki/Conjugate_gradient_method diff --git a/schema/methods_category/mathematical/opt/enum_options.json b/schema/methods_category/mathematical/opt/enum_options.json new file mode 100644 index 000000000..e6f33049a --- /dev/null +++ b/schema/methods_category/mathematical/opt/enum_options.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/mathematical/opt/enum-options", + "differentiable": { + "enum": [ + "diff" + ] + }, + "nonDifferentiable": { + "enum": [ + "ndiff" + ] + }, + "rootFinding": { + "enum": [ + "root" + ] + } +} diff --git a/schema/methods_category/mathematical/opt/enum_options.yml b/schema/methods_category/mathematical/opt/enum_options.yml new file mode 100644 index 000000000..5d24a20b3 --- /dev/null +++ b/schema/methods_category/mathematical/opt/enum_options.yml @@ -0,0 +1,7 @@ +# --- Tier 2 enum slugs: differentiation --- +differentiable: + - diff # Optimization methods for differentiable functions category +nonDifferentiable: + - ndiff # Optimization methods for non-differentiable functions category +rootFinding: + - root # root-finding category diff --git a/schema/methods_category/mathematical/opt/ndiff.json b/schema/methods_category/mathematical/opt/ndiff.json new file mode 100644 index 000000000..ce1cd27ac --- /dev/null +++ b/schema/methods_category/mathematical/opt/ndiff.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/ndiff", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Optimization methods for non-differentiable functions category schema", + "allOf": [ + { + "$ref": "../opt.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/nonDifferentiable" + } + } +} diff --git a/schema/methods_category/mathematical/opt/ndiff/direct.json b/schema/methods_category/mathematical/opt/ndiff/direct.json new file mode 100644 index 000000000..e68900476 --- /dev/null +++ b/schema/methods_category/mathematical/opt/ndiff/direct.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/ndiff/direct", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Direct algorithms for the optimization of non-differentiable functions category schema", + "allOf": [ + { + "$ref": "../ndiff.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/direct" + } + } +} diff --git a/schema/methods_category/mathematical/opt/ndiff/enum_options.json b/schema/methods_category/mathematical/opt/ndiff/enum_options.json new file mode 100644 index 000000000..42fb9eb29 --- /dev/null +++ b/schema/methods_category/mathematical/opt/ndiff/enum_options.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/mathematical/opt/ndiff/enum-options", + "direct": { + "enum": [ + "direct" + ] + }, + "population": { + "enum": [ + "pop" + ] + }, + "stochastic": { + "enum": [ + "stoch" + ] + } +} diff --git a/schema/methods_category/mathematical/opt/ndiff/enum_options.yml b/schema/methods_category/mathematical/opt/ndiff/enum_options.yml new file mode 100644 index 000000000..ab729d528 --- /dev/null +++ b/schema/methods_category/mathematical/opt/ndiff/enum_options.yml @@ -0,0 +1,7 @@ +# --- Tier 3 enum slugs: non-differentiable functions --- +direct: + - direct # Direct algorithms, e.g. Nelder-Mead Simplex +population: + - pop # Population algorithms, e.g. Particle-Swarm Optimization +stochastic: + - stoch # Stochastic algorithms, e.g. Simulated Annealing diff --git a/schema/methods_category/mathematical/opt/ndiff/pop.json b/schema/methods_category/mathematical/opt/ndiff/pop.json new file mode 100644 index 000000000..6d1ba2380 --- /dev/null +++ b/schema/methods_category/mathematical/opt/ndiff/pop.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/ndiff/pop", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Population algorithms for the optmization of non-differentiable functions category schema", + "allOf": [ + { + "$ref": "../ndiff.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/population" + } + } +} diff --git a/schema/methods_category/mathematical/opt/ndiff/stoch.json b/schema/methods_category/mathematical/opt/ndiff/stoch.json new file mode 100644 index 000000000..65373fc77 --- /dev/null +++ b/schema/methods_category/mathematical/opt/ndiff/stoch.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/ndiff/stoch", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Stochastic algorithms for the optmization of non-differentiable functions category schema", + "allOf": [ + { + "$ref": "../ndiff.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/stochastic" + } + } +} diff --git a/schema/methods_category/mathematical/opt/root.json b/schema/methods_category/mathematical/opt/root.json new file mode 100644 index 000000000..7a484f62e --- /dev/null +++ b/schema/methods_category/mathematical/opt/root.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/root", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Root finding category schema", + "allOf": [ + { + "$ref": "../opt.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/rootFinding" + } + } +} diff --git a/schema/methods_category/mathematical/opt/root/bracket.json b/schema/methods_category/mathematical/opt/root/bracket.json new file mode 100644 index 000000000..611ebaa59 --- /dev/null +++ b/schema/methods_category/mathematical/opt/root/bracket.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/root/bracket", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Bracketing method for finding roots category schema", + "allOf": [ + { + "$ref": "../root.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/bracketing" + } + } +} diff --git a/schema/methods_category/mathematical/opt/root/enum_options.json b/schema/methods_category/mathematical/opt/root/enum_options.json new file mode 100644 index 000000000..25ac4326d --- /dev/null +++ b/schema/methods_category/mathematical/opt/root/enum_options.json @@ -0,0 +1,13 @@ +{ + "$id": "methods-category/mathematical/opt/root/enum-options", + "iterative": { + "enum": [ + "iterative" + ] + }, + "bracketing": { + "enum": [ + "bracket" + ] + } +} diff --git a/schema/methods_category/mathematical/opt/root/enum_options.yml b/schema/methods_category/mathematical/opt/root/enum_options.yml new file mode 100644 index 000000000..3c8566c54 --- /dev/null +++ b/schema/methods_category/mathematical/opt/root/enum_options.yml @@ -0,0 +1,5 @@ +# --- Tier 3 enum slugs: root-finding --- +iterative: + - iterative # Iterative method for root finding category +bracketing: + - bracket # Bracketing method for finding roots category diff --git a/schema/methods_category/mathematical/opt/root/iter.json b/schema/methods_category/mathematical/opt/root/iter.json new file mode 100644 index 000000000..8acac4393 --- /dev/null +++ b/schema/methods_category/mathematical/opt/root/iter.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/mathematical/opt/root/iter", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Iterative method for root finding category schema", + "allOf": [ + { + "$ref": "../root.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/iterative" + } + } +} diff --git a/schema/methods_category/mathematical/regression.json b/schema/methods_category/mathematical/regression.json new file mode 100644 index 000000000..77a0d6378 --- /dev/null +++ b/schema/methods_category/mathematical/regression.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/mathematical/regression", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "linear methods category schema", + "allOf": [ + { + "$ref": "../../core/reusable/categories.json" + } + ], + "properties": { + "type": { + "$ref": "enum_options.json#/regressionTypes" + }, + "subtype": { + "$ref": "enum_options.json#/regressionSubtypes" + } + } +} diff --git a/schema/methods_category/physical/enum_options.json b/schema/methods_category/physical/enum_options.json new file mode 100644 index 000000000..91bfa1584 --- /dev/null +++ b/schema/methods_category/physical/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/physical/enum-options", + "quantumMechanical": { + "enum": [ + "qm" + ] + } +} diff --git a/schema/methods_category/physical/enum_options.yml b/schema/methods_category/physical/enum_options.yml new file mode 100644 index 000000000..8e8ae8fc8 --- /dev/null +++ b/schema/methods_category/physical/enum_options.yml @@ -0,0 +1,3 @@ +# Tier 1 enum slugs +quantumMechanical: + - qm # quantum-mechanical category diff --git a/schema/methods_category/physical/qm.json b/schema/methods_category/physical/qm.json new file mode 100644 index 000000000..2cdfae3bb --- /dev/null +++ b/schema/methods_category/physical/qm.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/physical/qm", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Quantum-Mechanical method category schema", + "allOf": [ + { + "$ref": "../../core/reusable/categories.json" + } + ], + "properties": { + "tier1": { + "$ref": "enum_options.json#/quantumMechanical" + } + } +} diff --git a/schema/methods_category/physical/qm/enum_options.json b/schema/methods_category/physical/qm/enum_options.json new file mode 100644 index 000000000..03e104cf2 --- /dev/null +++ b/schema/methods_category/physical/qm/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/physical/qm/enum-options", + "wavefunction": { + "enum": [ + "wf" + ] + } +} diff --git a/schema/methods_category/physical/qm/enum_options.yml b/schema/methods_category/physical/qm/enum_options.yml new file mode 100644 index 000000000..7cda818cf --- /dev/null +++ b/schema/methods_category/physical/qm/enum_options.yml @@ -0,0 +1,3 @@ +# Tier 2 enum slugs +wavefunction: + - wf # wave function category diff --git a/schema/methods_category/physical/qm/wf.json b/schema/methods_category/physical/qm/wf.json new file mode 100644 index 000000000..f99d7b0e8 --- /dev/null +++ b/schema/methods_category/physical/qm/wf.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/physical/qm/wf", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Methods related to wave functions", + "allOf": [ + { + "$ref": "../qm.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/wavefunction" + } + } +} diff --git a/schema/methods_category/physical/qm/wf/ao.json b/schema/methods_category/physical/qm/wf/ao.json new file mode 100644 index 000000000..f9430fc03 --- /dev/null +++ b/schema/methods_category/physical/qm/wf/ao.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/physical/qm/wf/ao", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Approximating the electronic wave function with a atomic orbital basis", + "allOf": [ + { + "$ref": "../wf.json" + } + ], + "properties": { + "type": { + "$ref": "./enum_options.json#/atomicOrbital" + }, + "subtype": { + "$ref": "./enum_options.json#/aoTypes" + } + } +} diff --git a/schema/methods_category/physical/qm/wf/ao/dunning.json b/schema/methods_category/physical/qm/wf/ao/dunning.json new file mode 100644 index 000000000..4b2e1d12f --- /dev/null +++ b/schema/methods_category/physical/qm/wf/ao/dunning.json @@ -0,0 +1,17 @@ +{ + "$id": "methods-category/physical/qm/wf/ao/dunning", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Dunning correlation-consistent basis set category schema", + "allOf": [ + { + "$ref": "../ao.json" + } + ], + "properties": { + "subtype": { + "enum": [ + "dunning" + ] + } + } +} diff --git a/schema/methods_category/physical/qm/wf/ao/other.json b/schema/methods_category/physical/qm/wf/ao/other.json new file mode 100644 index 000000000..6fd8a3088 --- /dev/null +++ b/schema/methods_category/physical/qm/wf/ao/other.json @@ -0,0 +1,17 @@ +{ + "$id": "methods-category/physical/qm/wf/ao/other", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Other (neither Pople nor Dunning) basis set category schema", + "allOf": [ + { + "$ref": "../ao.json" + } + ], + "properties": { + "subtype": { + "enum": [ + "other" + ] + } + } +} diff --git a/schema/methods_category/physical/qm/wf/ao/pople.json b/schema/methods_category/physical/qm/wf/ao/pople.json new file mode 100644 index 000000000..2f71a0133 --- /dev/null +++ b/schema/methods_category/physical/qm/wf/ao/pople.json @@ -0,0 +1,17 @@ +{ + "$id": "methods-category/physical/qm/wf/ao/pople", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Pople basis set category schema", + "allOf": [ + { + "$ref": "../ao.json" + } + ], + "properties": { + "subtype": { + "enum": [ + "pople" + ] + } + } +} diff --git a/schema/methods_category/physical/qm/wf/enum_options.json b/schema/methods_category/physical/qm/wf/enum_options.json new file mode 100644 index 000000000..56f2f425c --- /dev/null +++ b/schema/methods_category/physical/qm/wf/enum_options.json @@ -0,0 +1,63 @@ +{ + "$id": "methods-category/physical/qm/wf/enum-options", + "planewave": { + "enum": [ + "pw" + ] + }, + "atomicOrbital": { + "enum": [ + "ao" + ] + }, + "wavelet": { + "enum": [ + "wvl" + ] + }, + "smearing": { + "enum": [ + "smearing" + ] + }, + "tetrahedron": { + "enum": [ + "tetrahedron" + ] + }, + "pseudization": { + "enum": [ + "psp" + ] + }, + "pseudoSubtypes": { + "enum": [ + "us", + "nc", + "paw", + "coulomb" + ] + }, + "smearingSubtypes": { + "enum": [ + "gaussian", + "marzari-vanderbilt", + "methfessel-paxton", + "fermi-dirac" + ] + }, + "tetrahedronSubtypes": { + "enum": [ + "linear", + "optimized", + "bloechl" + ] + }, + "aoTypes": { + "enum": [ + "pople", + "dunning", + "other" + ] + } +} diff --git a/schema/methods_category/physical/qm/wf/enum_options.yml b/schema/methods_category/physical/qm/wf/enum_options.yml new file mode 100644 index 000000000..4e5f38a21 --- /dev/null +++ b/schema/methods_category/physical/qm/wf/enum_options.yml @@ -0,0 +1,43 @@ +# --- Type enum slugs --- +# Wave function types +planewave: + - pw # plane waves +atomicOrbital: + - ao # atomic orbital basis +wavelet: + - wvl # wavelet series +# Brillouin Zone integration +smearing: + - smearing # Occupation number smearing +tetrahedron: + - tetrahedron # Tetrahedron method + +# --- SubType enum slugs --- +pseudization: + - psp # Pseudopotential Approximation +# +# Pseudopotential +pseudoSubtypes: + - us # ultra-soft + - nc # norm-conserving + - paw # projector augmented wave + - coulomb # Coulomb potential +# +# Occupation number smearing (Brillouin zone integration) +smearingSubtypes: + - gaussian + - marzari-vanderbilt # Marzari-Vanderbilt smearing, doi:10.1103/PhysRevLett.82.3296 + - methfessel-paxton # Methfessel-Paxton smearing, doi:10.1103/PhysRevB.40.3616 + - fermi-dirac # uses Fermi-Dirac distribution instead of Heaviside step function +# +# Tetrahedron methods (Brillouin zone integration) +tetrahedronSubtypes: + - linear # original linear tetrahedron method + - optimized # Optimized tetrahedron method by Kawamura, doi:10.1103/PhysRevB.89.094515 + - bloechl # Tetrahedron method with Bloechl correction, doi:10.1103/PhysRevB.49.16223 +# +# Atomic Orbital basis types +aoTypes: + - pople + - dunning + - other diff --git a/schema/methods_category/physical/qm/wf/psp.json b/schema/methods_category/physical/qm/wf/psp.json new file mode 100644 index 000000000..93ef77ea7 --- /dev/null +++ b/schema/methods_category/physical/qm/wf/psp.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/physical/qm/wf/psp", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Pseudopotential category schema", + "allOf": [ + { + "$ref": "../wf.json" + } + ], + "properties": { + "type": { + "$ref": "./enum_options.json#/pseudization" + }, + "subtype": { + "$ref": "./enum_options.json#/pseudoSubtypes" + } + } +} diff --git a/schema/methods_category/physical/qm/wf/pw.json b/schema/methods_category/physical/qm/wf/pw.json new file mode 100644 index 000000000..da709ce77 --- /dev/null +++ b/schema/methods_category/physical/qm/wf/pw.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-category/physical/qm/wf/pw", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Plane wave catgeory schema", + "allOf": [ + { + "$ref": "../wf.json" + } + ], + "properties": { + "type": { + "$ref": "./enum_options.json#/planewave" + } + } +} diff --git a/schema/methods_category/physical/qm/wf/smearing.json b/schema/methods_category/physical/qm/wf/smearing.json new file mode 100644 index 000000000..1a440a832 --- /dev/null +++ b/schema/methods_category/physical/qm/wf/smearing.json @@ -0,0 +1,19 @@ +{ + "$id": "methods-category/physical/qm/wf/smearing", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Smearing methods category schema", + "description": "Approximating Heaviside step function with smooth function", + "allOf": [ + { + "$ref": "../wf.json" + } + ], + "properties": { + "type": { + "$ref": "enum_options.json#/smearing" + }, + "subtype": { + "$ref": "./enum_options.json#/smearingSubtypes" + } + } +} diff --git a/schema/methods_category/physical/qm/wf/tetrahedron.json b/schema/methods_category/physical/qm/wf/tetrahedron.json new file mode 100644 index 000000000..50b7aaab3 --- /dev/null +++ b/schema/methods_category/physical/qm/wf/tetrahedron.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/physical/qm/wf/tetrahedron", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Tetrahedron method for Brillouin zone integration category schema ", + "allOf": [ + { + "$ref": "../wf.json" + } + ], + "properties": { + "type": { + "$ref": "enum_options.json#/tetrahedron" + }, + "subtype": { + "$ref": "./enum_options.json#/tetrahedronSubtypes" + } + } +} diff --git a/schema/methods_directory/local-orbital.json b/schema/methods_directory/local-orbital.json deleted file mode 100644 index 0b1e3f519..000000000 --- a/schema/methods_directory/local-orbital.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "schemaId": "methods-directory/local-orbital", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "local atomic orbitals method schema", - "allOf": [ - { - "$ref": "../method.json" - } - ], - "properties": { - "type": { - "enum": [ - "local-orbital" - ] - }, - "subtype": { - "enum": [ - "pople", - "dunning" - ] - }, - "basisSet": { - "slug": { - "oneOf": [ - { - "$ref": "local_orbital/definitions/basis_sets.json#/pople" - }, - { - "$ref": "local_orbital/definitions/basis_sets.json#/dunning" - }, - { - "$ref": "local_orbital/definitions/basis_sets.json#/other" - } - ] - } - } - } -} diff --git a/schema/methods_directory/local_orbital/definitions/basis_sets.json b/schema/methods_directory/local_orbital/definitions/basis_sets.json deleted file mode 100644 index f155da97e..000000000 --- a/schema/methods_directory/local_orbital/definitions/basis_sets.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "schemaId": "methods-directory/local-orbital/definitions/basis-sets", - "pople": { - "type": "object", - "properties": { - "slug": { - "type": "string", - "enum": [ - "3-21G", - "6-31G", - "6-311G" - ] - } - } - }, - "dunning": { - "type": "object", - "properties": { - "slug": { - "type": "string", - "enum": [ - "cc-pvdz", - "cc-pvtz", - "cc-pvqz" - ] - } - } - }, - "other": { - "type": "object", - "properties": { - "slug": { - "type": "string", - "enum": [ - "sto-3g", - "sto-4g", - "sto-6g", - "def2-svp", - "def2-tzvp", - "def2-qzvp", - "cbs-qb3" - ] - } - } - } -} diff --git a/schema/methods_directory/mathematical/cg.json b/schema/methods_directory/mathematical/cg.json new file mode 100644 index 000000000..6e817b347 --- /dev/null +++ b/schema/methods_directory/mathematical/cg.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-directory/mathematical/cg", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "conjugate gradient method schema", + "allOf": [ + { + "$ref": "../../method/unit_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../../methods_category/mathematical/opt/diff/ordern/cg.json" + } + } +} diff --git a/schema/methods_directory/mathematical/davidson.json b/schema/methods_directory/mathematical/davidson.json new file mode 100644 index 000000000..9eef262bc --- /dev/null +++ b/schema/methods_directory/mathematical/davidson.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-directory/mathematical/davidson", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Davidson diagonalization method", + "allOf": [ + { + "$ref": "../../method/unit_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../../methods_category/mathematical/linalg/diag/davidson.json" + } + } +} diff --git a/schema/methods_directory/mathematical/regression.json b/schema/methods_directory/mathematical/regression.json new file mode 100644 index 000000000..407491c57 --- /dev/null +++ b/schema/methods_directory/mathematical/regression.json @@ -0,0 +1,25 @@ +{ + "$id": "methods-directory/mathematical/regression", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "linear methods schema", + "allOf": [ + { + "$ref": "../../method/unit_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../../methods_category/mathematical/regression.json" + }, + "precision": { + "$ref": "regression/precision.json" + }, + "data": { + "$ref": "regression/data.json" + } + }, + "required": [ + "precision", + "data" + ] +} diff --git a/schema/methods_directory/mathematical/regression/data.json b/schema/methods_directory/mathematical/regression/data.json new file mode 100644 index 000000000..80a778901 --- /dev/null +++ b/schema/methods_directory/mathematical/regression/data.json @@ -0,0 +1,24 @@ +{ + "$id": "methods-directory/mathematical/regression/data", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression data", + "type": "object", + "properties": { + "perProperty": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "linear/data_per_property.json" + }, + { + "$ref": "kernel_ridge/data_per_property.json" + } + ] + } + }, + "dataSet": { + "$ref": "dataset.json" + } + } +} diff --git a/schema/methods_directory/regression/dataset.json b/schema/methods_directory/mathematical/regression/dataset.json similarity index 89% rename from schema/methods_directory/regression/dataset.json rename to schema/methods_directory/mathematical/regression/dataset.json index b57257285..ca5c2795a 100644 --- a/schema/methods_directory/regression/dataset.json +++ b/schema/methods_directory/mathematical/regression/dataset.json @@ -1,5 +1,5 @@ { - "schemaId": "methods-directory/regression/dataset", + "$id": "methods-directory/mathematical/regression/dataset", "$schema": "http://json-schema.org/draft-04/schema#", "description": "dataset for ml", "type": "object", diff --git a/schema/methods_directory/regression/kernel_ridge/data_per_property.json b/schema/methods_directory/mathematical/regression/kernel_ridge/data_per_property.json similarity index 66% rename from schema/methods_directory/regression/kernel_ridge/data_per_property.json rename to schema/methods_directory/mathematical/regression/kernel_ridge/data_per_property.json index cdbb8f540..3a9803515 100644 --- a/schema/methods_directory/regression/kernel_ridge/data_per_property.json +++ b/schema/methods_directory/mathematical/regression/kernel_ridge/data_per_property.json @@ -1,5 +1,5 @@ { - "schemaId": "methods-directory/regression/kernel-ridge/data-per-property", + "$id": "methods-directory/mathematical/regression/kernel-ridge/data-per-property", "$schema": "http://json-schema.org/draft-04/schema#", "title": "kernel-ridge regression parameters schema", "properties": { @@ -15,15 +15,7 @@ "type": "array", "description": "per-feature (property used for training the ML method/model) parameters", "items": { - "type": "object", - "allOf": [ - { - "$ref": "../data_per_feature.json" - } - ], - "required": [ - "name" - ] + "$ref": "../per_feature_item.json" } } }, diff --git a/schema/methods_directory/regression/linear/data_per_property.json b/schema/methods_directory/mathematical/regression/linear/data_per_property.json similarity index 50% rename from schema/methods_directory/regression/linear/data_per_property.json rename to schema/methods_directory/mathematical/regression/linear/data_per_property.json index 632805b34..57d50f3e8 100644 --- a/schema/methods_directory/regression/linear/data_per_property.json +++ b/schema/methods_directory/mathematical/regression/linear/data_per_property.json @@ -1,5 +1,5 @@ { - "schemaId": "methods-directory/regression/linear/data-per-property", + "$id": "methods-directory/mathematical/regression/linear/data-per-property", "$schema": "http://json-schema.org/draft-04/schema#", "title": "linear regression parameters schema", "properties": { @@ -11,21 +11,7 @@ "type": "array", "description": "per-feature (property used for training the ML method/model) parameters", "items": { - "type": "object", - "properties": { - "coefficient": { - "description": "coefficient in linear regression", - "type": "number" - } - }, - "allOf": [ - { - "$ref": "../data_per_feature.json" - } - ], - "required": [ - "coefficient" - ] + "$ref": "../per_feature_item.json" } } }, diff --git a/schema/methods_directory/regression/data_per_feature.json b/schema/methods_directory/mathematical/regression/per_feature_item.json similarity index 55% rename from schema/methods_directory/regression/data_per_feature.json rename to schema/methods_directory/mathematical/regression/per_feature_item.json index 0329fe54b..1e19b603a 100644 --- a/schema/methods_directory/regression/data_per_feature.json +++ b/schema/methods_directory/mathematical/regression/per_feature_item.json @@ -1,8 +1,12 @@ { - "schemaId": "methods-directory/regression/data-per-feature", + "$id": "methods-directory/mathematical/regression/per-feature-item", "$schema": "http://json-schema.org/draft-04/schema#", - "title": "feature parameters schema", + "title": "per-feature (property used for training the ML method/model) parameters schema", "properties": { + "coefficient": { + "description": "coefficient in linear regression", + "type": "number" + }, "name": { "description": "feature name", "type": "string" diff --git a/schema/methods_directory/mathematical/regression/precision.json b/schema/methods_directory/mathematical/regression/precision.json new file mode 100644 index 000000000..c9ad353cf --- /dev/null +++ b/schema/methods_directory/mathematical/regression/precision.json @@ -0,0 +1,14 @@ +{ + "$id": "methods-directory/mathematical/regression/precision", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression precision", + "type": "object", + "properties": { + "perProperty": { + "type": "array", + "items": { + "$ref": "precision_per_property.json" + } + } + } +} diff --git a/schema/methods_directory/regression/precision_per_property.json b/schema/methods_directory/mathematical/regression/precision_per_property.json similarity index 58% rename from schema/methods_directory/regression/precision_per_property.json rename to schema/methods_directory/mathematical/regression/precision_per_property.json index 95b7a3e0e..1ad820487 100644 --- a/schema/methods_directory/regression/precision_per_property.json +++ b/schema/methods_directory/mathematical/regression/precision_per_property.json @@ -1,8 +1,13 @@ { - "schemaId": "methods-directory/regression/precision-per-property", + "$id": "methods-directory/mathematical/regression/precision-per-property", "$schema": "http://json-schema.org/draft-04/schema#", - "title": "precision schema for regression", + "title": "regression precision per property schema", + "type": "object", "properties": { + "name": { + "description": "property name in 'flattened' format", + "type": "string" + }, "trainingError": { "description": "training error of the estimator", "type": "number" diff --git a/schema/methods_directory/physical/ao/dunning.json b/schema/methods_directory/physical/ao/dunning.json new file mode 100644 index 000000000..ffb783f28 --- /dev/null +++ b/schema/methods_directory/physical/ao/dunning.json @@ -0,0 +1,26 @@ +{ + "$id": "methods-directory/physical/ao/dunning", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Dunning correlation-consistent basis set unit method", + "allOf": [ + { + "$ref": "../../../method/unit_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../../../methods_category/physical/qm/wf/ao/dunning.json" + }, + "parameters": { + "allOf": [ + { + "properties": { + "basisSlug": { + "$ref": "./enum_options.json#/dunningAoBasis" + } + } + } + ] + } + } +} diff --git a/schema/methods_directory/physical/ao/enum_options.json b/schema/methods_directory/physical/ao/enum_options.json new file mode 100644 index 000000000..077f812e3 --- /dev/null +++ b/schema/methods_directory/physical/ao/enum_options.json @@ -0,0 +1,28 @@ +{ + "$id": "methods-directory/physical/ao/enum-options", + "popleAoBasis": { + "enum": [ + "3-21G", + "6-31G", + "6-311G" + ] + }, + "dunningAoBasis": { + "enum": [ + "cc-pvdz", + "cc-pvtz", + "cc-pvqz" + ] + }, + "otherAoBasis": { + "enum": [ + "sto-3g", + "sto-4g", + "sto-6g", + "def2-svp", + "def2-tzvp", + "def2-qzvp", + "cbs-qb3" + ] + } +} diff --git a/schema/methods_directory/physical/ao/enum_options.yml b/schema/methods_directory/physical/ao/enum_options.yml new file mode 100644 index 000000000..bcacda36e --- /dev/null +++ b/schema/methods_directory/physical/ao/enum_options.yml @@ -0,0 +1,19 @@ +# Pople basis sets +popleAoBasis: + - 3-21G + - 6-31G + - 6-311G +# Dunning's correlation-consistent basis sets +dunningAoBasis: + - cc-pvdz + - cc-pvtz + - cc-pvqz +# Other basis sets +otherAoBasis: + - sto-3g + - sto-4g + - sto-6g + - def2-svp + - def2-tzvp + - def2-qzvp + - cbs-qb3 diff --git a/schema/methods_directory/physical/ao/other.json b/schema/methods_directory/physical/ao/other.json new file mode 100644 index 000000000..4be5df773 --- /dev/null +++ b/schema/methods_directory/physical/ao/other.json @@ -0,0 +1,26 @@ +{ + "$id": "methods-directory/physical/ao/other", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Other (neither Pople nor Dunning) basis set unit method", + "allOf": [ + { + "$ref": "../../../method/unit_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../../../methods_category/physical/qm/wf/ao/other.json" + }, + "parameters": { + "allOf": [ + { + "properties": { + "basisSlug": { + "$ref": "./enum_options.json#/otherAoBasis" + } + } + } + ] + } + } +} diff --git a/schema/methods_directory/physical/ao/pople.json b/schema/methods_directory/physical/ao/pople.json new file mode 100644 index 000000000..480109613 --- /dev/null +++ b/schema/methods_directory/physical/ao/pople.json @@ -0,0 +1,26 @@ +{ + "$id": "methods-directory/physical/ao/pople", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Pople basis set unit method", + "allOf": [ + { + "$ref": "../../../method/unit_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../../../methods_category/physical/qm/wf/ao/pople.json" + }, + "parameters": { + "allOf": [ + { + "properties": { + "basisSlug": { + "$ref": "./enum_options.json#/popleAoBasis" + } + } + } + ] + } + } +} diff --git a/schema/methods_directory/physical/psp.json b/schema/methods_directory/physical/psp.json new file mode 100644 index 000000000..54d3e517d --- /dev/null +++ b/schema/methods_directory/physical/psp.json @@ -0,0 +1,28 @@ +{ + "$id": "methods-directory/physical/psp", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Pseudopotential unit method schema", + "description": "Core-valence separation by means of pseudopotentials (effective potential)", + "allOf": [ + { + "$ref": "../../method/unit_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../../methods_category/physical/qm/wf/psp.json" + }, + "data": { + "type": "object", + "properties": { + "pseudo": { + "description": "pseudopotential files", + "type": "array", + "items": { + "$ref": "./psp/file.json" + } + } + } + } + } +} diff --git a/schema/methods_directory/physical/psp/file.json b/schema/methods_directory/physical/psp/file.json new file mode 100644 index 000000000..768bba3ea --- /dev/null +++ b/schema/methods_directory/physical/psp/file.json @@ -0,0 +1,52 @@ +{ + "$id": "methods-directory/physical/psp/file", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pseudopotential file schema", + "properties": { + "element": { + "type": "string", + "description": "chemical element" + }, + "textHeading": { + "type": "string", + "description": "text of pseudopotential file header" + }, + "type": { + "type": "string", + "description": "type of pseudization", + "$ref": "../../../methods_category/physical/qm/wf/enum_options.json#/pseudoSubtypes" + }, + "source": { + "type": "string", + "description": "explains where this came from" + }, + "version": { + "type": "string", + "description": "explains the version of where this came from" + }, + "exchangeCorrelation": { + "$ref": "../../../core/reusable/category_path.json", + "description": "DFT model path, e.g. '/pb/qm/dft/ksdft/gga?functional=pbe'" + }, + "path": { + "type": "string", + "description": "location of the pseudopotential file on filesystem" + }, + "apps": { + "type": "array", + "description": "simulation engines that can use this pseudopotential" + }, + "filename": { + "type": "string", + "description": "filename of pseudopotential file on filesystem" + } + }, + "required": [ + "element", + "type", + "exchangeCorrelation", + "source", + "path", + "apps" + ] +} diff --git a/schema/methods_directory/physical/pw.json b/schema/methods_directory/physical/pw.json new file mode 100644 index 000000000..99c33b9a1 --- /dev/null +++ b/schema/methods_directory/physical/pw.json @@ -0,0 +1,16 @@ +{ + "$id": "methods-directory/physical/pw", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Plane wave method unit schema", + "description": "Approximating the electronic wave function with a plane wave basis", + "allOf": [ + { + "$ref": "../../method/unit_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../../methods_category/physical/qm/wf/pw.json" + } + } +} diff --git a/schema/methods_directory/physical/smearing.json b/schema/methods_directory/physical/smearing.json new file mode 100644 index 000000000..afdc6a5d7 --- /dev/null +++ b/schema/methods_directory/physical/smearing.json @@ -0,0 +1,16 @@ +{ + "$id": "methods-directory/physical/smearing", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Smearing methods schema for partial occupancies (Brillouin zone integration for metals)", + "description": "Approximating Heaviside step function with smooth function", + "allOf": [ + { + "$ref": "../../method/unit_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../../methods_category/physical/qm/wf/smearing.json" + } + } +} diff --git a/schema/methods_directory/physical/tetrahedron.json b/schema/methods_directory/physical/tetrahedron.json new file mode 100644 index 000000000..d116efb8f --- /dev/null +++ b/schema/methods_directory/physical/tetrahedron.json @@ -0,0 +1,15 @@ +{ + "$id": "methods-directory/physical/tetrahedron", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Tetrahedron method (Brillouin zone integration) schema ", + "allOf": [ + { + "$ref": "../../method/unit_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../../methods_category/physical/qm/wf/tetrahedron.json" + } + } +} diff --git a/schema/methods_directory/pseudopotential.json b/schema/methods_directory/pseudopotential.json deleted file mode 100644 index bff9211a8..000000000 --- a/schema/methods_directory/pseudopotential.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "schemaId": "methods-directory/pseudopotential", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "pseudopotential method schema", - "allOf": [ - { - "$ref": "../method.json" - } - ], - "properties": { - "type": { - "enum": [ - "pseudopotential" - ] - }, - "subtype": { - "enum": [ - "us", - "nc", - "paw" - ] - }, - "precision": { - "$ref": "pseudopotential/precision.json" - }, - "data": { - "properties": { - "dateSet": { - "$ref": "pseudopotential/dataset.json" - } - } - } - } -} diff --git a/schema/methods_directory/pseudopotential/dataset.json b/schema/methods_directory/pseudopotential/dataset.json deleted file mode 100644 index af8c83ae4..000000000 --- a/schema/methods_directory/pseudopotential/dataset.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "schemaId": "methods-directory/pseudopotential/dataset", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "pseudopotential dataset schema", - "properties": { - "apps": { - "description": "simulation engines that can use this pseudopotential set items", - "type": "array" - }, - "elements": { - "description": "chemical elements for which files are present in the set", - "items": { - "type": "string" - }, - "type": "array" - }, - "exchangeCorrelation": { - "$ref": "file/exchange_correlation.json" - }, - "format": { - "description": "type of pseudopotantial format", - "enum": [ - "upf", - "vasp" - ], - "type": "string" - }, - "name": { - "type": "string" - }, - "source": { - "description": "explains the source of where this came from", - "enum": [ - "quantum espresso database", - "gbrv", - "vasp database", - "other" - ], - "type": "string" - }, - "type": { - "description": "type of pseudization", - "enum": [ - "paw", - "us", - "nc" - ], - "type": "string" - }, - "version": { - "description": "explains the version of where this came from", - "type": "string" - }, - "files": { - "description": "pseudopotentials used inside this set", - "type": "array", - "items": { - "$ref": "file.json" - } - } - }, - "required": [ - "apps", - "elements", - "exchangeCorrelation", - "format", - "name", - "type", - "files" - ] -} diff --git a/schema/methods_directory/pseudopotential/file.json b/schema/methods_directory/pseudopotential/file.json deleted file mode 100644 index 6e8682ccf..000000000 --- a/schema/methods_directory/pseudopotential/file.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "schemaId": "methods-directory/pseudopotential/file", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "pseudopotential file schema", - "properties": { - "element": { - "type": "string", - "description": "chemical element" - }, - "textHeading": { - "type": "string", - "description": "text of pseudopotential file header" - }, - "type": { - "type": "string", - "description": "type of pseudization", - "enum": [ - "paw", - "us", - "nc" - ] - }, - "title": { - "type": "string" - }, - "generationDate": { - "type": "string" - }, - "source": { - "type": "string", - "description": "explains where this came from" - }, - "version": { - "type": "string", - "description": "explains the version of where this came from" - }, - "valenceElectrons": { - "type": "integer" - }, - "coreStates": { - "type": "string", - "enum": [ - "all", - "none", - "partial" - ] - }, - "energyCutoff": { - "$ref": "file/energy_cutoff.json" - }, - "electronicConfiguration": { - "type": "string" - }, - "exchangeCorrelation": { - "$ref": "file/exchange_correlation.json" - }, - "mass": { - "type": "number", - "description": "atomic mass in amu" - }, - "radii": { - "$ref": "file/radii.json" - }, - "screening": { - "type": "string", - "enum": [ - "linear", - "non_linear", - "none" - ] - }, - "properties": { - "type": "array", - "description": "array of characteristic properties" - }, - "path": { - "type": "string", - "description": "location of the pseudopotential file on filesystem" - }, - "apps": { - "type": "array", - "description": "simulation engines that can use this pseudopotential" - }, - "storage": { - "type": "object", - "properties": { - "url": { - "type": "string", - "description": "pseudopotential file path on a cloud storage" - }, - "container": { - "type": "string", - "description": "container name where pseudo file is uploaded" - }, - "provider": { - "type": "string", - "description": "cloud storage provider where pseudo file is stored", - "enum": [ - "ec2", - "azure" - ] - } - } - } - }, - "required": [ - "element", - "type", - "exchangeCorrelation", - "source", - "path", - "apps" - ] -} diff --git a/schema/methods_directory/pseudopotential/file/energy_cutoff.json b/schema/methods_directory/pseudopotential/file/energy_cutoff.json deleted file mode 100644 index d7de472ce..000000000 --- a/schema/methods_directory/pseudopotential/file/energy_cutoff.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "schemaId": "methods-directory/pseudopotential/file/energy-cutoff", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "energy cutoff schema", - "type": "object", - "properties": { - "energyCutoff": { - "type": "object", - "description": "highest energy of plane waves included in calculation", - "properties": { - "max": { - "type": "number" - }, - "min": { - "type": "number" - }, - "units": { - "enum": [ - "eV", - "rydberg", - "hartree" - ] - } - } - } - } -} diff --git a/schema/methods_directory/pseudopotential/file/exchange_correlation.json b/schema/methods_directory/pseudopotential/file/exchange_correlation.json deleted file mode 100644 index 64e88b89f..000000000 --- a/schema/methods_directory/pseudopotential/file/exchange_correlation.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "schemaId": "methods-directory/pseudopotential/file/exchange-correlation", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "exchange correlation schema", - "type": "object", - "description": "details on the type of formalism used", - "properties": { - "approximation": { - "enum": [ - "lda", - "gga" - ] - }, - "functional": { - "type": "string" - } - } -} diff --git a/schema/methods_directory/pseudopotential/file/radii.json b/schema/methods_directory/pseudopotential/file/radii.json deleted file mode 100644 index b89185b42..000000000 --- a/schema/methods_directory/pseudopotential/file/radii.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "schemaId": "methods-directory/pseudopotential/file/radii", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "radii schema", - "type": "object", - "description": "cutoff and atomic radii of the elemental pseudopotential", - "properties": { - "wignerSeitz": { - "type": "number" - }, - "partialCore": { - "type": "number" - }, - "cutoff": { - "type": "number" - }, - "units": { - "enum": [ - "angstrom", - "bohr", - "nm" - ] - } - } -} diff --git a/schema/methods_directory/pseudopotential/precision.json b/schema/methods_directory/pseudopotential/precision.json deleted file mode 100644 index 7a302839c..000000000 --- a/schema/methods_directory/pseudopotential/precision.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "schemaId": "methods-directory/pseudopotential/precision", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "precision schema for pseudopotential dft", - "properties": { - "ecutwfc": { - "description": "wavefunction cutoff energy in eV", - "type": "number" - }, - "ecutrho": { - "description": "charge density cutoff energy in eV", - "type": "number" - }, - "kgrid": { - "description": "information about kpoints grid", - "allOf": [ - { - "$ref": "../../core/abstract/3d_grid.json" - } - ], - "properties": { - "ibz": { - "description": "number of k-points inside irreducible wedge of the Brillouin zone", - "type": "integer" - } - } - } - }, - "required": [ - "ecutwfc", - "ecutrho", - "kgrid" - ] -} diff --git a/schema/methods_directory/regression.json b/schema/methods_directory/regression.json deleted file mode 100644 index 478239020..000000000 --- a/schema/methods_directory/regression.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "schemaId": "methods-directory/regression", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "linear methods schema", - "allOf": [ - { - "$ref": "../method.json" - } - ], - "properties": { - "type": { - "enum": [ - "linear", - "kernel_ridge" - ] - }, - "subtype": { - "enum": [ - "least_squares", - "ridge" - ] - }, - "precision": { - "perProperty": { - "items": { - "type": "object", - "properties": { - "name": { - "description": "property name in 'flattened' format", - "type": "string" - } - }, - "allOf": [ - { - "$ref": "regression/precision.json" - } - ] - } - } - }, - "data": { - "perProperty": { - "items": { - "type": "object", - "properties": { - "name": { - "description": "property name in 'flattened' format", - "type": "string" - } - }, - "allOf": [ - { - "$ref": "regression/data.json" - } - ] - } - }, - "dataSet": { - "$ref": "regression/dataset.json" - } - } - }, - "required": [ - "precision", - "data" - ] -} diff --git a/schema/methods_directory/regression/data.json b/schema/methods_directory/regression/data.json deleted file mode 100644 index 198e9b87a..000000000 --- a/schema/methods_directory/regression/data.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "schemaId": "methods-directory/regression/data", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "regression data", - "oneOf": [ - { - "$ref": "linear/data_per_property.json" - }, - { - "$ref": "kernel_ridge/data_per_property.json" - } - ] -} diff --git a/schema/methods_directory/regression/precision.json b/schema/methods_directory/regression/precision.json deleted file mode 100644 index 1542e859e..000000000 --- a/schema/methods_directory/regression/precision.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "schemaId": "methods-directory/regression/precision", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "regression precision", - "oneOf": [ - { - "$ref": "./precision_per_property.json" - } - ] -} diff --git a/schema/methods_directory/unknown.json b/schema/methods_directory/unknown.json deleted file mode 100644 index 7ae7b9c2f..000000000 --- a/schema/methods_directory/unknown.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "schemaId": "methods-directory/unknown", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "unknown methods schema", - "allOf": [ - { - "$ref": "../method.json" - } - ], - "properties": { - "type": { - "enum": [ - "unknown" - ] - }, - "subtype": { - "enum": [ - "unknown" - ] - } - } -} diff --git a/schema/model.json b/schema/model.json index 82d15efac..c90865b51 100644 --- a/schema/model.json +++ b/schema/model.json @@ -1,7 +1,7 @@ { - "schemaId": "model", + "$id": "model", "$schema": "http://json-schema.org/draft-04/schema#", - "title": "model schema (base)", + "title": "base model", "properties": { "type": { "description": "general type of the model, eg. `dft`", diff --git a/schema/model/augmentations.json b/schema/model/augmentations.json deleted file mode 100644 index 18d8a3086..000000000 --- a/schema/model/augmentations.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "schemaId": "model/augmentations", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "model augmentation schema", - "description": "Descriptive properties of a model, that do not change the underlying physical principles of the model. Example: localization for local-orbital DFT.", - "allOf": [ - { - "$ref": "../core/primitive/array_of_strings.json" - } - ] -} diff --git a/schema/model/categorized_model.json b/schema/model/categorized_model.json new file mode 100644 index 000000000..6c9391d1e --- /dev/null +++ b/schema/model/categorized_model.json @@ -0,0 +1,18 @@ +{ + "$id": "model/categorized-model", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categorized base model", + "allOf": [ + { + "$ref": "./model_without_method.json" + } + ], + "properties": { + "method": { + "$ref": "../method/categorized_method.json" + } + }, + "required": [ + "method" + ] +} diff --git a/schema/model/mixins/dft/double_hybrid_functional.json b/schema/model/mixins/dft/double_hybrid_functional.json new file mode 100644 index 000000000..c746957a2 --- /dev/null +++ b/schema/model/mixins/dft/double_hybrid_functional.json @@ -0,0 +1,12 @@ +{ + "$id": "model/mixins/dft/double-hybrid-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Double hybrid functional mixin", + "type": "object", + "properties": { + "functional": { + "type": "string", + "$ref": "./enum_options.json#/doubleHybrid" + } + } +} diff --git a/schema/model/mixins/dft/enum_options.json b/schema/model/mixins/dft/enum_options.json new file mode 100644 index 000000000..7f85e13a3 --- /dev/null +++ b/schema/model/mixins/dft/enum_options.json @@ -0,0 +1,29 @@ +{ + "$id": "model/mixins/dft/enum-options", + "lda": { + "enum": [ + "pz" + ] + }, + "gga": { + "enum": [ + "pbe" + ] + }, + "mgga": { + "enum": [ + "scan" + ] + }, + "hybrid": { + "enum": [ + "hse06", + "b3lyp" + ] + }, + "doubleHybrid": { + "enum": [ + "b2plyp" + ] + } +} diff --git a/schema/model/mixins/dft/enum_options.yml b/schema/model/mixins/dft/enum_options.yml new file mode 100644 index 000000000..56d664fd7 --- /dev/null +++ b/schema/model/mixins/dft/enum_options.yml @@ -0,0 +1,12 @@ +# Collection of DFT functional slugs sorted by DFT rung +lda: + - pz +gga: + - pbe +mgga: + - scan +hybrid: + - hse06 + - b3lyp +doubleHybrid: + - b2plyp diff --git a/schema/model/mixins/dft/gga_functional.json b/schema/model/mixins/dft/gga_functional.json new file mode 100644 index 000000000..489af7a44 --- /dev/null +++ b/schema/model/mixins/dft/gga_functional.json @@ -0,0 +1,12 @@ +{ + "$id": "model/mixins/dft/gga-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "GGA functional mixin", + "type": "object", + "properties": { + "functional": { + "type": "string", + "$ref": "./enum_options.json#/gga" + } + } +} diff --git a/schema/model/mixins/dft/hybrid_functional.json b/schema/model/mixins/dft/hybrid_functional.json new file mode 100644 index 000000000..dd9843819 --- /dev/null +++ b/schema/model/mixins/dft/hybrid_functional.json @@ -0,0 +1,12 @@ +{ + "$id": "model/mixins/dft/hybrid-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hybrid functional mixin", + "type": "object", + "properties": { + "functional": { + "type": "string", + "$ref": "./enum_options.json#/hybrid" + } + } +} diff --git a/schema/model/mixins/dft/lda_functional.json b/schema/model/mixins/dft/lda_functional.json new file mode 100644 index 000000000..dca711371 --- /dev/null +++ b/schema/model/mixins/dft/lda_functional.json @@ -0,0 +1,12 @@ +{ + "$id": "model/mixins/dft/lda-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "LDA functional mixin", + "type": "object", + "properties": { + "functional": { + "type": "string", + "$ref": "./enum_options.json#/lda" + } + } +} diff --git a/schema/model/mixins/dft/mgga_functional.json b/schema/model/mixins/dft/mgga_functional.json new file mode 100644 index 000000000..40c6408e8 --- /dev/null +++ b/schema/model/mixins/dft/mgga_functional.json @@ -0,0 +1,12 @@ +{ + "$id": "model/mixins/dft/mgga-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Meta-GGA functional mixin", + "type": "object", + "properties": { + "functional": { + "type": "string", + "$ref": "./enum_options.json#/mgga" + } + } +} diff --git a/schema/model/mixins/dispersion_correction.json b/schema/model/mixins/dispersion_correction.json new file mode 100644 index 000000000..a1b5b0d0d --- /dev/null +++ b/schema/model/mixins/dispersion_correction.json @@ -0,0 +1,12 @@ +{ + "$id": "model/mixins/dispersion-correction", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Dispersion correction mixin", + "type": "object", + "properties": { + "dispersionCorrection": { + "type": "string", + "$ref": "./enum_options.json#/dispersionCorrection" + } + } +} diff --git a/schema/model/mixins/enum_options.json b/schema/model/mixins/enum_options.json new file mode 100644 index 000000000..b67b3a75f --- /dev/null +++ b/schema/model/mixins/enum_options.json @@ -0,0 +1,22 @@ +{ + "$id": "model/mixins/enum-options", + "spinPolarization": { + "enum": [ + "collinear", + "non-collinear" + ] + }, + "dispersionCorrection": { + "enum": [ + "dft-d2", + "dft-d3", + "xdm", + "ts" + ] + }, + "hubbardType": { + "enum": [ + "u" + ] + } +} diff --git a/schema/model/mixins/enum_options.yml b/schema/model/mixins/enum_options.yml new file mode 100644 index 000000000..cca38e499 --- /dev/null +++ b/schema/model/mixins/enum_options.yml @@ -0,0 +1,10 @@ +spinPolarization: + - collinear + - non-collinear +dispersionCorrection: + - dft-d2 + - dft-d3 + - xdm + - ts +hubbardType: + - u diff --git a/schema/model/mixins/hubbard.json b/schema/model/mixins/hubbard.json new file mode 100644 index 000000000..d6ea7e5e3 --- /dev/null +++ b/schema/model/mixins/hubbard.json @@ -0,0 +1,12 @@ +{ + "$id": "model/mixins/hubbard", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hubbard model mixin", + "type": "object", + "properties": { + "hubbardType": { + "type": "string", + "$ref": "./enum_options.json#/hubbardType" + } + } +} diff --git a/schema/model/mixins/spin_orbit_coupling.json b/schema/model/mixins/spin_orbit_coupling.json new file mode 100644 index 000000000..336584320 --- /dev/null +++ b/schema/model/mixins/spin_orbit_coupling.json @@ -0,0 +1,11 @@ +{ + "$id": "model/mixins/spin-orbit-coupling", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-orbit coupling mixin", + "type": "object", + "properties": { + "spinOrbitCoupling": { + "type": "boolean" + } + } +} diff --git a/schema/model/mixins/spin_polarization.json b/schema/model/mixins/spin_polarization.json new file mode 100644 index 000000000..5f1bae946 --- /dev/null +++ b/schema/model/mixins/spin_polarization.json @@ -0,0 +1,12 @@ +{ + "$id": "model/mixins/spin-polarization", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-polarization mixin", + "type": "object", + "properties": { + "spinPolarization": { + "type": "string", + "$ref": "./enum_options.json#/spinPolarization" + } + } +} diff --git a/schema/model/model_without_method.json b/schema/model/model_without_method.json new file mode 100644 index 000000000..b50bc4df0 --- /dev/null +++ b/schema/model/model_without_method.json @@ -0,0 +1,33 @@ +{ + "$id": "model/model-without-method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "model without method schema (base)", + "allOf": [ + { + "$ref": "../system/name.json" + }, + { + "$ref": "../system/tags.json" + } + ], + "properties": { + "path": { + "$ref": "../core/reusable/category_path.json" + }, + "categories": { + "description": "Model categories", + "$ref": "../core/reusable/categories.json" + }, + "parameters": { + "type": "object", + "description": "Model parameters defined in-place or via model mixins" + }, + "reference": { + "$ref": "../core/reference/literature.json" + } + }, + "required": [ + "categories", + "parameters" + ] +} diff --git a/schema/model/modifiers.json b/schema/model/modifiers.json deleted file mode 100644 index 1c67e9712..000000000 --- a/schema/model/modifiers.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "schemaId": "model/modifiers", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "model modifications schema", - "description": "Additions to a model, that expand upon the underlying physical principle without fundamentally changing the working equations (e.g. in a linear fashion). Examples: Hubbard U, external potential, explicit correlation", - "allOf": [ - { - "$ref": "../core/primitive/array_of_strings.json" - } - ] -} diff --git a/schema/model/tags.json b/schema/model/tags.json deleted file mode 100644 index 646e8aee9..000000000 --- a/schema/model/tags.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "schemaId": "model/tags", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "model tags schema", - "description": "Descriptive (searchable) attributes of model, generic. Example: user-adjustable.", - "allOf": [ - { - "$ref": "../core/primitive/array_of_strings.json" - } - ] -} diff --git a/schema/models_category/enum_options.json b/schema/models_category/enum_options.json new file mode 100644 index 000000000..3317cee82 --- /dev/null +++ b/schema/models_category/enum_options.json @@ -0,0 +1,13 @@ +{ + "$id": "models-category/enum-options", + "physicsBased": { + "enum": [ + "pb" + ] + }, + "statistical": { + "enum": [ + "st" + ] + } +} diff --git a/schema/models_category/enum_options.yml b/schema/models_category/enum_options.yml new file mode 100644 index 000000000..1d3f61661 --- /dev/null +++ b/schema/models_category/enum_options.yml @@ -0,0 +1,5 @@ +# --- Tier 1 enum slugs: Models --- +physicsBased: + - pb +statistical: + - st diff --git a/schema/models_category/pb.json b/schema/models_category/pb.json new file mode 100644 index 000000000..dc59cf4b9 --- /dev/null +++ b/schema/models_category/pb.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "physics-based model category schema", + "allOf": [ + { + "$ref": "../core/reusable/categories.json" + } + ], + "properties": { + "tier1": { + "$ref": "enum_options.json#/physicsBased" + } + } +} diff --git a/schema/models_category/pb/enum_options.json b/schema/models_category/pb/enum_options.json new file mode 100644 index 000000000..25c561a58 --- /dev/null +++ b/schema/models_category/pb/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "models-category/pb/enum-options", + "quantumMechanical": { + "enum": [ + "qm" + ] + } +} diff --git a/schema/models_category/pb/enum_options.yml b/schema/models_category/pb/enum_options.yml new file mode 100644 index 000000000..9bc69e381 --- /dev/null +++ b/schema/models_category/pb/enum_options.yml @@ -0,0 +1,3 @@ +# --- Tier 2 enum slugs: Physics-based models --- +quantumMechanical: + - qm # Quantum-mechanical models category diff --git a/schema/models_category/pb/qm.json b/schema/models_category/pb/qm.json new file mode 100644 index 000000000..3b55f7f3a --- /dev/null +++ b/schema/models_category/pb/qm.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb/qm", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Quantum mechanical category schema", + "allOf": [ + { + "$ref": "../pb.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/quantumMechanical" + } + } +} diff --git a/schema/models_category/pb/qm/abin.json b/schema/models_category/pb/qm/abin.json new file mode 100644 index 000000000..51d97b85e --- /dev/null +++ b/schema/models_category/pb/qm/abin.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb/qm/abin", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Ab initio category schema", + "allOf": [ + { + "$ref": "../qm.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/abInitio" + } + } +} diff --git a/schema/models_category/pb/qm/abin/enum_options.json b/schema/models_category/pb/qm/abin/enum_options.json new file mode 100644 index 000000000..799d5647d --- /dev/null +++ b/schema/models_category/pb/qm/abin/enum_options.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb/qm/abin/enum-options", + "gwApproximation": { + "enum": [ + "gw" + ] + }, + "gwSubtypes": { + "enum": [ + "g0w0", + "evgw0", + "evgw" + ] + } +} diff --git a/schema/models_category/pb/qm/abin/enum_options.yml b/schema/models_category/pb/qm/abin/enum_options.yml new file mode 100644 index 000000000..173a7b87f --- /dev/null +++ b/schema/models_category/pb/qm/abin/enum_options.yml @@ -0,0 +1,10 @@ +# --- Type enum slugs: Ab-initio models --- +gwApproximation: + - gw # GW models, e.g. G0W0 + +# --- Subtype enum slugs: GW models --- +# see GW Compendium: https://doi.org/10.3389/fchem.2019.00377 +gwSubtypes: + - g0w0 # G0W0 + - evgw0 # eigenvalue self-consistent G + - evgw # eigenvalue self-consistent GW diff --git a/schema/models_category/pb/qm/abin/gw.json b/schema/models_category/pb/qm/abin/gw.json new file mode 100644 index 000000000..a83261afd --- /dev/null +++ b/schema/models_category/pb/qm/abin/gw.json @@ -0,0 +1,18 @@ +{ + "$id": "models-category/pb/qm/abin/gw", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "GW category schema", + "allOf": [ + { + "$ref": "../abin.json" + } + ], + "properties": { + "type": { + "$ref": "enum_options.json#/gwApproximation" + }, + "subtype": { + "$ref": "enum_options.json#/gwSubtypes" + } + } +} diff --git a/schema/models_category/pb/qm/dft.json b/schema/models_category/pb/qm/dft.json new file mode 100644 index 000000000..0e90520a9 --- /dev/null +++ b/schema/models_category/pb/qm/dft.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb/qm/dft", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Density functional theory category schema", + "allOf": [ + { + "$ref": "../qm.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/densityFunctional" + } + } +} diff --git a/schema/models_category/pb/qm/dft/enum_options.json b/schema/models_category/pb/qm/dft/enum_options.json new file mode 100644 index 000000000..0292f390f --- /dev/null +++ b/schema/models_category/pb/qm/dft/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "models-category/pb/qm/dft/enum-options", + "kohnSham": { + "enum": [ + "ksdft" + ] + } +} diff --git a/schema/models_category/pb/qm/dft/enum_options.yml b/schema/models_category/pb/qm/dft/enum_options.yml new file mode 100644 index 000000000..5dc9c2c3a --- /dev/null +++ b/schema/models_category/pb/qm/dft/enum_options.yml @@ -0,0 +1,3 @@ +# --- Type enum slugs: Density-functional Theory --- +kohnSham: + - ksdft # Kohn-Sham DFT diff --git a/schema/models_category/pb/qm/dft/ksdft.json b/schema/models_category/pb/qm/dft/ksdft.json new file mode 100644 index 000000000..94546b20f --- /dev/null +++ b/schema/models_category/pb/qm/dft/ksdft.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Kohn-Sham DFT category schema", + "allOf": [ + { + "$ref": "../dft.json" + } + ], + "properties": { + "type": { + "$ref": "enum_options.json#/kohnSham" + } + } +} diff --git a/schema/models_category/pb/qm/dft/ksdft/double_hybrid.json b/schema/models_category/pb/qm/dft/ksdft/double_hybrid.json new file mode 100644 index 000000000..c6e25e9ca --- /dev/null +++ b/schema/models_category/pb/qm/dft/ksdft/double_hybrid.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft/double-hybrid", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT double hybrid functional category schema", + "allOf": [ + { + "$ref": "../ksdft.json" + } + ], + "properties": { + "subtype": { + "$ref": "enum_options.json#/doubleHybrid" + } + } +} diff --git a/schema/models_category/pb/qm/dft/ksdft/enum_options.json b/schema/models_category/pb/qm/dft/ksdft/enum_options.json new file mode 100644 index 000000000..9c8c36fa5 --- /dev/null +++ b/schema/models_category/pb/qm/dft/ksdft/enum_options.json @@ -0,0 +1,28 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft/enum-options", + "localDensityApproximation": { + "enum": [ + "lda" + ] + }, + "generalizedGradientApproximation": { + "enum": [ + "gga" + ] + }, + "metaGGA": { + "enum": [ + "mgga" + ] + }, + "hybrid": { + "enum": [ + "hybrid" + ] + }, + "doubleHybrid": { + "enum": [ + "double-hybrid" + ] + } +} diff --git a/schema/models_category/pb/qm/dft/ksdft/enum_options.yml b/schema/models_category/pb/qm/dft/ksdft/enum_options.yml new file mode 100644 index 000000000..c501267ca --- /dev/null +++ b/schema/models_category/pb/qm/dft/ksdft/enum_options.yml @@ -0,0 +1,11 @@ +# --- Subtype enum options: Kohn-Sham DFT --- +localDensityApproximation: + - lda # LDA functional, e.g. PZ81, SVWN5 +generalizedGradientApproximation: + - gga # GGA functionals, e.g. PBE +metaGGA: + - mgga # meta-GGA functionals, e.g. TPSS +hybrid: + - hybrid # Hybrid functionals, e.g. B3LYP +doubleHybrid: + - double-hybrid diff --git a/schema/models_category/pb/qm/dft/ksdft/gga.json b/schema/models_category/pb/qm/dft/ksdft/gga.json new file mode 100644 index 000000000..fb45e8a79 --- /dev/null +++ b/schema/models_category/pb/qm/dft/ksdft/gga.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft/gga", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT GGA functional category schema", + "allOf": [ + { + "$ref": "../ksdft.json" + } + ], + "properties": { + "subtype": { + "$ref": "enum_options.json#/generalizedGradientApproximation" + } + } +} diff --git a/schema/models_category/pb/qm/dft/ksdft/hybrid.json b/schema/models_category/pb/qm/dft/ksdft/hybrid.json new file mode 100644 index 000000000..8f9cbd491 --- /dev/null +++ b/schema/models_category/pb/qm/dft/ksdft/hybrid.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft/hybrid", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT hybrid functional category schema", + "allOf": [ + { + "$ref": "../ksdft.json" + } + ], + "properties": { + "subtype": { + "$ref": "enum_options.json#/hybrid" + } + } +} diff --git a/schema/models_category/pb/qm/dft/ksdft/lda.json b/schema/models_category/pb/qm/dft/ksdft/lda.json new file mode 100644 index 000000000..4ac0930b9 --- /dev/null +++ b/schema/models_category/pb/qm/dft/ksdft/lda.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft/lda", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT LDA functional category schema", + "allOf": [ + { + "$ref": "../ksdft.json" + } + ], + "properties": { + "subtype": { + "$ref": "enum_options.json#/localDensityApproximation" + } + } +} diff --git a/schema/models_category/pb/qm/dft/ksdft/mgga.json b/schema/models_category/pb/qm/dft/ksdft/mgga.json new file mode 100644 index 000000000..eacd49d5b --- /dev/null +++ b/schema/models_category/pb/qm/dft/ksdft/mgga.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft/mgga", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT meta-GGA functional category schema", + "allOf": [ + { + "$ref": "../ksdft.json" + } + ], + "properties": { + "subtype": { + "$ref": "enum_options.json#/metaGGA" + } + } +} diff --git a/schema/models_category/pb/qm/enum_options.json b/schema/models_category/pb/qm/enum_options.json new file mode 100644 index 000000000..572313047 --- /dev/null +++ b/schema/models_category/pb/qm/enum_options.json @@ -0,0 +1,18 @@ +{ + "$id": "models-category/pb/qm/enum-options", + "abInitio": { + "enum": [ + "abin" + ] + }, + "densityFunctional": { + "enum": [ + "dft" + ] + }, + "semiEmpirical": { + "enum": [ + "semp" + ] + } +} diff --git a/schema/models_category/pb/qm/enum_options.yml b/schema/models_category/pb/qm/enum_options.yml new file mode 100644 index 000000000..ee358fe4b --- /dev/null +++ b/schema/models_category/pb/qm/enum_options.yml @@ -0,0 +1,7 @@ +# --- Tier 3 enum slugs: Quantum-mechanical models --- +abInitio: + - abin # Ab-initio models, e.g. Hartree-Fock, Configuration Interaction, etc. +densityFunctional: + - dft # Density functional based models, e.g. Kohn-Sham DFT +semiEmpirical: + - semp # Semi-empirical models, e.g. INDO, NDDO, AM1, PM3 diff --git a/schema/models_category/pb/qm/semp.json b/schema/models_category/pb/qm/semp.json new file mode 100644 index 000000000..21218475d --- /dev/null +++ b/schema/models_category/pb/qm/semp.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb/qm/semp", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Semi-empirical category schema", + "allOf": [ + { + "$ref": "../qm.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/semiEmpirical" + } + } +} diff --git a/schema/models_category/st.json b/schema/models_category/st.json new file mode 100644 index 000000000..a5758c2ce --- /dev/null +++ b/schema/models_category/st.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/st", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "statistical model category schema", + "allOf": [ + { + "$ref": "../core/reusable/categories.json" + } + ], + "properties": { + "tier1": { + "$ref": "enum_options.json#/statistical" + } + } +} diff --git a/schema/models_category/st/det.json b/schema/models_category/st/det.json new file mode 100644 index 000000000..1ba81e385 --- /dev/null +++ b/schema/models_category/st/det.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/st/det", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "deterministic model category schema", + "allOf": [ + { + "$ref": "../st.json" + } + ], + "properties": { + "tier2": { + "$ref": "enum_options.json#/deterministic" + } + } +} diff --git a/schema/models_category/st/det/enum_options.json b/schema/models_category/st/det/enum_options.json new file mode 100644 index 000000000..8605abb9e --- /dev/null +++ b/schema/models_category/st/det/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "models-category/st/det/enum-options", + "machineLearning": { + "enum": [ + "ml" + ] + } +} diff --git a/schema/models_category/st/det/enum_options.yml b/schema/models_category/st/det/enum_options.yml new file mode 100644 index 000000000..d91501c1b --- /dev/null +++ b/schema/models_category/st/det/enum_options.yml @@ -0,0 +1,3 @@ +# --- Tier 3 enum slugs: Deterministic models --- +machineLearning: + - ml # Machine learning model category diff --git a/schema/models_category/st/det/ml.json b/schema/models_category/st/det/ml.json new file mode 100644 index 000000000..1db2cde56 --- /dev/null +++ b/schema/models_category/st/det/ml.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/st/det/ml", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "machine learning model category schema", + "allOf": [ + { + "$ref": "../det.json" + } + ], + "properties": { + "tier3": { + "$ref": "enum_options.json#/machineLearning" + } + } +} diff --git a/schema/models_category/st/det/ml/enum_options.json b/schema/models_category/st/det/ml/enum_options.json new file mode 100644 index 000000000..82259e59a --- /dev/null +++ b/schema/models_category/st/det/ml/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "models-category/st/det/ml/enum-options", + "regression": { + "enum": [ + "re" + ] + } +} diff --git a/schema/models_category/st/det/ml/enum_options.yml b/schema/models_category/st/det/ml/enum_options.yml new file mode 100644 index 000000000..6ae0eed4b --- /dev/null +++ b/schema/models_category/st/det/ml/enum_options.yml @@ -0,0 +1,3 @@ +# --- Type enum slugs: Machine Learning models --- +regression: + - re diff --git a/schema/models_category/st/det/ml/re.json b/schema/models_category/st/det/ml/re.json new file mode 100644 index 000000000..50af1d1f4 --- /dev/null +++ b/schema/models_category/st/det/ml/re.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/st/det/ml/re", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression model category schema", + "allOf": [ + { + "$ref": "../ml.json" + } + ], + "properties": { + "type": { + "$ref": "enum_options.json#/regression" + } + } +} diff --git a/schema/models_category/st/enum_options.json b/schema/models_category/st/enum_options.json new file mode 100644 index 000000000..5439204ab --- /dev/null +++ b/schema/models_category/st/enum_options.json @@ -0,0 +1,8 @@ +{ + "$id": "models-category/st/enum-options", + "deterministic": { + "enum": [ + "det" + ] + } +} diff --git a/schema/models_category/st/enum_options.yml b/schema/models_category/st/enum_options.yml new file mode 100644 index 000000000..c39cd3c00 --- /dev/null +++ b/schema/models_category/st/enum_options.yml @@ -0,0 +1,3 @@ +# --- Tier 2 enum slugs: Statistical models --- +deterministic: + - det # deterministic model category diff --git a/schema/models_directory/definitions.json b/schema/models_directory/definitions.json deleted file mode 100644 index db6e69253..000000000 --- a/schema/models_directory/definitions.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/definitions", - "description": "Universal attributes applicable to most models", - "tags": { - "enum": [ - "user-adjustable" - ] - }, - "augmentations": { - "enum": [] - }, - "modifiers": { - "enum": [ - "external-field" - ] - } -} diff --git a/schema/models_directory/double_hybrid.json b/schema/models_directory/double_hybrid.json new file mode 100644 index 000000000..b102768d5 --- /dev/null +++ b/schema/models_directory/double_hybrid.json @@ -0,0 +1,35 @@ +{ + "$id": "models-directory/double-hybrid", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Double hybrid functional model schema", + "allOf": [ + { + "$ref": "../model/model_without_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../models_category/pb/qm/dft/ksdft/double_hybrid.json" + }, + "parameters": { + "allOf": [ + { + "$ref": "../model/mixins/dft/double_hybrid_functional.json" + }, + { + "anyOf": [ + { + "$ref": "../model/mixins/spin_orbit_coupling.json" + }, + { + "$ref": "../model/mixins/dispersion_correction.json" + }, + { + "$ref": "../model/mixins/spin_polarization.json" + } + ] + } + ] + } + } +} diff --git a/schema/models_directory/gga.json b/schema/models_directory/gga.json new file mode 100644 index 000000000..c655e6390 --- /dev/null +++ b/schema/models_directory/gga.json @@ -0,0 +1,38 @@ +{ + "$id": "models-directory/gga", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Generalized Gradient Approximation model schema", + "allOf": [ + { + "$ref": "../model/model_without_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../models_category/pb/qm/dft/ksdft/gga.json" + }, + "parameters": { + "allOf": [ + { + "$ref": "../model/mixins/dft/gga_functional.json" + }, + { + "anyOf": [ + { + "$ref": "../model/mixins/spin_orbit_coupling.json" + }, + { + "$ref": "../model/mixins/dispersion_correction.json" + }, + { + "$ref": "../model/mixins/spin_polarization.json" + }, + { + "$ref": "../model/mixins/hubbard.json" + } + ] + } + ] + } + } +} diff --git a/schema/models_directory/gw.json b/schema/models_directory/gw.json new file mode 100644 index 000000000..80f76db8c --- /dev/null +++ b/schema/models_directory/gw.json @@ -0,0 +1,50 @@ +{ + "$id": "models-directory/gw", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "GW Approximation schema", + "allOf": [ + { + "$ref": "../model/model_without_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../models_category/pb/qm/abin/gw.json" + }, + "parameters": { + "allOf": [ + { + "properties": { + "require": { + "description": "Path to mean-field model", + "$ref": "../core/reusable/category_path.json" + } + } + }, + { + "oneOf": [ + { + "$ref": "../model/mixins/dft/lda_functional.json" + }, + { + "$ref": "../model/mixins/dft/gga_functional.json" + }, + { + "$ref": "../model/mixins/dft/mgga_functional.json" + } + ] + }, + { + "anyOf": [ + { + "$ref": "../model/mixins/spin_polarization.json" + }, + { + "$ref": "../model/mixins/spin_orbit_coupling.json" + } + ] + } + ] + } + } +} diff --git a/schema/models_directory/hybrid.json b/schema/models_directory/hybrid.json new file mode 100644 index 000000000..7a74be827 --- /dev/null +++ b/schema/models_directory/hybrid.json @@ -0,0 +1,38 @@ +{ + "$id": "models-directory/hybrid", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hybrid functional model schema", + "allOf": [ + { + "$ref": "../model/model_without_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../models_category/pb/qm/dft/ksdft/hybrid.json" + }, + "parameters": { + "allOf": [ + { + "$ref": "../model/mixins/dft/hybrid_functional.json" + }, + { + "anyOf": [ + { + "$ref": "../model/mixins/spin_orbit_coupling.json" + }, + { + "$ref": "../model/mixins/dispersion_correction.json" + }, + { + "$ref": "../model/mixins/spin_polarization.json" + }, + { + "$ref": "../model/mixins/hubbard.json" + } + ] + } + ] + } + } +} diff --git a/schema/models_directory/lda.json b/schema/models_directory/lda.json new file mode 100644 index 000000000..86ea9bad2 --- /dev/null +++ b/schema/models_directory/lda.json @@ -0,0 +1,38 @@ +{ + "$id": "models-directory/lda", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Local Density Approximation model schema", + "allOf": [ + { + "$ref": "../model/model_without_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../models_category/pb/qm/dft/ksdft/lda.json" + }, + "parameters": { + "allOf": [ + { + "$ref": "../model/mixins/dft/lda_functional.json" + }, + { + "anyOf": [ + { + "$ref": "../model/mixins/spin_orbit_coupling.json" + }, + { + "$ref": "../model/mixins/dispersion_correction.json" + }, + { + "$ref": "../model/mixins/spin_polarization.json" + }, + { + "$ref": "../model/mixins/hubbard.json" + } + ] + } + ] + } + } +} diff --git a/schema/models_directory/mgga.json b/schema/models_directory/mgga.json new file mode 100644 index 000000000..7e6a80152 --- /dev/null +++ b/schema/models_directory/mgga.json @@ -0,0 +1,38 @@ +{ + "$id": "models-directory/mgga", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Meta Generalized Gradient Approximation model schema", + "allOf": [ + { + "$ref": "../model/model_without_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../models_category/pb/qm/dft/ksdft/mgga.json" + }, + "parameters": { + "allOf": [ + { + "$ref": "../model/mixins/dft/mgga_functional.json" + }, + { + "anyOf": [ + { + "$ref": "../model/mixins/spin_orbit_coupling.json" + }, + { + "$ref": "../model/mixins/dispersion_correction.json" + }, + { + "$ref": "../model/mixins/spin_polarization.json" + }, + { + "$ref": "../model/mixins/hubbard.json" + } + ] + } + ] + } + } +} diff --git a/schema/models_directory/pb.json b/schema/models_directory/pb.json deleted file mode 100644 index 9259c0635..000000000 --- a/schema/models_directory/pb.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "schemaId": "models-directory/pb", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../new_model.json" - } - ], - "properties": { - "tier1": { - "enum": [ - { - "name": "physics-based", - "slug": "pb" - } - ] - } - } -} diff --git a/schema/models_directory/pb/qm.json b/schema/models_directory/pb/qm.json deleted file mode 100644 index bd11ecce5..000000000 --- a/schema/models_directory/pb/qm.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../pb.json" - } - ], - "properties": { - "tier2": { - "enum": [ - { - "name": "quantum-mechanical", - "slug": "qm" - } - ] - } - } -} diff --git a/schema/models_directory/pb/qm/abin.json b/schema/models_directory/pb/qm/abin.json deleted file mode 100644 index 62ffd5c6f..000000000 --- a/schema/models_directory/pb/qm/abin.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/abin", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../qm.json" - } - ], - "properties": { - "tier3": { - "enum": [ - { - "name": "ab-initio", - "slug": "abin" - } - ] - } - } -} diff --git a/schema/models_directory/pb/qm/abin/configuration_interaction.json b/schema/models_directory/pb/qm/abin/configuration_interaction.json deleted file mode 100644 index 7ebf15803..000000000 --- a/schema/models_directory/pb/qm/abin/configuration_interaction.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/abin/configuration-interaction", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "configuration interaction schema", - "description": "configuration interaction wavefunction model", - "allOf": [ - { - "$ref": "../abin.json" - } - ], - "properties": { - "type": { - "enum": [ - { - "name": "configuration interaction", - "slug": "ci" - } - ] - }, - "subtype": { - "enum": [ - { - "name": "CIS", - "slug": "cis" - }, - { - "name": "CISD", - "slug": "cisd" - }, - { - "name": "MR-CIS", - "slug": "mrcis" - }, - { - "name": "MR-CISD", - "slug": "mrcisd" - } - ] - }, - "augmentations": { - "$ref": "configuration_interaction/augmentations.json" - }, - "modifiers": { - "$ref": "configuration_interaction/modifiers.json" - }, - "tags": { - "$ref": "configuration_interaction/tags.json" - } - } -} diff --git a/schema/models_directory/pb/qm/abin/configuration_interaction/augmentations.json b/schema/models_directory/pb/qm/abin/configuration_interaction/augmentations.json deleted file mode 100644 index 2524bb82b..000000000 --- a/schema/models_directory/pb/qm/abin/configuration_interaction/augmentations.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/abin/configuration-interaction/augmentations", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../model/augmentations.json" - } - ], - "description": "Augmentations specific to this model type only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/augmentations" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/abin/configuration_interaction/definitions.json b/schema/models_directory/pb/qm/abin/configuration_interaction/definitions.json deleted file mode 100644 index ab753cb8d..000000000 --- a/schema/models_directory/pb/qm/abin/configuration_interaction/definitions.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/abin/configuration-interaction/definitions", - "tags": { - "enum": [ - "excited-states" - ] - }, - "augmentations": {}, - "modifiers": {} -} diff --git a/schema/models_directory/pb/qm/abin/configuration_interaction/modifiers.json b/schema/models_directory/pb/qm/abin/configuration_interaction/modifiers.json deleted file mode 100644 index 5572838fe..000000000 --- a/schema/models_directory/pb/qm/abin/configuration_interaction/modifiers.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/abin/configuration-interaction/modifiers", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../model/modifiers.json" - } - ], - "description": "Modifiers specific to this model type only.", - "items": { - "anyOf": [ - { - "description": "CI modifiers", - "$ref": "definitions.json#/modifiers" - }, - { - "description": "ab initio modifiers", - "$ref": "../definitions.json#/modifiers" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/abin/configuration_interaction/tags.json b/schema/models_directory/pb/qm/abin/configuration_interaction/tags.json deleted file mode 100644 index 893838baf..000000000 --- a/schema/models_directory/pb/qm/abin/configuration_interaction/tags.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/abin/configuration-interaction/tags", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../model/tags.json" - } - ], - "description": "Tags specific to this model type only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/tags" - }, - { - "description": "QM definitions", - "$ref": "../../definitions.json#/scaling/6" - }, - { - "description": "Universal definitions", - "$ref": "../../../../definitions.json#/tags" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/abin/definitions.json b/schema/models_directory/pb/qm/abin/definitions.json deleted file mode 100644 index 0e0a95882..000000000 --- a/schema/models_directory/pb/qm/abin/definitions.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/abin/definitions", - "tags": {}, - "augmentations": {}, - "modifiers": { - "enum": [ - "multi-reference" - ] - } -} diff --git a/schema/models_directory/pb/qm/abin/modifiers.json b/schema/models_directory/pb/qm/abin/modifiers.json deleted file mode 100644 index a27f8db05..000000000 --- a/schema/models_directory/pb/qm/abin/modifiers.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/abin/modifiers", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../model/modifiers.json" - } - ], - "description": "Modifiers specific to ab initio only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/modifiers" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/definitions.json b/schema/models_directory/pb/qm/definitions.json deleted file mode 100644 index 75506b00b..000000000 --- a/schema/models_directory/pb/qm/definitions.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/definitions", - "scaling": { - "1": { - "enum": [ - "scaling-degree:1" - ] - }, - "2": { - "enum": [ - "scaling-degree:2" - ] - }, - "3": { - "enum": [ - "scaling-degree:3" - ] - }, - "4": { - "enum": [ - "scaling-degree:4" - ] - }, - "5": { - "enum": [ - "scaling-degree:5" - ] - }, - "6": { - "enum": [ - "scaling-degree:6" - ] - }, - "description": "Scaling degree w.r.t. system size. Used for tags" - }, - "tags": { - "enum": [ - "excited-states" - ] - }, - "augmentations": {}, - "modifiers": { - "enum": [ - "soc" - ] - } -} diff --git a/schema/models_directory/pb/qm/dft.json b/schema/models_directory/pb/qm/dft.json deleted file mode 100644 index e57b45299..000000000 --- a/schema/models_directory/pb/qm/dft.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../qm.json" - } - ], - "properties": { - "tier3": { - "enum": [ - { - "name": "density functional theory", - "slug": "dft" - } - ] - }, - "functional": { - "$ref": "dft/functional.json" - }, - "dispersionModel": { - "$ref": "dft/dispersion_model.json" - } - } -} diff --git a/schema/models_directory/pb/qm/dft/dft_unit_functionals.json b/schema/models_directory/pb/qm/dft/dft_unit_functionals.json deleted file mode 100644 index 7fcd2325b..000000000 --- a/schema/models_directory/pb/qm/dft/dft_unit_functionals.json +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:436db14c7b738c0142e989db015fdfe7f036e7d421b292ed27a7f0557a036cf6 -size 36659 diff --git a/schema/models_directory/pb/qm/dft/dft_unit_functionals_proto.json b/schema/models_directory/pb/qm/dft/dft_unit_functionals_proto.json deleted file mode 100644 index f110ff1eb..000000000 --- a/schema/models_directory/pb/qm/dft/dft_unit_functionals_proto.json +++ /dev/null @@ -1,352 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/dft-unit-functionals-proto", - "description": "Used to generate dft_unit_functionals.json", - "lda": [ - { - "name": "Slater", - "slug": "slater", - "type": "exchange" - }, - { - "name": "Perdew-Zunger 1981", - "slug": "pz81", - "type": "correlation" - }, - { - "name": "Perdew-Wang 1992", - "slug": "pw92", - "type": "correlation" - }, - { - "name": "PW92RPA", - "slug": "pw92rpa", - "type": "correlation" - }, - { - "name": "VWN1RPA", - "slug": "vwn1rpa", - "type": "correlation" - }, - { - "name": "VWN1", - "slug": "vwn1", - "type": "correlation" - }, - { - "name": "VWN2", - "slug": "vwn2", - "type": "correlation" - }, - { - "name": "VWN3", - "slug": "vwn3", - "type": "correlation" - }, - { - "name": "VWN4", - "slug": "vwn4", - "type": "correlation" - }, - { - "name": "VWN5", - "slug": "vwn5", - "type": "correlation" - }, - { - "name": "Liu-Parr", - "slug": "liu-parr", - "type": "correlation" - }, - { - "name": "Proynov-Kong 2009", - "slug": "pk09", - "type": "correlation" - }, - { - "name": "Wigner", - "slug": "wigner", - "type": "correlation" - } - ], - "gga": [ - { - "name": "PBE", - "slug": "pbe-x", - "type": "exchange" - }, - { - "name": "srPBE", - "slug": "srpbe-x", - "type": "exchange" - }, - { - "name": "revPBE", - "slug": "revpbe-x", - "type": "exchange" - }, - { - "name": "muPBE", - "slug": "mupbe-x", - "type": "exchange" - }, - { - "name": "wPBE", - "slug": "wpbe-x", - "type": "exchange" - }, - { - "name": "PBEsol", - "slug": "pbesol-x", - "type": "exchange" - }, - { - "name": "RPBE", - "slug": "rpbe-x", - "type": "exchange" - }, - { - "name": "Becke 1986", - "slug": "b86", - "type": "exchange" - }, - { - "name": "modified B86", - "slug": "mb86", - "type": "exchange" - }, - { - "name": "Becke 1988", - "slug": "b88", - "type": "exchange" - }, - { - "name": "srB88", - "slug": "mub88", - "type": "exchange" - }, - { - "name": "B88 re-fit", - "slug": "optb88", - "type": "exchange" - }, - { - "name": "AK13", - "slug": "ak13", - "type": "exchange" - }, - { - "name": "Perdew-Wang 1986", - "slug": "pw86", - "type": "exchange" - }, - { - "name": "revised PW86", - "slug": "rpw86", - "type": "exchange" - }, - { - "name": "Perdew-Wang 1991", - "slug": "pw91-x", - "type": "exchange" - }, - { - "name": "modified PW91", - "slug": "mpw91", - "type": "exchange" - }, - { - "name": "Gill 1996", - "slug": "g96", - "type": "exchange" - }, - { - "name": "Handy-Cohen", - "slug": "optx", - "type": "exchange" - }, - { - "name": "second order GGA", - "slug": "sogga", - "type": "exchange" - }, - { - "name": "Becke 1997", - "slug": "b97-x", - "type": "exchange" - }, - { - "name": "short range Becke 1997", - "slug": "srb97", - "type": "exchange" - }, - { - "name": "PBE", - "slug": "pbe-c", - "type": "correlation" - }, - { - "name": "srPBE", - "slug": "srpbe-c", - "type": "correlation" - }, - { - "name": "PBEsol", - "slug": "pbesol-c", - "type": "correlation" - }, - { - "name": "modified PBE", - "slug": "pbeloc", - "type": "correlation" - }, - { - "name": "one-parameter progressive PBE", - "slug": "pbeop-c", - "type": "correlation" - }, - { - "name": "one-parameter progressive B88", - "slug": "bop-c", - "type": "correlation" - }, - { - "name": "vPBEc or regTPSS", - "slug": "vpbec", - "type": "correlation" - }, - { - "name": "LYP", - "slug": "lyp", - "type": "correlation" - }, - { - "name": "Perdew-Wang 1986", - "slug": "p86", - "type": "correlation" - }, - { - "name": "P86 from VWN5", - "slug": "p86vwn5", - "type": "correlation" - }, - { - "name": "Perdew-Wang 1991", - "slug": "pw91-c", - "type": "correlation" - }, - { - "name": "Becke 1997", - "slug": "b97-c", - "type": "correlation" - } - ], - "mgga": [ - { - "name": "TPSS", - "slug": "tpss-x", - "type": "exchange" - }, - { - "name": "revised TPSS", - "slug": "revtpss-x", - "type": "exchange" - }, - { - "name": "one-parameter TPSS", - "slug": "modtpss", - "type": "exchange" - }, - { - "name": "oTPSS", - "slug": "otpss-x", - "type": "exchange" - }, - { - "name": "regularized TPSS", - "slug": "regtpss", - "type": "exchange" - }, - { - "name": "BLOC", - "slug": "bloc", - "type": "exchange" - }, - { - "name": "PBE-GX", - "slug": "pbegx", - "type": "exchange" - }, - { - "name": "Perdew-Kurt-Zupan-Blaha", - "slug": "pkzb-x", - "type": "exchange" - }, - { - "name": "SCAN", - "slug": "scan-x", - "type": "exchange" - }, - { - "name": "Tao-Mo", - "slug": "tm-x", - "type": "exchange" - }, - { - "name": "TPSS", - "slug": "tpss-c", - "type": "correlation" - }, - { - "name": "revTPSS", - "slug": "revtpss-c", - "type": "correlation" - }, - { - "name": "TPSSloc", - "slug": "tpssloc", - "type": "correlation" - }, - { - "name": "oTPSS", - "slug": "otpss-c", - "type": "correlation" - }, - { - "name": "Becke 1995", - "slug": "B95", - "type": "correlation" - }, - { - "name": "Proynov-Kong 2006", - "slug": "pk06", - "type": "correlation" - }, - { - "name": "Perdew-Kurt-Zupan-Blaha", - "slug": "pkzb-c", - "type": "correlation" - }, - { - "name": "SCAN", - "slug": "scan-c", - "type": "correlation" - }, - { - "name": "Tao-Mo", - "slug": "tm-c", - "type": "correlation" - } - ], - "nonLocalCorrelation": [ - { - "name": "VV10", - "slug": "vv10", - "type": "non-local correlation" - }, - { - "name": "rVV10", - "slug": "rvv10", - "type": "non-local correlation" - } - ] -} diff --git a/schema/models_directory/pb/qm/dft/dispersion_model.json b/schema/models_directory/pb/qm/dft/dispersion_model.json deleted file mode 100644 index 887ece6db..000000000 --- a/schema/models_directory/pb/qm/dft/dispersion_model.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/dispersion-model", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "generalized DFT dispersion model", - "properties": { - "modelType": { - "description": "Specifies the theoretical approach", - "enum": [ - "ab initio", - "empirical" - ] - }, - "usage": { - "description": "Specifies where dispersion model is applied", - "enum": [ - "intra-scf", - "post-scf" - ] - }, - "type": { - "$ref": "../../../../core/primitive/slugified_entry.json" - }, - "subtype": { - "$ref": "../../../../core/primitive/slugified_entry.json" - } - }, - "required": [ - "modelType", - "usage", - "type" - ] -} diff --git a/schema/models_directory/pb/qm/dft/dispersion_models_directory/dft_d.json b/schema/models_directory/pb/qm/dft/dispersion_models_directory/dft_d.json deleted file mode 100644 index 80f11d73c..000000000 --- a/schema/models_directory/pb/qm/dft/dispersion_models_directory/dft_d.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/dispersion-models-directory/dft-d", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Empirical DFT-D dispersion model", - "allOf": [ - { - "$ref": "generalized/post_empirical.json" - } - ], - "properties": { - "type": { - "enum": [ - { - "name": "Empirical dispersion DFT-D", - "slug": "empirical-dft-d" - } - ] - }, - "subtype": { - "enum": [ - { - "name": "DFT-D2", - "slug": "dft-d2" - }, - { - "name": "DFT-CHG", - "slug": "dft-chg" - }, - { - "name": "DFT-D3(0)", - "slug": "dft-d3-0" - }, - { - "name": "DFT-D3(BJ)", - "slug": "dft-d3-bj" - }, - { - "name": "DFT-D3(CSO)", - "slug": "dft-d3-cso" - }, - { - "name": "DFT-D3M(BJ)", - "slug": "dft-d3-bj-m" - }, - { - "name": "DFT-D3(op)", - "slug": "dft-d3-op" - } - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/dispersion_models_directory/exchange_dipole.json b/schema/models_directory/pb/qm/dft/dispersion_models_directory/exchange_dipole.json deleted file mode 100644 index 6d18ea0fb..000000000 --- a/schema/models_directory/pb/qm/dft/dispersion_models_directory/exchange_dipole.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/dispersion-models-directory/exchange-dipole", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Exchange dipole dispersion model", - "allOf": [ - { - "$ref": "generalized/post_empirical.json" - } - ], - "properties": { - "type": { - "enum": [ - { - "name": "Exchange-Dipole Model (XDM)", - "slug": "exchange-dipole-model" - } - ] - }, - "subtype": { - "enum": [ - { - "name": "XDM6", - "slug": "xdm6" - }, - { - "name": "XDM10", - "slug": "xdm10" - } - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/dispersion_models_directory/generalized/intra_abin.json b/schema/models_directory/pb/qm/dft/dispersion_models_directory/generalized/intra_abin.json deleted file mode 100644 index 75bc517d1..000000000 --- a/schema/models_directory/pb/qm/dft/dispersion_models_directory/generalized/intra_abin.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/dispersion-models-directory/generalized/intra-abin", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "ab initio dispersion model applied during SCF", - "allOf": [ - { - "$ref": "../../dispersion_model.json" - } - ], - "properties": { - "modelType": { - "enum": [ - "ab initio" - ] - }, - "usage": { - "enum": [ - "intra-scf" - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/dispersion_models_directory/generalized/intra_empirical.json b/schema/models_directory/pb/qm/dft/dispersion_models_directory/generalized/intra_empirical.json deleted file mode 100644 index 7c160d686..000000000 --- a/schema/models_directory/pb/qm/dft/dispersion_models_directory/generalized/intra_empirical.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/dispersion-models-directory/generalized/intra-empirical", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "empirical dispersion model applied during SCF", - "allOf": [ - { - "$ref": "../../dispersion_model.json" - } - ], - "properties": { - "modelType": { - "enum": [ - "empirical" - ] - }, - "usage": { - "enum": [ - "intra-scf" - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/dispersion_models_directory/generalized/post_abin.json b/schema/models_directory/pb/qm/dft/dispersion_models_directory/generalized/post_abin.json deleted file mode 100644 index d2789ba25..000000000 --- a/schema/models_directory/pb/qm/dft/dispersion_models_directory/generalized/post_abin.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/dispersion-models-directory/generalized/post-abin", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "ab initio dispersion model applied post-SCF", - "allOf": [ - { - "$ref": "../../dispersion_model.json" - } - ], - "properties": { - "modelType": { - "enum": [ - "ab initio" - ] - }, - "usage": { - "enum": [ - "post-scf" - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/dispersion_models_directory/generalized/post_empirical.json b/schema/models_directory/pb/qm/dft/dispersion_models_directory/generalized/post_empirical.json deleted file mode 100644 index d440787d6..000000000 --- a/schema/models_directory/pb/qm/dft/dispersion_models_directory/generalized/post_empirical.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/dispersion-models-directory/generalized/post-empirical", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "empirical dispersion model applied post-SCF", - "allOf": [ - { - "$ref": "../../dispersion_model.json" - } - ], - "properties": { - "modelType": { - "enum": [ - "empirical" - ] - }, - "usage": { - "enum": [ - "post-scf" - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/dispersion_models_directory/many_body_dispersion.json b/schema/models_directory/pb/qm/dft/dispersion_models_directory/many_body_dispersion.json deleted file mode 100644 index 378cc5747..000000000 --- a/schema/models_directory/pb/qm/dft/dispersion_models_directory/many_body_dispersion.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/dispersion-models-directory/many-body-dispersion", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Many-Body Dispersion Schema", - "allOf": [ - { - "$ref": "generalized/post_abin.json" - } - ], - "properties": { - "type": { - "enum": [ - { - "name": "Many-body dispersion correction", - "slug": "many-body-disp" - } - ] - }, - "subtype": { - "enum": [ - { - "name": "MBD@rsSCS (range-separated self-consistent screening)", - "slug": "mbd-rsscs" - } - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/dispersion_models_directory/non_local_correlation.json b/schema/models_directory/pb/qm/dft/dispersion_models_directory/non_local_correlation.json deleted file mode 100644 index 902c46695..000000000 --- a/schema/models_directory/pb/qm/dft/dispersion_models_directory/non_local_correlation.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/dispersion-models-directory/non-local-correlation", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Non-local correlation density functional", - "allOf": [ - { - "$ref": "generalized/intra_abin.json" - } - ], - "properties": { - "type": { - "enum": [ - { - "name": "Non-Local Correlation (NLC) Functionals", - "slug": "nlc" - } - ] - }, - "subtype": { - "enum": [ - { - "name": "VV10", - "slug": "vv10" - }, - { - "name": "rVV10", - "slug": "rvv10" - } - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/dispersion_models_directory/tkatchenko_scheffler.json b/schema/models_directory/pb/qm/dft/dispersion_models_directory/tkatchenko_scheffler.json deleted file mode 100644 index 35ba962ac..000000000 --- a/schema/models_directory/pb/qm/dft/dispersion_models_directory/tkatchenko_scheffler.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/dispersion-models-directory/tkatchenko-scheffler", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Tkatchenko-Scheffler van der Waals approach", - "allOf": [ - { - "$ref": "generalized/post_empirical.json" - } - ], - "properties": { - "type": { - "enum": [ - { - "name": "Tkatchenko-Scheffler van der Waals Model (TS-vdW)", - "slug": "ts-vdw" - } - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/functional.json b/schema/models_directory/pb/qm/dft/functional.json deleted file mode 100644 index d4b9aee03..000000000 --- a/schema/models_directory/pb/qm/dft/functional.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/functional", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "exchange-correlation functional base schema", - "allOf": [ - { - "$ref": "../../../../core/primitive/slugified_entry.json" - } - ], - "properties": { - "components": { - "type": "array", - "items": { - "$ref": "functional/component.json" - } - } - } -} diff --git a/schema/models_directory/pb/qm/dft/functional/component.json b/schema/models_directory/pb/qm/dft/functional/component.json deleted file mode 100644 index 53a6aada2..000000000 --- a/schema/models_directory/pb/qm/dft/functional/component.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/functional/component", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "functional component schema", - "allOf": [ - { - "$ref": "../../../../../core/primitive/slugified_entry.json" - } - ], - "properties": { - "type": { - "description": "type of functional, e.g. exchange functional", - "type": "string" - }, - "fraction": { - "description": "Contribution of component to final functional object", - "type": "number" - } - }, - "required": [ - "type" - ] -} diff --git a/schema/models_directory/pb/qm/dft/functional/components_directory/dispersion_correction.json b/schema/models_directory/pb/qm/dft/functional/components_directory/dispersion_correction.json deleted file mode 100644 index dc020e80d..000000000 --- a/schema/models_directory/pb/qm/dft/functional/components_directory/dispersion_correction.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/functional/components-directory/dispersion-correction", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "dispersion correction schema (may be deprecated in favor of generalized dispersion model)", - "allOf": [ - { - "$ref": "../component.json" - }, - { - "$ref": "../../dft_unit_functionals.json#/nonLocalCorrelation" - } - ] -} diff --git a/schema/models_directory/pb/qm/dft/functional/components_directory/exact_exchange.json b/schema/models_directory/pb/qm/dft/functional/components_directory/exact_exchange.json deleted file mode 100644 index 6b688140d..000000000 --- a/schema/models_directory/pb/qm/dft/functional/components_directory/exact_exchange.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/functional/components-directory/exact-exchange", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "exact exchange component schema", - "allOf": [ - { - "$ref": "../component.json" - } - ], - "properties": { - "name": { - "enum": [ - "exact Exchange" - ] - }, - "slug": { - "enum": [ - "exact-exchange" - ] - }, - "type": { - "enum": [ - "exchange" - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/functional/components_directory/local_functional.json b/schema/models_directory/pb/qm/dft/functional/components_directory/local_functional.json deleted file mode 100644 index 9489f365f..000000000 --- a/schema/models_directory/pb/qm/dft/functional/components_directory/local_functional.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/functional/components-directory/local-functional", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "LocalFunctional", - "allOf": [ - { - "$ref": "../component.json" - } - ], - "properties": { - "type": { - "enum": [ - "exchange", - "correlation", - "exchange-correlation", - "kinetic" - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/functional/components_directory/local_functional_gga.json b/schema/models_directory/pb/qm/dft/functional/components_directory/local_functional_gga.json deleted file mode 100644 index 7ca1f9f8e..000000000 --- a/schema/models_directory/pb/qm/dft/functional/components_directory/local_functional_gga.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/functional/components-directory/local-functional-gga", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "LocalFunctionalGga", - "allOf": [ - { - "$ref": "local_functional.json" - }, - { - "$ref": "../../dft_unit_functionals.json#/gga" - } - ] -} diff --git a/schema/models_directory/pb/qm/dft/functional/components_directory/local_functional_lda.json b/schema/models_directory/pb/qm/dft/functional/components_directory/local_functional_lda.json deleted file mode 100644 index cd43cdd9d..000000000 --- a/schema/models_directory/pb/qm/dft/functional/components_directory/local_functional_lda.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/functional/components-directory/local-functional-lda", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "local functional lda component schema", - "allOf": [ - { - "$ref": "local_functional.json" - }, - { - "$ref": "../../dft_unit_functionals.json#/lda" - } - ] -} diff --git a/schema/models_directory/pb/qm/dft/functional/components_directory/local_functional_mgga.json b/schema/models_directory/pb/qm/dft/functional/components_directory/local_functional_mgga.json deleted file mode 100644 index 999f884ae..000000000 --- a/schema/models_directory/pb/qm/dft/functional/components_directory/local_functional_mgga.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/functional/components-directory/local-functional-mgga", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "local functional mgga component schema", - "allOf": [ - { - "$ref": "local_functional.json" - }, - { - "$ref": "../../dft_unit_functionals.json#/mgga" - } - ] -} diff --git a/schema/models_directory/pb/qm/dft/functional/components_directory/mp2_correlation.json b/schema/models_directory/pb/qm/dft/functional/components_directory/mp2_correlation.json deleted file mode 100644 index 50cdd7a99..000000000 --- a/schema/models_directory/pb/qm/dft/functional/components_directory/mp2_correlation.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/functional/components-directory/mp2-correlation", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "second order Moller-Plesset (MP2) correlation correction schema", - "allOf": [ - { - "$ref": "../component.json" - } - ], - "properties": { - "name": { - "enum": [ - "mp2-correction" - ] - }, - "slug": { - "enum": [ - "mp2" - ] - }, - "type": { - "enum": [ - "correlation" - ] - }, - "subtype": { - "description": "Indicates whether the entire MP2 correlation energy is used or one of its spin components", - "enum": [ - "all-spin", - "same-spin", - "opposite-spin" - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/functional/components_directory/range_separated_exchange.json b/schema/models_directory/pb/qm/dft/functional/components_directory/range_separated_exchange.json deleted file mode 100644 index a77228e11..000000000 --- a/schema/models_directory/pb/qm/dft/functional/components_directory/range_separated_exchange.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/functional/components-directory/range-separated-exchange", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "range-separated exchange schema", - "allOf": [ - { - "$ref": "../component.json" - } - ], - "properties": { - "type": { - "enum": [ - "exchange" - ] - }, - "range": { - "enum": [ - "short-range", - "long-range" - ] - } - } -} diff --git a/schema/models_directory/pb/qm/dft/functional/definitions.json b/schema/models_directory/pb/qm/dft/functional/definitions.json deleted file mode 100644 index 64ee382fa..000000000 --- a/schema/models_directory/pb/qm/dft/functional/definitions.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/functional/definitions", - "comment": "TODO: replace by XC functional look-up table", - "description": "Names of final functional objects, i.e. the ones used in calculations", - "lda": { - "enum": [ - "SVWN1", - "SVWN5" - ] - }, - "gga": { - "enum": [ - "PBE", - "revPBE", - "BLYP", - "BP86" - ] - }, - "mgga": { - "enum": [ - "TPSS", - "SCAN" - ] - }, - "hybrid": { - "enum": [ - "PBE0", - "revPBE0", - "B3LYP", - "CAM-B3LYP" - ] - }, - "doubleHybrid": { - "enum": [ - "XYG3", - "B2PLYP" - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/functional/local_functional_components.json b/schema/models_directory/pb/qm/dft/functional/local_functional_components.json deleted file mode 100644 index 607da98c8..000000000 --- a/schema/models_directory/pb/qm/dft/functional/local_functional_components.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/functional/local-functional-components", - "$schema": "http://json-schema.org/draft-04/schema#", - "anyOf": [ - { - "$ref": "components_directory/local_functional_lda.json" - }, - { - "$ref": "components_directory/local_functional_gga.json" - }, - { - "$ref": "components_directory/local_functional_mgga.json" - } - ] -} diff --git a/schema/models_directory/pb/qm/dft/ksdft.json b/schema/models_directory/pb/qm/dft/ksdft.json deleted file mode 100644 index 11e03a176..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Kohn-Sham density function theory schema", - "allOf": [ - { - "$ref": "../dft.json" - } - ], - "properties": { - "type": { - "enum": [ - { - "name": "Kohn-Sham DFT", - "slug": "ksdft" - } - ] - }, - "augmentations": { - "$ref": "ksdft/augmentations.json" - }, - "modifiers": { - "$ref": "ksdft/modifiers.json" - }, - "tags": { - "$ref": "ksdft/tags.json" - } - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/augmentations.json b/schema/models_directory/pb/qm/dft/ksdft/augmentations.json deleted file mode 100644 index 3b082e8ae..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/augmentations.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/augmentations", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../model/augmentations.json" - } - ], - "description": "Augmentations specific to DFT model type only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/augmentations" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/definitions.json b/schema/models_directory/pb/qm/dft/ksdft/definitions.json deleted file mode 100644 index 0bc0d153d..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/definitions.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/definitions", - "tags": {}, - "augmentations": {}, - "modifiers": {} -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid.json b/schema/models_directory/pb/qm/dft/ksdft/double_hybrid.json deleted file mode 100644 index 5c25bb952..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/double-hybrid", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Double hybrid functional model schema", - "allOf": [ - { - "$ref": "../ksdft.json" - } - ], - "subtype": { - "enum": [ - { - "name": "Double hybrid functional", - "slug": "double-hybrid" - } - ] - }, - "functional": { - "oneOf": [ - { - "$ref": "double_hybrid/functional.json" - }, - { - "$ref": "double_hybrid/range_separated_functional.json" - } - ] - }, - "augmentations": { - "$ref": "double_hybrid/augmentations.json" - }, - "modifiers": { - "$ref": "double_hybrid/modifiers.json" - }, - "tags": { - "$ref": "double_hybrid/tags.json" - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/augmentations.json b/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/augmentations.json deleted file mode 100644 index 4c46a4245..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/augmentations.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/double-hybrid/augmentations", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/augmentations.json" - } - ], - "description": "Augmentations specific to hybrid functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/augmentations" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/definitions.json b/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/definitions.json deleted file mode 100644 index cb91241d5..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/definitions.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/double-hybrid/definitions", - "tags": {}, - "augmentations": {}, - "modifiers": {} -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/functional.json b/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/functional.json deleted file mode 100644 index 2065b20d3..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/functional.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/double-hybrid/functional", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Double hybrid functional schema", - "allOf": [ - { - "$ref": "../../functional.json" - } - ], - "properties": { - "components": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "../../functional/components_directory/exact_exchange.json" - }, - { - "$ref": "../../functional/components_directory/mp2_correlation.json" - }, - { - "$ref": "../../functional/local_functional_components.json" - } - ] - } - } - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/modifiers.json b/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/modifiers.json deleted file mode 100644 index 7b1b4079f..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/modifiers.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/double-hybrid/modifiers", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/modifiers.json" - } - ], - "description": "Modifiers specific to hybrid functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/modifiers" - }, - { - "description": "Universal of modifiers", - "$ref": "../../../../../definitions.json#/modifiers" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/range_separated_functional.json b/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/range_separated_functional.json deleted file mode 100644 index cb42770ce..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/range_separated_functional.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/double-hybrid/range-separated-functional", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "range-separated double hybrid exchange-correlation functional base schema", - "allOf": [ - { - "$ref": "functional.json" - } - ], - "properties": { - "attenuation": { - "description": "attenuation parameter, usually denoted as omega or mu", - "type": "number" - }, - "components": { - "type": "array", - "items": { - "anyOf": [ - { - "allOf": [ - { - "$ref": "../../functional/components_directory/range_separated_exchange.json" - }, - { - "$ref": "../../functional/local_functional_components.json" - } - ] - }, - { - "allOf": [ - { - "$ref": "../../functional/components_directory/range_separated_exchange.json" - }, - { - "$ref": "../../functional/components_directory/exact_exchange.json" - } - ] - }, - { - "description": "Local functional (for correlation)", - "$ref": "../../functional/local_functional_components.json" - }, - { - "$ref": "../../functional/components_directory/mp2_correlation.json" - } - ] - } - } - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/tags.json b/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/tags.json deleted file mode 100644 index 8f8b39258..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/double_hybrid/tags.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/double-hybrid/tags", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/tags.json" - } - ], - "description": "Tags specific to hybrid functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/tags" - }, - { - "description": "QM definitions", - "$ref": "../../../definitions.json#/scaling/3" - }, - { - "description": "Universal definitions", - "$ref": "../../../../../definitions.json#/tags" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/gga.json b/schema/models_directory/pb/qm/dft/ksdft/gga.json deleted file mode 100644 index b50e48769..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/gga.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/gga", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Generalized Gradient Approximation model schema", - "allOf": [ - { - "$ref": "../ksdft.json" - } - ], - "subtype": { - "enum": [ - { - "name": "Generalized Gradient Approximation", - "slug": "gga" - } - ] - }, - "functional": { - "$ref": "gga/functional.json" - }, - "augmentations": { - "$ref": "gga/augmentations.json" - }, - "modifiers": { - "$ref": "gga/modifiers.json" - }, - "tags": { - "$ref": "gga/tags.json" - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/gga/augmentations.json b/schema/models_directory/pb/qm/dft/ksdft/gga/augmentations.json deleted file mode 100644 index 4e0495c37..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/gga/augmentations.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/gga/augmentations", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/augmentations.json" - } - ], - "description": "Augmentations specific to GGA functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/augmentations" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/gga/definitions.json b/schema/models_directory/pb/qm/dft/ksdft/gga/definitions.json deleted file mode 100644 index 41cbc421c..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/gga/definitions.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/gga/definitions", - "tags": {}, - "augmentations": {}, - "modifiers": {} -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/gga/functional.json b/schema/models_directory/pb/qm/dft/ksdft/gga/functional.json deleted file mode 100644 index 5ca694c38..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/gga/functional.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/gga/functional", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "GGA functional key schema", - "allOf": [ - { - "$ref": "../../functional.json" - } - ], - "properties": { - "components": { - "type": "array", - "items": { - "$ref": "../../functional/components_directory/local_functional_gga.json" - } - } - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/gga/modifiers.json b/schema/models_directory/pb/qm/dft/ksdft/gga/modifiers.json deleted file mode 100644 index dd046ddf9..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/gga/modifiers.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/gga/modifiers", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/modifiers.json" - } - ], - "description": "Modifiers specific to GGA functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/modifiers" - }, - { - "description": "Universal of modifiers", - "$ref": "../../../../../definitions.json#/modifiers" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/gga/tags.json b/schema/models_directory/pb/qm/dft/ksdft/gga/tags.json deleted file mode 100644 index 9d8065676..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/gga/tags.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/gga/tags", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/tags.json" - } - ], - "description": "Tags specific to GGA functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/tags" - }, - { - "description": "QM definitions", - "$ref": "../../../definitions.json#/scaling/3" - }, - { - "description": "Universal definitions", - "$ref": "../../../../../definitions.json#/tags" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/hybrid.json b/schema/models_directory/pb/qm/dft/ksdft/hybrid.json deleted file mode 100644 index 920c1ed3b..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/hybrid.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/hybrid", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Hybrid functional model schema", - "allOf": [ - { - "$ref": "../ksdft.json" - } - ], - "subtype": { - "enum": [ - { - "name": "Hybrid functional", - "slug": "hybrid" - } - ] - }, - "functional": { - "oneOf": [ - { - "$ref": "hybrid/functional.json" - }, - { - "$ref": "hybrid/range_separated_functional.json" - } - ] - }, - "augmentations": { - "$ref": "hybrid/augmentations.json" - }, - "modifiers": { - "$ref": "hybrid/modifiers.json" - }, - "tags": { - "$ref": "hybrid/tags.json" - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/hybrid/augmentations.json b/schema/models_directory/pb/qm/dft/ksdft/hybrid/augmentations.json deleted file mode 100644 index cabe7d3c3..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/hybrid/augmentations.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/hybrid/augmentations", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/augmentations.json" - } - ], - "description": "Augmentations specific to hybrid functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/augmentations" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/hybrid/definitions.json b/schema/models_directory/pb/qm/dft/ksdft/hybrid/definitions.json deleted file mode 100644 index 133a89d87..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/hybrid/definitions.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/hybrid/definitions", - "tags": {}, - "augmentations": {}, - "modifiers": {} -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/hybrid/functional.json b/schema/models_directory/pb/qm/dft/ksdft/hybrid/functional.json deleted file mode 100644 index b5bbd05c5..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/hybrid/functional.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/hybrid/functional", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Hybrid functional schema", - "allOf": [ - { - "$ref": "../../functional.json" - } - ], - "properties": { - "components": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "../../functional/components_directory/exact_exchange.json" - }, - { - "$ref": "../../functional/local_functional_components.json" - } - ] - } - } - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/hybrid/modifiers.json b/schema/models_directory/pb/qm/dft/ksdft/hybrid/modifiers.json deleted file mode 100644 index a463aa69a..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/hybrid/modifiers.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/hybrid/modifiers", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/modifiers.json" - } - ], - "description": "Modifiers specific to hybrid functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/modifiers" - }, - { - "description": "Universal of modifiers", - "$ref": "../../../../../definitions.json#/modifiers" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/hybrid/range_separated_functional.json b/schema/models_directory/pb/qm/dft/ksdft/hybrid/range_separated_functional.json deleted file mode 100644 index e1bc0f26a..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/hybrid/range_separated_functional.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/hybrid/range-separated-functional", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "range-separated hybrid exchange-correlation functional base schema", - "allOf": [ - { - "$ref": "functional.json" - } - ], - "properties": { - "attenuation": { - "description": "attenuation parameter, usually denoted as omega or mu", - "type": "number" - }, - "components": { - "type": "array", - "items": { - "anyOf": [ - { - "allOf": [ - { - "$ref": "../../functional/components_directory/range_separated_exchange.json" - }, - { - "$ref": "../../functional/local_functional_components.json" - } - ] - }, - { - "allOf": [ - { - "$ref": "../../functional/components_directory/range_separated_exchange.json" - }, - { - "$ref": "../../functional/components_directory/exact_exchange.json" - } - ] - }, - { - "description": "Local functional (for correlation)", - "$ref": "../../functional/local_functional_components.json" - } - ] - } - } - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/hybrid/tags.json b/schema/models_directory/pb/qm/dft/ksdft/hybrid/tags.json deleted file mode 100644 index 012270dad..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/hybrid/tags.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/hybrid/tags", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/tags.json" - } - ], - "description": "Tags specific to hybrid functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/tags" - }, - { - "description": "QM definitions", - "$ref": "../../../definitions.json#/scaling/3" - }, - { - "description": "Universal definitions", - "$ref": "../../../../../definitions.json#/tags" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/lda.json b/schema/models_directory/pb/qm/dft/ksdft/lda.json deleted file mode 100644 index bfb595a0a..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/lda.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/lda", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Local Density Approximation model schema", - "allOf": [ - { - "$ref": "../ksdft.json" - } - ], - "subtype": { - "enum": [ - { - "name": "Local Density Approximation", - "slug": "lda" - } - ] - }, - "functional": { - "$ref": "lda/functional.json" - }, - "augmentations": { - "$ref": "lda/augmentations.json" - }, - "modifiers": { - "$ref": "lda/modifiers.json" - }, - "tags": { - "$ref": "lda/tags.json" - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/lda/augmentations.json b/schema/models_directory/pb/qm/dft/ksdft/lda/augmentations.json deleted file mode 100644 index 9871a8819..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/lda/augmentations.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/lda/augmentations", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/augmentations.json" - } - ], - "description": "Augmentations specific to LDA functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/augmentations" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/lda/definitions.json b/schema/models_directory/pb/qm/dft/ksdft/lda/definitions.json deleted file mode 100644 index 6583aad79..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/lda/definitions.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/lda/definitions", - "tags": {}, - "augmentations": {}, - "modifiers": {} -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/lda/functional.json b/schema/models_directory/pb/qm/dft/ksdft/lda/functional.json deleted file mode 100644 index 84b2c805c..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/lda/functional.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/lda/functional", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "LDA functional schema", - "allOf": [ - { - "$ref": "../../functional.json" - } - ], - "properties": { - "components": { - "type": "array", - "items": { - "$ref": "../../functional/components_directory/local_functional_lda.json" - } - } - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/lda/modifiers.json b/schema/models_directory/pb/qm/dft/ksdft/lda/modifiers.json deleted file mode 100644 index 83a1296e9..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/lda/modifiers.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/lda/modifiers", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/modifiers.json" - } - ], - "description": "Modifiers specific to LDA functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/modifiers" - }, - { - "description": "Universal of modifiers", - "$ref": "../../../../../definitions.json#/modifiers" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/lda/tags.json b/schema/models_directory/pb/qm/dft/ksdft/lda/tags.json deleted file mode 100644 index ff9a4e73d..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/lda/tags.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/lda/tags", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/tags.json" - } - ], - "description": "Tags specific to LDA functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/tags" - }, - { - "description": "QM definitions", - "$ref": "../../../definitions.json#/scaling/3" - }, - { - "description": "Universal definitions", - "$ref": "../../../../../definitions.json#/tags" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/mgga.json b/schema/models_directory/pb/qm/dft/ksdft/mgga.json deleted file mode 100644 index 2c7f4f5b1..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/mgga.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/mgga", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Meta Generalized Gradient Approximation model schema", - "allOf": [ - { - "$ref": "../ksdft.json" - } - ], - "subtype": { - "enum": [ - { - "name": "Meta Generalized Gradient Approximation", - "slug": "mgga" - } - ] - }, - "functional": { - "$ref": "mgga/functional.json" - }, - "augmentations": { - "$ref": "mgga/augmentations.json" - }, - "modifiers": { - "$ref": "mgga/modifiers.json" - }, - "tags": { - "$ref": "mgga/tags.json" - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/mgga/augmentations.json b/schema/models_directory/pb/qm/dft/ksdft/mgga/augmentations.json deleted file mode 100644 index 3b7984595..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/mgga/augmentations.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/mgga/augmentations", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/augmentations.json" - } - ], - "description": "Augmentations specific to meta-GGA functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/augmentations" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/mgga/definitions.json b/schema/models_directory/pb/qm/dft/ksdft/mgga/definitions.json deleted file mode 100644 index ca4bd23be..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/mgga/definitions.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/mgga/definitions", - "tags": {}, - "augmentations": {}, - "modifiers": {} -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/mgga/functional.json b/schema/models_directory/pb/qm/dft/ksdft/mgga/functional.json deleted file mode 100644 index 608e80615..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/mgga/functional.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/mgga/functional", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Meta-GGA functional key schema", - "allOf": [ - { - "$ref": "../../functional.json" - } - ], - "properties": { - "components": { - "type": "array", - "items": { - "$ref": "../../functional/components_directory/local_functional_mgga.json" - } - } - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/mgga/modifiers.json b/schema/models_directory/pb/qm/dft/ksdft/mgga/modifiers.json deleted file mode 100644 index 07f19499c..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/mgga/modifiers.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/mgga/modifiers", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/modifiers.json" - } - ], - "description": "Modifiers specific to meta-GGA functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/modifiers" - }, - { - "description": "Universal of modifiers", - "$ref": "../../../../../definitions.json#/modifiers" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/mgga/tags.json b/schema/models_directory/pb/qm/dft/ksdft/mgga/tags.json deleted file mode 100644 index 38fc69ab6..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/mgga/tags.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/mgga/tags", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../../model/tags.json" - } - ], - "description": "Tags specific to meta-GGA functionals only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/tags" - }, - { - "description": "QM definitions", - "$ref": "../../../definitions.json#/scaling/3" - }, - { - "description": "Universal definitions", - "$ref": "../../../../../definitions.json#/tags" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/modifiers.json b/schema/models_directory/pb/qm/dft/ksdft/modifiers.json deleted file mode 100644 index cca9f66fc..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/modifiers.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/modifiers", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../model/modifiers.json" - } - ], - "description": "Modifiers specific to this model type only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/modifiers" - }, - { - "description": "Universal of modifiers", - "$ref": "../../../../definitions.json#/modifiers" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/dft/ksdft/tags.json b/schema/models_directory/pb/qm/dft/ksdft/tags.json deleted file mode 100644 index ef2bee6ee..000000000 --- a/schema/models_directory/pb/qm/dft/ksdft/tags.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/dft/ksdft/tags", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../../model/tags.json" - } - ], - "description": "Tags specific to DFT model type only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/tags" - }, - { - "description": "QM definitions", - "$ref": "../../definitions.json#/scaling/3" - }, - { - "description": "Universal definitions", - "$ref": "../../../../definitions.json#/tags" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/semp.json b/schema/models_directory/pb/qm/semp.json deleted file mode 100644 index 7dd68ca69..000000000 --- a/schema/models_directory/pb/qm/semp.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/semp", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Semi-empirical model schema", - "allOf": [ - { - "$ref": "../qm.json" - } - ], - "properties": { - "tier3": { - "enum": [ - { - "name": "semi-empirical", - "slug": "semp" - } - ] - }, - "type": { - "enum": [ - { - "name": "extended hueckel theory", - "slug": "eht" - }, - { - "name": "parametric method 7", - "slug": "pm7" - }, - { - "name": "first order tight-binding dft", - "slug": "dftb1" - }, - { - "name": "second order tight-binding dft", - "slug": "dftb2" - }, - { - "name": "third order tight-binding dft", - "slug": "dftb3" - } - ] - }, - "augmentations": { - "$ref": "semp/augmentations.json" - }, - "modifiers": { - "$ref": "semp/modifiers.json" - }, - "tags": { - "$ref": "semp/tags.json" - } - } -} diff --git a/schema/models_directory/pb/qm/semp/augmentations.json b/schema/models_directory/pb/qm/semp/augmentations.json deleted file mode 100644 index 91c4491e8..000000000 --- a/schema/models_directory/pb/qm/semp/augmentations.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/semp/augmentations", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../model/augmentations.json" - } - ], - "description": "Augmentations specific to semi-empirical type only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/augmentations" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/semp/definitions.json b/schema/models_directory/pb/qm/semp/definitions.json deleted file mode 100644 index b77774af6..000000000 --- a/schema/models_directory/pb/qm/semp/definitions.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/semp/definitions", - "tags": {}, - "augmentations": {}, - "modifiers": {} -} diff --git a/schema/models_directory/pb/qm/semp/modifiers.json b/schema/models_directory/pb/qm/semp/modifiers.json deleted file mode 100644 index cd5190af0..000000000 --- a/schema/models_directory/pb/qm/semp/modifiers.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/semp/modifiers", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../model/modifiers.json" - } - ], - "description": "Modifiers specific to semi-empirical type only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/modifiers" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/semp/tags.json b/schema/models_directory/pb/qm/semp/tags.json deleted file mode 100644 index 2e9608802..000000000 --- a/schema/models_directory/pb/qm/semp/tags.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/semp/tags", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../../model/tags.json" - } - ], - "description": "Tags specific to semi-empirical type only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/tags" - } - ] - } -} diff --git a/schema/models_directory/pb/qm/tags.json b/schema/models_directory/pb/qm/tags.json deleted file mode 100644 index cd9561f4f..000000000 --- a/schema/models_directory/pb/qm/tags.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schemaId": "models-directory/pb/qm/tags", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../../../model/tags.json" - } - ], - "description": "Tags specific to quantum-mechanical type only.", - "items": { - "anyOf": [ - { - "$ref": "definitions.json#/tags" - } - ] - } -} diff --git a/schema/models_directory/re.json b/schema/models_directory/re.json new file mode 100644 index 000000000..3d62b6860 --- /dev/null +++ b/schema/models_directory/re.json @@ -0,0 +1,16 @@ +{ + "$id": "models-directory/re", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "machine learning model schema", + "description": "machine learning model type/subtype schema", + "allOf": [ + { + "$ref": "../model/model_without_method.json" + } + ], + "properties": { + "categories": { + "$ref": "../models_category/st/det/ml/re.json" + } + } +} diff --git a/schema/models_directory/st.json b/schema/models_directory/st.json deleted file mode 100644 index f7e75f5b9..000000000 --- a/schema/models_directory/st.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "schemaId": "models-directory/st", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../model.json" - } - ], - "properties": { - "tier1": { - "enum": [ - { - "name": "statistical", - "slug": "st" - } - ] - } - } -} diff --git a/schema/models_directory/st/det.json b/schema/models_directory/st/det.json deleted file mode 100644 index 812508180..000000000 --- a/schema/models_directory/st/det.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "schemaId": "models-directory/st/det", - "$schema": "http://json-schema.org/draft-04/schema#", - "allOf": [ - { - "$ref": "../st.json" - } - ], - "properties": { - "tier2": { - "enum": [ - { - "name": "deterministic", - "slug": "det" - } - ] - } - } -} diff --git a/schema/models_directory/st/det/ml.json b/schema/models_directory/st/det/ml.json deleted file mode 100644 index 137a9bef3..000000000 --- a/schema/models_directory/st/det/ml.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "schemaId": "models-directory/st/det/ml", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "machine learning model schema", - "description": "machine learning model type/subtype schema", - "allOf": [ - { - "$ref": "../../../new_model.json" - } - ], - "properties": { - "tier3": { - "enum": [ - { - "name": "machine learning", - "slug": "ml" - } - ] - }, - "type": { - "enum": [ - { - "name": "regression", - "slug": "re" - } - ] - }, - "method": { - "oneOf": [ - { - "$ref": "../../../methods_directory/regression.json" - } - ] - } - } -} diff --git a/schema/models_directory/unknown.json b/schema/models_directory/unknown.json deleted file mode 100644 index 01b3abd50..000000000 --- a/schema/models_directory/unknown.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "schemaId": "models-directory/unknown", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "unknown model schema", - "description": "schema for cases when model is unknown", - "allOf": [ - { - "$ref": "../model.json" - } - ], - "properties": { - "type": { - "enum": [ - "unknown" - ] - }, - "subtype": { - "enum": [ - "unknown" - ] - }, - "method": { - "$ref": "../methods_directory/unknown.json" - } - } -} diff --git a/schema/new_model.json b/schema/new_model.json deleted file mode 100644 index a332cc667..000000000 --- a/schema/new_model.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "schemaId": "new-model", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "new model schema (base)", - "properties": { - "tier1": { - "description": "top-level category, e.g. `physics-based`", - "$ref": "core/primitive/slugified_entry_or_slug.json" - }, - "tier2": { - "description": "second level category, e.g. `quantum mechanical`", - "$ref": "core/primitive/slugified_entry_or_slug.json" - }, - "tier3": { - "description": "third level category, e.g. `ab initio`", - "$ref": "core/primitive/slugified_entry_or_slug.json" - }, - "type": { - "description": "general type of the model, eg. `dft`", - "$ref": "core/primitive/slugified_entry_or_slug.json" - }, - "subtype": { - "description": "general subtype of the model, eg. `lda`", - "$ref": "core/primitive/slugified_entry_or_slug.json" - }, - "method": { - "$ref": "method.json" - }, - "reference": { - "$ref": "core/reference/literature.json" - }, - "augmentations": { - "$ref": "model/augmentations.json" - }, - "modifiers": { - "$ref": "model/modifiers.json" - }, - "tags": { - "$ref": "model/tags.json" - } - }, - "required": [ - "tier1", - "tier2", - "tier3", - "type", - "method" - ] -} diff --git a/schema/project.json b/schema/project.json index 19b9bf2be..084775979 100644 --- a/schema/project.json +++ b/schema/project.json @@ -1,5 +1,5 @@ { - "schemaId": "project", + "$id": "project", "$schema": "http://json-schema.org/draft-04/schema#", "title": "project schema", "type": "object", diff --git a/schema/properties_directory/derived_properties.json b/schema/properties_directory/derived_properties.json index 0a2506232..2f93e937e 100644 --- a/schema/properties_directory/derived_properties.json +++ b/schema/properties_directory/derived_properties.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/derived-properties", + "$id": "properties-directory/derived-properties", "$schema": "http://json-schema.org/draft-04/schema#", "title": "derived properties schema", "type": "array", diff --git a/schema/properties_directory/electronic_configuration.json b/schema/properties_directory/electronic_configuration.json index 4b3f0c0a2..8d758ce1a 100644 --- a/schema/properties_directory/electronic_configuration.json +++ b/schema/properties_directory/electronic_configuration.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/electronic-configuration", + "$id": "properties-directory/electronic-configuration", "$schema": "http://json-schema.org/draft-04/schema#", "title": "electronic configuration schema", "type": "object", diff --git a/schema/properties_directory/elemental/atomic_radius.json b/schema/properties_directory/elemental/atomic_radius.json index 0e040784b..95fb33f7d 100644 --- a/schema/properties_directory/elemental/atomic_radius.json +++ b/schema/properties_directory/elemental/atomic_radius.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/elemental/atomic-radius", + "$id": "properties-directory/elemental/atomic-radius", "$schema": "http://json-schema.org/draft-04/schema#", "title": "atomic radius", "description": "atomic radius", diff --git a/schema/properties_directory/elemental/electronegativity.json b/schema/properties_directory/elemental/electronegativity.json index db7ee5dda..a3024fef1 100644 --- a/schema/properties_directory/elemental/electronegativity.json +++ b/schema/properties_directory/elemental/electronegativity.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/elemental/electronegativity", + "$id": "properties-directory/elemental/electronegativity", "$schema": "http://json-schema.org/draft-04/schema#", "title": "electronegativity", "description": "electronegativity for the element (Pauling scale)", diff --git a/schema/properties_directory/elemental/ionization_potential.json b/schema/properties_directory/elemental/ionization_potential.json index 791ca12f9..777332b55 100644 --- a/schema/properties_directory/elemental/ionization_potential.json +++ b/schema/properties_directory/elemental/ionization_potential.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/elemental/ionization-potential", + "$id": "properties-directory/elemental/ionization-potential", "$schema": "http://json-schema.org/draft-04/schema#", "title": "ionization potential", "description": "ionization potential for the element", diff --git a/schema/properties_directory/non-scalar/average_potential_profile.json b/schema/properties_directory/non-scalar/average_potential_profile.json index 51f70fd40..f9a7c2937 100644 --- a/schema/properties_directory/non-scalar/average_potential_profile.json +++ b/schema/properties_directory/non-scalar/average_potential_profile.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/average-potential-profile", + "$id": "properties-directory/non-scalar/average-potential-profile", "$schema": "http://json-schema.org/draft-04/schema#", "title": "average potential profile schema", "allOf": [ diff --git a/schema/properties_directory/non-scalar/band_gaps.json b/schema/properties_directory/non-scalar/band_gaps.json index 591a064dd..a66df1f09 100644 --- a/schema/properties_directory/non-scalar/band_gaps.json +++ b/schema/properties_directory/non-scalar/band_gaps.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/band-gaps", + "$id": "properties-directory/non-scalar/band-gaps", "$schema": "http://json-schema.org/draft-04/schema#", "title": "band gaps schema", "description": "contains band gap values", diff --git a/schema/properties_directory/non-scalar/band_structure.json b/schema/properties_directory/non-scalar/band_structure.json index d4605b1f0..c27481cd4 100644 --- a/schema/properties_directory/non-scalar/band_structure.json +++ b/schema/properties_directory/non-scalar/band_structure.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/band-structure", + "$id": "properties-directory/non-scalar/band-structure", "$schema": "http://json-schema.org/draft-04/schema#", "title": "band structure schema", "allOf": [ diff --git a/schema/properties_directory/non-scalar/charge_density_profile.json b/schema/properties_directory/non-scalar/charge_density_profile.json index 21195c654..d8799fcdf 100644 --- a/schema/properties_directory/non-scalar/charge_density_profile.json +++ b/schema/properties_directory/non-scalar/charge_density_profile.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/charge-density-profile", + "$id": "properties-directory/non-scalar/charge-density-profile", "$schema": "http://json-schema.org/draft-04/schema#", "title": "charge density profile schema", "allOf": [ diff --git a/schema/properties_directory/non-scalar/density_of_states.json b/schema/properties_directory/non-scalar/density_of_states.json index 52b7a0273..3fdd2ecfe 100644 --- a/schema/properties_directory/non-scalar/density_of_states.json +++ b/schema/properties_directory/non-scalar/density_of_states.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/density-of-states", + "$id": "properties-directory/non-scalar/density-of-states", "$schema": "http://json-schema.org/draft-04/schema#", "title": "density of states schema", "type": "object", diff --git a/schema/properties_directory/non-scalar/dielectric_tensor.json b/schema/properties_directory/non-scalar/dielectric_tensor.json new file mode 100644 index 000000000..02daebac7 --- /dev/null +++ b/schema/properties_directory/non-scalar/dielectric_tensor.json @@ -0,0 +1,22 @@ +{ + "$id": "properties-directory/non-scalar/dielectric-tensor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "dielectric tensor property", + "description": "The real and imaginary parts of the diagonal elements of the dieletric tensor", + "properties": { + "name": { + "enum": [ + "dielectric_tensor" + ] + }, + "values": { + "type": "array", + "items": { + "$ref": "../../core/reusable/dielectric_tensor_component.json" + } + } + }, + "required": [ + "name" + ] +} diff --git a/schema/properties_directory/non-scalar/file_content.json b/schema/properties_directory/non-scalar/file_content.json index 15c1bcd92..e13583a62 100644 --- a/schema/properties_directory/non-scalar/file_content.json +++ b/schema/properties_directory/non-scalar/file_content.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/file-content", + "$id": "properties-directory/non-scalar/file-content", "$schema": "http://json-schema.org/draft-04/schema#", "title": "file_content", "allOf": [ @@ -20,7 +20,8 @@ "image", "text", "csv" - ] + ], + "$comment": "isGenerative:true" }, "objectData": { "$ref": "../../core/reusable/object_storage_container_data.json" diff --git a/schema/properties_directory/non-scalar/phonon_dispersions.json b/schema/properties_directory/non-scalar/phonon_dispersions.json index d4e1eb808..9f64a89f6 100644 --- a/schema/properties_directory/non-scalar/phonon_dispersions.json +++ b/schema/properties_directory/non-scalar/phonon_dispersions.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/phonon-dispersions", + "$id": "properties-directory/non-scalar/phonon-dispersions", "$schema": "http://json-schema.org/draft-04/schema#", "title": "phonon band structure schema", "allOf": [ diff --git a/schema/properties_directory/non-scalar/phonon_dos.json b/schema/properties_directory/non-scalar/phonon_dos.json index 23d48fb8d..c3be431d6 100644 --- a/schema/properties_directory/non-scalar/phonon_dos.json +++ b/schema/properties_directory/non-scalar/phonon_dos.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/phonon-dos", + "$id": "properties-directory/non-scalar/phonon-dos", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Phonon density of states schema", "type": "object", diff --git a/schema/properties_directory/non-scalar/potential_profile.json b/schema/properties_directory/non-scalar/potential_profile.json index 08189167c..10132350f 100644 --- a/schema/properties_directory/non-scalar/potential_profile.json +++ b/schema/properties_directory/non-scalar/potential_profile.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/potential-profile", + "$id": "properties-directory/non-scalar/potential-profile", "$schema": "http://json-schema.org/draft-04/schema#", "title": "potential profile schema", "allOf": [ diff --git a/schema/properties_directory/non-scalar/reaction_energy_profile.json b/schema/properties_directory/non-scalar/reaction_energy_profile.json index 7b059ad28..b9faa65e7 100644 --- a/schema/properties_directory/non-scalar/reaction_energy_profile.json +++ b/schema/properties_directory/non-scalar/reaction_energy_profile.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/reaction-energy-profile", + "$id": "properties-directory/non-scalar/reaction-energy-profile", "$schema": "http://json-schema.org/draft-04/schema#", "title": "reaction energy profile schema", "allOf": [ diff --git a/schema/properties_directory/non-scalar/stress_tensor.json b/schema/properties_directory/non-scalar/stress_tensor.json index 4bbbbbc74..a6498bd13 100644 --- a/schema/properties_directory/non-scalar/stress_tensor.json +++ b/schema/properties_directory/non-scalar/stress_tensor.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/stress-tensor", + "$id": "properties-directory/non-scalar/stress-tensor", "$schema": "http://json-schema.org/draft-04/schema#", "title": "stress tensor schema", "properties": { diff --git a/schema/properties_directory/non-scalar/total_energy_contributions.json b/schema/properties_directory/non-scalar/total_energy_contributions.json index 411d27db7..3c8ad2afa 100644 --- a/schema/properties_directory/non-scalar/total_energy_contributions.json +++ b/schema/properties_directory/non-scalar/total_energy_contributions.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/total-energy-contributions", + "$id": "properties-directory/non-scalar/total-energy-contributions", "$schema": "http://json-schema.org/draft-04/schema#", "title": "total energy contributions schema", "type": "object", diff --git a/schema/properties_directory/non-scalar/vibrational_spectrum.json b/schema/properties_directory/non-scalar/vibrational_spectrum.json index 0f857cbef..6e5203311 100644 --- a/schema/properties_directory/non-scalar/vibrational_spectrum.json +++ b/schema/properties_directory/non-scalar/vibrational_spectrum.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/non-scalar/vibrational-spectrum", + "$id": "properties-directory/non-scalar/vibrational-spectrum", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Vibrational spectrum schema", "type": "object", diff --git a/schema/properties_directory/scalar/electron_affinity.json b/schema/properties_directory/scalar/electron_affinity.json index c954efaea..194a75931 100644 --- a/schema/properties_directory/scalar/electron_affinity.json +++ b/schema/properties_directory/scalar/electron_affinity.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/scalar/electron-affinity", + "$id": "properties-directory/scalar/electron-affinity", "$schema": "http://json-schema.org/draft-04/schema#", "title": "electron affinity schema", "allOf": [ diff --git a/schema/properties_directory/scalar/fermi_energy.json b/schema/properties_directory/scalar/fermi_energy.json index 532c57869..18812989e 100644 --- a/schema/properties_directory/scalar/fermi_energy.json +++ b/schema/properties_directory/scalar/fermi_energy.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/scalar/fermi-energy", + "$id": "properties-directory/scalar/fermi-energy", "$schema": "http://json-schema.org/draft-04/schema#", "title": "fermi energy schema", "allOf": [ diff --git a/schema/properties_directory/scalar/formation_energy.json b/schema/properties_directory/scalar/formation_energy.json index 3ee62aba7..0789c29b0 100644 --- a/schema/properties_directory/scalar/formation_energy.json +++ b/schema/properties_directory/scalar/formation_energy.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/scalar/formation-energy", + "$id": "properties-directory/scalar/formation-energy", "$schema": "http://json-schema.org/draft-04/schema#", "title": "formation energy schema", "allOf": [ diff --git a/schema/properties_directory/scalar/ionization_potential.json b/schema/properties_directory/scalar/ionization_potential.json index b96e5a36b..2b1d9e621 100644 --- a/schema/properties_directory/scalar/ionization_potential.json +++ b/schema/properties_directory/scalar/ionization_potential.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/scalar/ionization-potential", + "$id": "properties-directory/scalar/ionization-potential", "$schema": "http://json-schema.org/draft-04/schema#", "title": "ionization potential schema", "allOf": [ diff --git a/schema/properties_directory/scalar/pressure.json b/schema/properties_directory/scalar/pressure.json index 981a9d1c7..0a276daba 100644 --- a/schema/properties_directory/scalar/pressure.json +++ b/schema/properties_directory/scalar/pressure.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/scalar/pressure", + "$id": "properties-directory/scalar/pressure", "$schema": "http://json-schema.org/draft-04/schema#", "title": "pressure", "description": "average pressure in unit cell", diff --git a/schema/properties_directory/scalar/reaction_energy_barrier.json b/schema/properties_directory/scalar/reaction_energy_barrier.json index b444991f4..c34591eb1 100644 --- a/schema/properties_directory/scalar/reaction_energy_barrier.json +++ b/schema/properties_directory/scalar/reaction_energy_barrier.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/scalar/reaction-energy-barrier", + "$id": "properties-directory/scalar/reaction-energy-barrier", "$schema": "http://json-schema.org/draft-04/schema#", "title": "reaction energy barrier schema", "allOf": [ diff --git a/schema/properties_directory/scalar/surface_energy.json b/schema/properties_directory/scalar/surface_energy.json index 51fd6b211..b7f709381 100644 --- a/schema/properties_directory/scalar/surface_energy.json +++ b/schema/properties_directory/scalar/surface_energy.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/scalar/surface-energy", + "$id": "properties-directory/scalar/surface-energy", "$schema": "http://json-schema.org/draft-04/schema#", "title": "surface energy schema", "allOf": [ diff --git a/schema/properties_directory/scalar/total_energy.json b/schema/properties_directory/scalar/total_energy.json index cbf20a611..1a5281a02 100644 --- a/schema/properties_directory/scalar/total_energy.json +++ b/schema/properties_directory/scalar/total_energy.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/scalar/total-energy", + "$id": "properties-directory/scalar/total-energy", "$schema": "http://json-schema.org/draft-04/schema#", "title": "total energy schema", "allOf": [ diff --git a/schema/properties_directory/scalar/total_force.json b/schema/properties_directory/scalar/total_force.json index f857b9edf..a0c5af4a0 100644 --- a/schema/properties_directory/scalar/total_force.json +++ b/schema/properties_directory/scalar/total_force.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/scalar/total-force", + "$id": "properties-directory/scalar/total-force", "$schema": "http://json-schema.org/draft-04/schema#", "title": "total forces schema", "allOf": [ diff --git a/schema/properties_directory/scalar/valence_band_offset.json b/schema/properties_directory/scalar/valence_band_offset.json index e1f273647..16562caea 100644 --- a/schema/properties_directory/scalar/valence_band_offset.json +++ b/schema/properties_directory/scalar/valence_band_offset.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/scalar/valence-band-offset", + "$id": "properties-directory/scalar/valence-band-offset", "$schema": "http://json-schema.org/draft-04/schema#", "title": "valence band offset schema", "allOf": [ diff --git a/schema/properties_directory/scalar/zero_point_energy.json b/schema/properties_directory/scalar/zero_point_energy.json index af610ab82..1cdd76a5b 100644 --- a/schema/properties_directory/scalar/zero_point_energy.json +++ b/schema/properties_directory/scalar/zero_point_energy.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/scalar/zero-point-energy", + "$id": "properties-directory/scalar/zero-point-energy", "$schema": "http://json-schema.org/draft-04/schema#", "title": "zero point energy schema", "allOf": [ diff --git a/schema/properties_directory/structural/atomic_forces.json b/schema/properties_directory/structural/atomic_forces.json index 7510577bf..3be439b6b 100644 --- a/schema/properties_directory/structural/atomic_forces.json +++ b/schema/properties_directory/structural/atomic_forces.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/atomic-forces", + "$id": "properties-directory/structural/atomic-forces", "$schema": "http://json-schema.org/draft-04/schema#", "title": "atomic forces", "description": "coordinates of atoms by ids, vector, unitless", diff --git a/schema/properties_directory/structural/basis.json b/schema/properties_directory/structural/basis.json index 392c08082..82498d4b9 100644 --- a/schema/properties_directory/structural/basis.json +++ b/schema/properties_directory/structural/basis.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/basis", + "$id": "properties-directory/structural/basis", "$schema": "http://json-schema.org/draft-04/schema#", "title": "basis schema", "type": "object", diff --git a/schema/properties_directory/structural/basis/atomic_constraints.json b/schema/properties_directory/structural/basis/atomic_constraints.json index c5d2e7ec8..2cb5e743c 100644 --- a/schema/properties_directory/structural/basis/atomic_constraints.json +++ b/schema/properties_directory/structural/basis/atomic_constraints.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/basis/atomic-constraints", + "$id": "properties-directory/structural/basis/atomic-constraints", "$schema": "http://json-schema.org/draft-04/schema#", "title": "atomic constraints", "description": "atomic constraints schema", diff --git a/schema/properties_directory/structural/basis/atomic_coordinate.json b/schema/properties_directory/structural/basis/atomic_coordinate.json index f591c4238..98156a776 100644 --- a/schema/properties_directory/structural/basis/atomic_coordinate.json +++ b/schema/properties_directory/structural/basis/atomic_coordinate.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/basis/atomic-coordinate", + "$id": "properties-directory/structural/basis/atomic-coordinate", "$schema": "http://json-schema.org/draft-04/schema#", "title": "atomic coordinate", "description": "coordinates of atoms by ids, vector, unitless", diff --git a/schema/properties_directory/structural/basis/atomic_coordinates.json b/schema/properties_directory/structural/basis/atomic_coordinates.json index 8da0ba385..f60973b61 100644 --- a/schema/properties_directory/structural/basis/atomic_coordinates.json +++ b/schema/properties_directory/structural/basis/atomic_coordinates.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/basis/atomic-coordinates", + "$id": "properties-directory/structural/basis/atomic-coordinates", "title": "atomic coordinates", "description": "coordinates of atoms by ids, vector, unitless", "properties": { diff --git a/schema/properties_directory/structural/basis/atomic_element.json b/schema/properties_directory/structural/basis/atomic_element.json index 0db64660d..e0f4ef172 100644 --- a/schema/properties_directory/structural/basis/atomic_element.json +++ b/schema/properties_directory/structural/basis/atomic_element.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/basis/atomic-element", + "$id": "properties-directory/structural/basis/atomic-element", "$schema": "http://json-schema.org/draft-04/schema#", "title": "atomic elements", "description": "elements of atoms by ids, string, unitless", diff --git a/schema/properties_directory/structural/basis/bonds.json b/schema/properties_directory/structural/basis/bonds.json index 1ed4026db..dddd16d7f 100644 --- a/schema/properties_directory/structural/basis/bonds.json +++ b/schema/properties_directory/structural/basis/bonds.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/basis/bonds", + "$id": "properties-directory/structural/basis/bonds", "$schema": "http://json-schema.org/draft-04/schema#", "title": "bonds schema", "type": "array", diff --git a/schema/properties_directory/structural/density.json b/schema/properties_directory/structural/density.json index 892529bf4..059c614f2 100644 --- a/schema/properties_directory/structural/density.json +++ b/schema/properties_directory/structural/density.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/density", + "$id": "properties-directory/structural/density", "$schema": "http://json-schema.org/draft-04/schema#", "title": "density schema", "allOf": [ diff --git a/schema/properties_directory/structural/elemental_ratio.json b/schema/properties_directory/structural/elemental_ratio.json index d3a864819..04ebeaf56 100644 --- a/schema/properties_directory/structural/elemental_ratio.json +++ b/schema/properties_directory/structural/elemental_ratio.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/elemental-ratio", + "$id": "properties-directory/structural/elemental-ratio", "$schema": "http://json-schema.org/draft-04/schema#", "title": "elemental-ratio", "description": "ration of this element in the compound", diff --git a/schema/properties_directory/structural/inchi.json b/schema/properties_directory/structural/inchi.json index 14ab55d6a..b8701e8f3 100644 --- a/schema/properties_directory/structural/inchi.json +++ b/schema/properties_directory/structural/inchi.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/inchi", + "$id": "properties-directory/structural/inchi", "$schema": "http://json-schema.org/draft-04/schema#", "title": "InChI representation schema", "allOf": [ diff --git a/schema/properties_directory/structural/inchi_key.json b/schema/properties_directory/structural/inchi_key.json index 5315e0265..f550e4e97 100644 --- a/schema/properties_directory/structural/inchi_key.json +++ b/schema/properties_directory/structural/inchi_key.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/inchi-key", + "$id": "properties-directory/structural/inchi-key", "$schema": "http://json-schema.org/draft-04/schema#", "title": "InChI key representation schema", "allOf": [ diff --git a/schema/properties_directory/structural/lattice.json b/schema/properties_directory/structural/lattice.json index 8261353b5..4b53165f4 100644 --- a/schema/properties_directory/structural/lattice.json +++ b/schema/properties_directory/structural/lattice.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/lattice", + "$id": "properties-directory/structural/lattice", "$schema": "http://json-schema.org/draft-04/schema#", "title": "lattice schema", "type": "object", diff --git a/schema/properties_directory/structural/lattice/lattice_bravais.json b/schema/properties_directory/structural/lattice/lattice_bravais.json index 35748d8f8..621c21bb7 100644 --- a/schema/properties_directory/structural/lattice/lattice_bravais.json +++ b/schema/properties_directory/structural/lattice/lattice_bravais.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/lattice/lattice-bravais", + "$id": "properties-directory/structural/lattice/lattice-bravais", "$schema": "http://json-schema.org/draft-04/schema#", "title": "lattice implicit schema", "allOf": [ diff --git a/schema/properties_directory/structural/lattice/lattice_vectors.json b/schema/properties_directory/structural/lattice/lattice_vectors.json index 3d372d1ea..9860f6456 100644 --- a/schema/properties_directory/structural/lattice/lattice_vectors.json +++ b/schema/properties_directory/structural/lattice/lattice_vectors.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/lattice/lattice-vectors", + "$id": "properties-directory/structural/lattice/lattice-vectors", "$schema": "http://json-schema.org/draft-04/schema#", "title": "lattice explicit unit", "allOf": [ diff --git a/schema/properties_directory/structural/magnetic_moments.json b/schema/properties_directory/structural/magnetic_moments.json index ef643b8ae..e54c9cad1 100644 --- a/schema/properties_directory/structural/magnetic_moments.json +++ b/schema/properties_directory/structural/magnetic_moments.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/magnetic-moments", + "$id": "properties-directory/structural/magnetic-moments", "$schema": "http://json-schema.org/draft-04/schema#", "title": "magnetic moments", "description": "magnetization on each ion", diff --git a/schema/properties_directory/structural/molecular_pattern.json b/schema/properties_directory/structural/molecular_pattern.json index 11d472df2..f211890bd 100644 --- a/schema/properties_directory/structural/molecular_pattern.json +++ b/schema/properties_directory/structural/molecular_pattern.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/molecular-pattern", + "$id": "properties-directory/structural/molecular-pattern", "$schema": "http://json-schema.org/draft-04/schema#", "title": "molecular pattern schema", "type": "array", diff --git a/schema/properties_directory/structural/p-norm.json b/schema/properties_directory/structural/p-norm.json index b08c69588..9a557ff1e 100644 --- a/schema/properties_directory/structural/p-norm.json +++ b/schema/properties_directory/structural/p-norm.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/p-norm", + "$id": "properties-directory/structural/p-norm", "$schema": "http://json-schema.org/draft-04/schema#", "title": "p_norm", "description": "https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm", diff --git a/schema/properties_directory/structural/patterns/functional_group.json b/schema/properties_directory/structural/patterns/functional_group.json index c272aa5b0..1115ad607 100644 --- a/schema/properties_directory/structural/patterns/functional_group.json +++ b/schema/properties_directory/structural/patterns/functional_group.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/patterns/functional-group", + "$id": "properties-directory/structural/patterns/functional-group", "$schema": "http://json-schema.org/draft-04/schema#", "title": "functional group pattern schema", "type": "object", diff --git a/schema/properties_directory/structural/patterns/ring.json b/schema/properties_directory/structural/patterns/ring.json index 8faf9c417..aeb8402b1 100644 --- a/schema/properties_directory/structural/patterns/ring.json +++ b/schema/properties_directory/structural/patterns/ring.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/patterns/ring", + "$id": "properties-directory/structural/patterns/ring", "$schema": "http://json-schema.org/draft-04/schema#", "title": "ring pattern schema", "type": "object", diff --git a/schema/properties_directory/structural/patterns/special_bond.json b/schema/properties_directory/structural/patterns/special_bond.json index 96af69f67..ac213df80 100644 --- a/schema/properties_directory/structural/patterns/special_bond.json +++ b/schema/properties_directory/structural/patterns/special_bond.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/patterns/special-bond", + "$id": "properties-directory/structural/patterns/special-bond", "$schema": "http://json-schema.org/draft-04/schema#", "title": "special bond pattern schema", "type": "object", diff --git a/schema/properties_directory/structural/symmetry.json b/schema/properties_directory/structural/symmetry.json index 4d31c89a3..f02dd11d5 100644 --- a/schema/properties_directory/structural/symmetry.json +++ b/schema/properties_directory/structural/symmetry.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/symmetry", + "$id": "properties-directory/structural/symmetry", "$schema": "http://json-schema.org/draft-04/schema#", "title": "symmetry schema", "properties": { diff --git a/schema/properties_directory/structural/volume.json b/schema/properties_directory/structural/volume.json index 183b1b481..1044aedfa 100644 --- a/schema/properties_directory/structural/volume.json +++ b/schema/properties_directory/structural/volume.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/structural/volume", + "$id": "properties-directory/structural/volume", "$schema": "http://json-schema.org/draft-04/schema#", "title": "volume schema", "allOf": [ diff --git a/schema/properties_directory/workflow/convergence/electronic.json b/schema/properties_directory/workflow/convergence/electronic.json index 8e522f11b..327d9cd89 100644 --- a/schema/properties_directory/workflow/convergence/electronic.json +++ b/schema/properties_directory/workflow/convergence/electronic.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/workflow/convergence/electronic", + "$id": "properties-directory/workflow/convergence/electronic", "$schema": "http://json-schema.org/draft-04/schema#", "title": "electronic self consistency convergence schema", "properties": { diff --git a/schema/properties_directory/workflow/convergence/ionic.json b/schema/properties_directory/workflow/convergence/ionic.json index 7b9d6c075..c141e5ef9 100644 --- a/schema/properties_directory/workflow/convergence/ionic.json +++ b/schema/properties_directory/workflow/convergence/ionic.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/workflow/convergence/ionic", + "$id": "properties-directory/workflow/convergence/ionic", "$schema": "http://json-schema.org/draft-04/schema#", "title": "ionic convergence schema", "properties": { diff --git a/schema/properties_directory/workflow/convergence/kpoint.json b/schema/properties_directory/workflow/convergence/kpoint.json index 0fae221b6..be32c18e1 100644 --- a/schema/properties_directory/workflow/convergence/kpoint.json +++ b/schema/properties_directory/workflow/convergence/kpoint.json @@ -1,5 +1,5 @@ { - "schemaId": "properties-directory/workflow/convergence/kpoint", + "$id": "properties-directory/workflow/convergence/kpoint", "$schema": "http://json-schema.org/draft-04/schema#", "title": "convergence schema for converging a property wrt kpoints", "properties": { diff --git a/schema/property/meta.json b/schema/property/meta.json index f29a84e77..e524b559a 100644 --- a/schema/property/meta.json +++ b/schema/property/meta.json @@ -1,5 +1,5 @@ { - "schemaId": "property/meta", + "$id": "property/meta", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Schema of material's meta properties", "allOf": [ diff --git a/schema/property/raw.json b/schema/property/raw.json index a19a66f4e..4026afc37 100644 --- a/schema/property/raw.json +++ b/schema/property/raw.json @@ -1,5 +1,5 @@ { - "schemaId": "property/raw", + "$id": "property/raw", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Schema of material's preliminary property", "allOf": [ diff --git a/schema/property/source.json b/schema/property/source.json index 00a128c68..6abdd7939 100644 --- a/schema/property/source.json +++ b/schema/property/source.json @@ -1,5 +1,5 @@ { - "schemaId": "property/source", + "$id": "property/source", "$schema": "http://json-schema.org/draft-04/schema#", "title": "The source of a property. This could be an article, a simulation on Exabyte, an external simulation, etc.", "type": "object", @@ -21,7 +21,6 @@ "$ref": "../core/reference/experiment.json" } ] - } } } diff --git a/schema/software/application.json b/schema/software/application.json index 1450bf427..a32678658 100644 --- a/schema/software/application.json +++ b/schema/software/application.json @@ -1,5 +1,5 @@ { - "schemaId": "software/application", + "$id": "software/application", "$schema": "http://json-schema.org/draft-04/schema#", "title": "application schema (base)", "type": "object", diff --git a/schema/software/executable.json b/schema/software/executable.json index 1992404fd..a7b0ab8e8 100644 --- a/schema/software/executable.json +++ b/schema/software/executable.json @@ -1,5 +1,5 @@ { - "schemaId": "software/executable", + "$id": "software/executable", "$schema": "http://json-schema.org/draft-04/schema#", "title": "executable schema", "type": "object", diff --git a/schema/software/flavor.json b/schema/software/flavor.json index a46021ea0..fe18cddcd 100644 --- a/schema/software/flavor.json +++ b/schema/software/flavor.json @@ -1,5 +1,5 @@ { - "schemaId": "software/flavor", + "$id": "software/flavor", "$schema": "http://json-schema.org/draft-04/schema#", "title": "flavor schema", "type": "object", diff --git a/schema/software/template.json b/schema/software/template.json index eb75d47ee..d96a287d1 100644 --- a/schema/software/template.json +++ b/schema/software/template.json @@ -1,5 +1,5 @@ { - "schemaId": "software/template", + "$id": "software/template", "$schema": "http://json-schema.org/draft-04/schema#", "title": "template schema", "type": "object", diff --git a/schema/software_directory/ml/exabyteml.json b/schema/software_directory/ml/exabyteml.json index a4bfe7239..c62edc657 100644 --- a/schema/software_directory/ml/exabyteml.json +++ b/schema/software_directory/ml/exabyteml.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/ml/exabyteml", + "$id": "software-directory/ml/exabyteml", "$schema": "http://json-schema.org/draft-04/schema#", "title": "exabyte machine learning engine schema", "type": "object", diff --git a/schema/software_directory/ml/unit/execution.json b/schema/software_directory/ml/unit/execution.json index 1a232fc0b..927652417 100644 --- a/schema/software_directory/ml/unit/execution.json +++ b/schema/software_directory/ml/unit/execution.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/ml/unit/execution", + "$id": "software-directory/ml/unit/execution", "oneOf": [ { "$ref": "execution/evaluate/cross-validate.json" diff --git a/schema/software_directory/ml/unit/execution/evaluate/cross-validate.json b/schema/software_directory/ml/unit/execution/evaluate/cross-validate.json index 5cc559d97..73933d3fc 100644 --- a/schema/software_directory/ml/unit/execution/evaluate/cross-validate.json +++ b/schema/software_directory/ml/unit/execution/evaluate/cross-validate.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/ml/unit/execution/evaluate/cross-validate", + "$id": "software-directory/ml/unit/execution/evaluate/cross-validate", "$schema": "http://json-schema.org/draft-04/schema#", "title": "cross-validation unit schema", "allOf": [ diff --git a/schema/software_directory/ml/unit/execution/initialize.json b/schema/software_directory/ml/unit/execution/initialize.json index 76f9f818a..73505d12b 100644 --- a/schema/software_directory/ml/unit/execution/initialize.json +++ b/schema/software_directory/ml/unit/execution/initialize.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/ml/unit/execution/initialize", + "$id": "software-directory/ml/unit/execution/initialize", "$schema": "http://json-schema.org/draft-04/schema#", "title": "initialize unit schema", "allOf": [ diff --git a/schema/software_directory/ml/unit/execution/score.json b/schema/software_directory/ml/unit/execution/score.json index 1f1729355..a93c9c02d 100644 --- a/schema/software_directory/ml/unit/execution/score.json +++ b/schema/software_directory/ml/unit/execution/score.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/ml/unit/execution/score", + "$id": "software-directory/ml/unit/execution/score", "$schema": "http://json-schema.org/draft-04/schema#", "title": "train score schema", "allOf": [ diff --git a/schema/software_directory/ml/unit/execution/train.json b/schema/software_directory/ml/unit/execution/train.json index eab67da19..b2380a2f3 100644 --- a/schema/software_directory/ml/unit/execution/train.json +++ b/schema/software_directory/ml/unit/execution/train.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/ml/unit/execution/train", + "$id": "software-directory/ml/unit/execution/train", "$schema": "http://json-schema.org/draft-04/schema#", "title": "train unit schema", "allOf": [ diff --git a/schema/software_directory/ml/unit/processing.json b/schema/software_directory/ml/unit/processing.json index d46af682a..a01990c86 100644 --- a/schema/software_directory/ml/unit/processing.json +++ b/schema/software_directory/ml/unit/processing.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/ml/unit/processing", + "$id": "software-directory/ml/unit/processing", "oneOf": [ { "$ref": "processing/data_transformation.json" diff --git a/schema/software_directory/ml/unit/processing/data_transformation.json b/schema/software_directory/ml/unit/processing/data_transformation.json index c23afde10..2b937aee8 100644 --- a/schema/software_directory/ml/unit/processing/data_transformation.json +++ b/schema/software_directory/ml/unit/processing/data_transformation.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/ml/unit/processing/data-transformation", + "$id": "software-directory/ml/unit/processing/data-transformation", "oneOf": [ { "$ref": "data_transformation/scale_and_reduce.json" diff --git a/schema/software_directory/ml/unit/processing/data_transformation/manipulation.json b/schema/software_directory/ml/unit/processing/data_transformation/manipulation.json index 24f26c099..89ee3f116 100644 --- a/schema/software_directory/ml/unit/processing/data_transformation/manipulation.json +++ b/schema/software_directory/ml/unit/processing/data_transformation/manipulation.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/ml/unit/processing/data-transformation/manipulation", + "$id": "software-directory/ml/unit/processing/data-transformation/manipulation", "$schema": "http://json-schema.org/draft-04/schema#", "title": "manipulation unit schema", "allOf": [ diff --git a/schema/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.json b/schema/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.json index ee1679957..5f793d172 100644 --- a/schema/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.json +++ b/schema/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/ml/unit/processing/data-transformation/scale-and-reduce", + "$id": "software-directory/ml/unit/processing/data-transformation/scale-and-reduce", "$schema": "http://json-schema.org/draft-04/schema#", "title": "scale and reduce unit schema", "allOf": [ diff --git a/schema/software_directory/ml/unit/processing/feature_selection.json b/schema/software_directory/ml/unit/processing/feature_selection.json index 8aa614844..0ba768b57 100644 --- a/schema/software_directory/ml/unit/processing/feature_selection.json +++ b/schema/software_directory/ml/unit/processing/feature_selection.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/ml/unit/processing/feature-selection", + "$id": "software-directory/ml/unit/processing/feature-selection", "oneOf": [ { "$ref": "feature_selection/filter_based.json" diff --git a/schema/software_directory/ml/unit/processing/feature_selection/filter_based.json b/schema/software_directory/ml/unit/processing/feature_selection/filter_based.json index 8179299fa..7965fe174 100644 --- a/schema/software_directory/ml/unit/processing/feature_selection/filter_based.json +++ b/schema/software_directory/ml/unit/processing/feature_selection/filter_based.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/ml/unit/processing/feature-selection/filter-based", + "$id": "software-directory/ml/unit/processing/feature-selection/filter-based", "$schema": "http://json-schema.org/draft-04/schema#", "title": "filter-based feature selection unit schema", "allOf": [ diff --git a/schema/software_directory/modeling/espresso.json b/schema/software_directory/modeling/espresso.json index 1d672cabc..a5f122320 100644 --- a/schema/software_directory/modeling/espresso.json +++ b/schema/software_directory/modeling/espresso.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/modeling/espresso", + "$id": "software-directory/modeling/espresso", "$schema": "http://json-schema.org/draft-04/schema#", "title": "espresso app schema", "type": "object", diff --git a/schema/software_directory/modeling/espresso/arguments.json b/schema/software_directory/modeling/espresso/arguments.json index 5b1704f5b..5629fafae 100644 --- a/schema/software_directory/modeling/espresso/arguments.json +++ b/schema/software_directory/modeling/espresso/arguments.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/modeling/espresso/arguments", + "$id": "software-directory/modeling/espresso/arguments", "$schema": "http://json-schema.org/draft-04/schema#", "title": "quantum espresso arguments schema", "type": "object", diff --git a/schema/software_directory/modeling/nwchem.json b/schema/software_directory/modeling/nwchem.json index 11e449360..f9a23cfe1 100644 --- a/schema/software_directory/modeling/nwchem.json +++ b/schema/software_directory/modeling/nwchem.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/modeling/nwchem", + "$id": "software-directory/modeling/nwchem", "$schema": "http://json-schema.org/draft-04/schema#", "title": "NWChem", "type": "object", diff --git a/schema/software_directory/modeling/unit/execution.json b/schema/software_directory/modeling/unit/execution.json index a9bb5353f..5939e4d62 100644 --- a/schema/software_directory/modeling/unit/execution.json +++ b/schema/software_directory/modeling/unit/execution.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/modeling/unit/execution", + "$id": "software-directory/modeling/unit/execution", "$schema": "http://json-schema.org/draft-04/schema#", "title": "execution unit schema for physics-based simulation engines (defined using espresso as example)", "type": "object", diff --git a/schema/software_directory/modeling/vasp.json b/schema/software_directory/modeling/vasp.json index aadc3514f..6ec487123 100644 --- a/schema/software_directory/modeling/vasp.json +++ b/schema/software_directory/modeling/vasp.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/modeling/vasp", + "$id": "software-directory/modeling/vasp", "$schema": "http://json-schema.org/draft-04/schema#", "title": "vienna ab-inito simulation package", "type": "object", diff --git a/schema/software_directory/scripting/jupyter-lab.json b/schema/software_directory/scripting/jupyter-lab.json index 1b1b21a0a..94d3c9288 100644 --- a/schema/software_directory/scripting/jupyter-lab.json +++ b/schema/software_directory/scripting/jupyter-lab.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/scripting/jupyter-lab", + "$id": "software-directory/scripting/jupyter-lab", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Jupyter Lab Application Schema", "type": "object", diff --git a/schema/software_directory/scripting/python.json b/schema/software_directory/scripting/python.json index 047496a30..6e69f9a4d 100644 --- a/schema/software_directory/scripting/python.json +++ b/schema/software_directory/scripting/python.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/scripting/python", + "$id": "software-directory/scripting/python", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Python Programing Language Schema", "type": "object", diff --git a/schema/software_directory/scripting/shell.json b/schema/software_directory/scripting/shell.json index c407e52dd..2805d7986 100644 --- a/schema/software_directory/scripting/shell.json +++ b/schema/software_directory/scripting/shell.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/scripting/shell", + "$id": "software-directory/scripting/shell", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Shell Scripting Language Schema", "type": "object", diff --git a/schema/software_directory/scripting/unit/execution.json b/schema/software_directory/scripting/unit/execution.json index 3352a6715..c19db42ea 100644 --- a/schema/software_directory/scripting/unit/execution.json +++ b/schema/software_directory/scripting/unit/execution.json @@ -1,5 +1,5 @@ { - "schemaId": "software-directory/scripting/unit/execution", + "$id": "software-directory/scripting/unit/execution", "$schema": "http://json-schema.org/draft-04/schema#", "title": "execution unit schema for scripting-based applications", "type": "object", diff --git a/schema/system/_material.json b/schema/system/_material.json index 24b34a76f..c6dc60c47 100644 --- a/schema/system/_material.json +++ b/schema/system/_material.json @@ -1,5 +1,5 @@ { - "schemaId": "system/-material", + "$id": "system/-material", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Material entity reference schema", "allOf": [ diff --git a/schema/system/_parent_job.json b/schema/system/_parent_job.json index 5a26b98d7..1be87ecc6 100644 --- a/schema/system/_parent_job.json +++ b/schema/system/_parent_job.json @@ -1,5 +1,5 @@ { - "schemaId": "system/-parent-job", + "$id": "system/-parent-job", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Parent job entity reference schema", "allOf": [ diff --git a/schema/system/_project.json b/schema/system/_project.json index 9bb2d0661..f04d64fb0 100644 --- a/schema/system/_project.json +++ b/schema/system/_project.json @@ -1,5 +1,5 @@ { - "schemaId": "system/-project", + "$id": "system/-project", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Project entity reference schema", "allOf": [ diff --git a/schema/system/bankable.json b/schema/system/bankable.json index 09b5e0d69..1febe4a59 100644 --- a/schema/system/bankable.json +++ b/schema/system/bankable.json @@ -1,5 +1,5 @@ { - "schemaId": "system/bankable", + "$id": "system/bankable", "$schema": "http://json-schema.org/draft-04/schema#", "title": "bankable schema", "properties": { diff --git a/schema/system/creator.json b/schema/system/creator.json index 918a8c650..0067ac411 100644 --- a/schema/system/creator.json +++ b/schema/system/creator.json @@ -1,5 +1,5 @@ { - "schemaId": "system/creator", + "$id": "system/creator", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Creator entity reference schema", "allOf": [ diff --git a/schema/system/creator_account.json b/schema/system/creator_account.json index 298ca3245..a0520a68a 100644 --- a/schema/system/creator_account.json +++ b/schema/system/creator_account.json @@ -1,5 +1,5 @@ { - "schemaId": "system/creator-account", + "$id": "system/creator-account", "$schema": "http://json-schema.org/draft-04/schema#", "title": "creator account schema", "properties": { diff --git a/schema/system/database_source.json b/schema/system/database_source.json index 671aedba8..727fa0844 100644 --- a/schema/system/database_source.json +++ b/schema/system/database_source.json @@ -1,5 +1,5 @@ { - "schemaId": "system/database-source", + "$id": "system/database-source", "$schema": "http://json-schema.org/draft-04/schema#", "title": "database source schema", "description": "information about a database source", diff --git a/schema/system/defaultable.json b/schema/system/defaultable.json index 8dba6d138..634f5f1e3 100644 --- a/schema/system/defaultable.json +++ b/schema/system/defaultable.json @@ -1,5 +1,5 @@ { - "schemaId": "system/defaultable", + "$id": "system/defaultable", "$schema": "http://json-schema.org/draft-04/schema#", "title": "defaultable entity schema", "properties": { diff --git a/schema/system/description.json b/schema/system/description.json index 5d2c4875c..905e92f79 100644 --- a/schema/system/description.json +++ b/schema/system/description.json @@ -1,5 +1,5 @@ { - "schemaId": "system/description", + "$id": "system/description", "$schema": "http://json-schema.org/draft-04/schema#", "title": "extended base entity schema", "properties": { diff --git a/schema/system/entity_reference.json b/schema/system/entity_reference.json index c6288de2c..06a90b57a 100644 --- a/schema/system/entity_reference.json +++ b/schema/system/entity_reference.json @@ -1,5 +1,5 @@ { - "schemaId": "system/entity-reference", + "$id": "system/entity-reference", "$schema": "http://json-schema.org/draft-04/schema#", "title": "entity reference schema", "properties": { diff --git a/schema/system/file_source.json b/schema/system/file_source.json index d2d31d80d..1475b0de9 100644 --- a/schema/system/file_source.json +++ b/schema/system/file_source.json @@ -1,5 +1,5 @@ { - "schemaId": "system/file-source", + "$id": "system/file-source", "$schema": "http://json-schema.org/draft-04/schema#", "title": "file source schema", "description": "file source with the information inside", diff --git a/schema/system/history.json b/schema/system/history.json index 86b52e400..7da774c55 100644 --- a/schema/system/history.json +++ b/schema/system/history.json @@ -1,5 +1,5 @@ { - "schemaId": "system/history", + "$id": "system/history", "$schema": "http://json-schema.org/draft-04/schema#", "title": "history schema", "properties": { diff --git a/schema/system/in_set.json b/schema/system/in_set.json index f1e582712..36d7b9811 100644 --- a/schema/system/in_set.json +++ b/schema/system/in_set.json @@ -1,5 +1,5 @@ { - "schemaId": "system/in-set", + "$id": "system/in-set", "$schema": "http://json-schema.org/draft-04/schema#", "title": "System in-set schema", "properties": { diff --git a/schema/system/is_multi_material.json b/schema/system/is_multi_material.json index bd51998ba..19fd2b63e 100644 --- a/schema/system/is_multi_material.json +++ b/schema/system/is_multi_material.json @@ -1,5 +1,5 @@ { - "schemaId": "system/is-multi-material", + "$id": "system/is-multi-material", "$schema": "http://json-schema.org/draft-04/schema#", "title": "is multi schema", "properties": { diff --git a/schema/system/is_outdated.json b/schema/system/is_outdated.json index dec977b5c..2f608cb00 100644 --- a/schema/system/is_outdated.json +++ b/schema/system/is_outdated.json @@ -1,5 +1,5 @@ { - "schemaId": "system/is-outdated", + "$id": "system/is-outdated", "$schema": "http://json-schema.org/draft-04/schema#", "title": "is outdated schema", "properties": { diff --git a/schema/system/job_extended.json b/schema/system/job_extended.json index f442d7434..d332e3906 100644 --- a/schema/system/job_extended.json +++ b/schema/system/job_extended.json @@ -1,5 +1,5 @@ { - "schemaId": "system/job-extended", + "$id": "system/job-extended", "$schema": "http://json-schema.org/draft-04/schema#", "title": "extended job schema", "properties": { diff --git a/schema/system/message.json b/schema/system/message.json index cc7adc53e..c35a6d973 100644 --- a/schema/system/message.json +++ b/schema/system/message.json @@ -1,5 +1,5 @@ { - "schemaId": "system/message", + "$id": "system/message", "$schema": "http://json-schema.org/draft-04/schema#", "title": "message schema", "description": "communication message between Rupy and web application.", diff --git a/schema/system/metadata.json b/schema/system/metadata.json index 9dd535514..e9d8634c3 100644 --- a/schema/system/metadata.json +++ b/schema/system/metadata.json @@ -1,5 +1,5 @@ { - "schemaId": "system/metadata", + "$id": "system/metadata", "$schema": "http://json-schema.org/draft-04/schema#", "title": "metadata schema", "properties": { diff --git a/schema/system/name.json b/schema/system/name.json index c67dbee06..b008ca23b 100644 --- a/schema/system/name.json +++ b/schema/system/name.json @@ -1,5 +1,5 @@ { - "schemaId": "system/name", + "$id": "system/name", "$schema": "http://json-schema.org/draft-04/schema#", "title": "name entity schema", "properties": { diff --git a/schema/system/owner.json b/schema/system/owner.json index db7c6996f..17b7f1863 100644 --- a/schema/system/owner.json +++ b/schema/system/owner.json @@ -1,5 +1,5 @@ { - "schemaId": "system/owner", + "$id": "system/owner", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Entity owner reference schema", "allOf": [ diff --git a/schema/system/schema_version.json b/schema/system/schema_version.json index a96b3b358..5dda0d047 100644 --- a/schema/system/schema_version.json +++ b/schema/system/schema_version.json @@ -1,5 +1,5 @@ { - "schemaId": "system/schema-version", + "$id": "system/schema-version", "$schema": "http://json-schema.org/draft-04/schema#", "title": "schema version", "properties": { diff --git a/schema/system/scope.json b/schema/system/scope.json index 5a0d36120..5ba436272 100644 --- a/schema/system/scope.json +++ b/schema/system/scope.json @@ -1,5 +1,5 @@ { - "schemaId": "system/scope", + "$id": "system/scope", "$schema": "http://json-schema.org/draft-04/schema#", "title": "scope schema", "properties": { diff --git a/schema/system/set.json b/schema/system/set.json index 0726439ab..5c3f4577a 100644 --- a/schema/system/set.json +++ b/schema/system/set.json @@ -1,5 +1,5 @@ { - "schemaId": "system/set", + "$id": "system/set", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Entity set schema", "properties": { diff --git a/schema/system/sharing.json b/schema/system/sharing.json index 823d987cd..98b5c5e1e 100644 --- a/schema/system/sharing.json +++ b/schema/system/sharing.json @@ -1,5 +1,5 @@ { - "schemaId": "system/sharing", + "$id": "system/sharing", "$schema": "http://json-schema.org/draft-04/schema#", "title": "extended sharing schema", "properties": { diff --git a/schema/system/soft_removable.json b/schema/system/soft_removable.json index 77cc725d7..74793daa3 100644 --- a/schema/system/soft_removable.json +++ b/schema/system/soft_removable.json @@ -1,5 +1,5 @@ { - "schemaId": "system/soft-removable", + "$id": "system/soft-removable", "$schema": "http://json-schema.org/draft-04/schema#", "title": "soft removable entity schema", "properties": { diff --git a/schema/system/status.json b/schema/system/status.json index cb4483c9e..bcb04caf6 100644 --- a/schema/system/status.json +++ b/schema/system/status.json @@ -1,5 +1,5 @@ { - "schemaId": "system/status", + "$id": "system/status", "$schema": "http://json-schema.org/draft-04/schema#", "title": "status schema", "properties": { diff --git a/schema/system/tags.json b/schema/system/tags.json index c3c0fc646..291acdc63 100644 --- a/schema/system/tags.json +++ b/schema/system/tags.json @@ -1,5 +1,5 @@ { - "schemaId": "system/tags", + "$id": "system/tags", "$schema": "http://json-schema.org/draft-04/schema#", "title": "entity tags schema", "properties": { diff --git a/schema/system/timestampable.json b/schema/system/timestampable.json index ee07a7aaa..ecfcb948f 100644 --- a/schema/system/timestampable.json +++ b/schema/system/timestampable.json @@ -1,5 +1,5 @@ { - "schemaId": "system/timestampable", + "$id": "system/timestampable", "$schema": "http://json-schema.org/draft-04/schema#", "title": "timestampable entity schema", "properties": { diff --git a/schema/system/use_values.json b/schema/system/use_values.json index 582d7c7b4..1620ff74c 100644 --- a/schema/system/use_values.json +++ b/schema/system/use_values.json @@ -1,5 +1,5 @@ { - "schemaId": "system/use-values", + "$id": "system/use-values", "$schema": "http://json-schema.org/draft-04/schema#", "title": "use values schema", "properties": { diff --git a/schema/workflow.json b/schema/workflow.json index 808676dbb..5aeffb068 100644 --- a/schema/workflow.json +++ b/schema/workflow.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow", + "$id": "workflow", "$schema": "http://json-schema.org/draft-04/schema#", "title": "workflow schema", "type": "object", diff --git a/schema/workflow/base.json b/schema/workflow/base.json index 9c855090e..7c0e4e6da 100644 --- a/schema/workflow/base.json +++ b/schema/workflow/base.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/base", + "$id": "workflow/base", "$schema": "http://json-schema.org/draft-04/schema#", "title": "base workflow schema", "type": "object", diff --git a/schema/workflow/base_flow.json b/schema/workflow/base_flow.json index 7d20c62ec..bee3da12b 100644 --- a/schema/workflow/base_flow.json +++ b/schema/workflow/base_flow.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/base-flow", + "$id": "workflow/base-flow", "$schema": "http://json-schema.org/draft-04/schema#", "title": "BaseFlow", "type": "object", diff --git a/schema/workflow/new_subworkflow.json b/schema/workflow/new_subworkflow.json deleted file mode 100644 index e7a1b8067..000000000 --- a/schema/workflow/new_subworkflow.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "schemaId": "workflow/new-subworkflow", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "NewSubworkflow", - "type": "object", - "properties": { - "_id": { - "description": "subworkflow identity", - "type": "string" - }, - "name": { - "description": "Human-readable name of the subworkflow. e.g. Total-energy", - "type": "string" - }, - "model": { - "description": "Model used inside the subworkflow", - "oneOf": [ - { - "$ref": "../models_directory/pb/qm/dft/ksdft.json" - }, - { - "$ref": "../models_directory/st/det/ml.json" - }, - { - "$ref": "../models_directory/unknown.json" - } - ] - }, - "application": { - "description": "information about the simulation engine/application.", - "$ref": "../software/application.json" - }, - "properties": { - "description": "Array of characteristic properties calculated by this subworkflow", - "type": "array", - "items": { - "description": "property names, eg. `band_gaps`, `band_structure`", - "type": "string" - } - }, - "units": { - "description": "Contains the Units of the subworkflow", - "type": "array", - "items": { - "$ref": "unit.json" - } - }, - "compute": { - "description": "compute parameters", - "$ref": "../job/compute.json" - }, - "isDraft": { - "description": "Defines whether to store the results/properties extracted in this unit to properties collection", - "type": "boolean", - "default": false - } - }, - "required": [ - "_id", - "name", - "units", - "model", - "application", - "properties" - ] -} diff --git a/schema/workflow/scope.json b/schema/workflow/scope.json new file mode 100644 index 000000000..36ea8132e --- /dev/null +++ b/schema/workflow/scope.json @@ -0,0 +1,20 @@ +{ + "$id": "workflow/scope", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow scope schema", + "type": "object", + "properties": { + "global": { + "type": "object", + "additionalProperties": true + }, + "local": { + "type": "object", + "additionalProperties": true + } + }, + "required": [ + "global", + "local" + ] +} diff --git a/schema/workflow/subworkflow.json b/schema/workflow/subworkflow.json index 1074820dc..eed4bcc99 100644 --- a/schema/workflow/subworkflow.json +++ b/schema/workflow/subworkflow.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/subworkflow", + "$id": "workflow/subworkflow", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Subworkflow", "type": "object", diff --git a/schema/workflow/unit.json b/schema/workflow/unit.json index efbfc7378..37025068e 100644 --- a/schema/workflow/unit.json +++ b/schema/workflow/unit.json @@ -1,11 +1,14 @@ { - "schemaId": "workflow/unit", + "$id": "workflow/unit", "$schema": "http://json-schema.org/draft-04/schema#", "title": "workflow unit schema", "type": "object", "allOf": [ { "$ref": "../in_memory_entity/named_defaultable_runtime_items.json" + }, + { + "$ref": "../system/tags.json" } ], "properties": { diff --git a/schema/workflow/unit/assertion.json b/schema/workflow/unit/assertion.json index 24f84c3be..1cdba31a0 100644 --- a/schema/workflow/unit/assertion.json +++ b/schema/workflow/unit/assertion.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/assertion", + "$id": "workflow/unit/assertion", "$schema": "http://json-schema.org/draft-04/schema#", "title": "assertion unit schema", "type": "object", diff --git a/schema/workflow/unit/assignment.json b/schema/workflow/unit/assignment.json index 5fecda48a..c4968f8bc 100644 --- a/schema/workflow/unit/assignment.json +++ b/schema/workflow/unit/assignment.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/assignment", + "$id": "workflow/unit/assignment", "$schema": "http://json-schema.org/draft-04/schema#", "title": "assignment unit schema", "type": "object", diff --git a/schema/workflow/unit/condition.json b/schema/workflow/unit/condition.json index 40a5dc8bc..231b3b0df 100644 --- a/schema/workflow/unit/condition.json +++ b/schema/workflow/unit/condition.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/condition", + "$id": "workflow/unit/condition", "$schema": "http://json-schema.org/draft-04/schema#", "title": "condition unit schema", "type": "object", diff --git a/schema/workflow/unit/execution.json b/schema/workflow/unit/execution.json index 2c2f85400..b0aa5675e 100644 --- a/schema/workflow/unit/execution.json +++ b/schema/workflow/unit/execution.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/execution", + "$id": "workflow/unit/execution", "$schema": "http://json-schema.org/draft-04/schema#", "title": "execution unit schema (base)", "type": "object", diff --git a/schema/workflow/unit/input/_input.json b/schema/workflow/unit/input/_input.json index 567ad674b..b0b902b21 100644 --- a/schema/workflow/unit/input/_input.json +++ b/schema/workflow/unit/input/_input.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/input/-input", + "$id": "workflow/unit/input/-input", "$schema": "http://json-schema.org/draft-04/schema#", "title": "execution unit input schema for physics-based simulation engines", "type": "object", diff --git a/schema/workflow/unit/input/_inputItem.json b/schema/workflow/unit/input/_inputItem.json index df98f802d..7ccd43f5b 100644 --- a/schema/workflow/unit/input/_inputItem.json +++ b/schema/workflow/unit/input/_inputItem.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/input/-inputItem", + "$id": "workflow/unit/input/-inputItem", "$schema": "http://json-schema.org/draft-04/schema#", "title": "execution unit input item schema for physics-based simulation engines", "type": "object", diff --git a/schema/workflow/unit/input/_inputItemId.json b/schema/workflow/unit/input/_inputItemId.json index af0144ce0..e9f407e33 100644 --- a/schema/workflow/unit/input/_inputItemId.json +++ b/schema/workflow/unit/input/_inputItemId.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/input/-inputItemId", + "$id": "workflow/unit/input/-inputItemId", "$schema": "http://json-schema.org/draft-04/schema#", "title": "execution unit input id item schema for physics-based simulation engines", "type": "object", diff --git a/schema/workflow/unit/input/_inputItemScope.json b/schema/workflow/unit/input/_inputItemScope.json index cd46337db..17742cf14 100644 --- a/schema/workflow/unit/input/_inputItemScope.json +++ b/schema/workflow/unit/input/_inputItemScope.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/input/-inputItemScope", + "$id": "workflow/unit/input/-inputItemScope", "$schema": "http://json-schema.org/draft-04/schema#", "title": "workflow unit input schema", "type": "object", diff --git a/schema/workflow/unit/io.json b/schema/workflow/unit/io.json index 8e9ad493f..7308d9be1 100644 --- a/schema/workflow/unit/io.json +++ b/schema/workflow/unit/io.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/io", + "$id": "workflow/unit/io", "$schema": "http://json-schema.org/draft-04/schema#", "title": "data IO unit schema", "type": "object", diff --git a/schema/workflow/unit/io/api.json b/schema/workflow/unit/io/api.json index 8363fc365..6c4069ced 100644 --- a/schema/workflow/unit/io/api.json +++ b/schema/workflow/unit/io/api.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/io/api", + "$id": "workflow/unit/io/api", "$schema": "http://json-schema.org/draft-04/schema#", "title": "data IO rest API input schema", "type": "object", diff --git a/schema/workflow/unit/io/db.json b/schema/workflow/unit/io/db.json index 09cd784d1..4fbf7a953 100644 --- a/schema/workflow/unit/io/db.json +++ b/schema/workflow/unit/io/db.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/io/db", + "$id": "workflow/unit/io/db", "$schema": "http://json-schema.org/draft-04/schema#", "title": "data IO database input/output schema", "type": "object", diff --git a/schema/workflow/unit/io/object_storage.json b/schema/workflow/unit/io/object_storage.json index b4bde940f..16e88c753 100644 --- a/schema/workflow/unit/io/object_storage.json +++ b/schema/workflow/unit/io/object_storage.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/io/object-storage", + "$id": "workflow/unit/io/object-storage", "$schema": "http://json-schema.org/draft-04/schema#", "title": "object_storage io schema", "type": "object", diff --git a/schema/workflow/unit/map.json b/schema/workflow/unit/map.json index c30e0dc4a..d9ec42e8e 100644 --- a/schema/workflow/unit/map.json +++ b/schema/workflow/unit/map.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/map", + "$id": "workflow/unit/map", "$schema": "http://json-schema.org/draft-04/schema#", "title": "map unit schema", "type": "object", diff --git a/schema/workflow/unit/processing.json b/schema/workflow/unit/processing.json index 993ae5c31..2d3838b7c 100644 --- a/schema/workflow/unit/processing.json +++ b/schema/workflow/unit/processing.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/processing", + "$id": "workflow/unit/processing", "$schema": "http://json-schema.org/draft-04/schema#", "title": "processing unit schema", "type": "object", diff --git a/schema/workflow/unit/reduce.json b/schema/workflow/unit/reduce.json index ddb6f399a..dae3b726c 100644 --- a/schema/workflow/unit/reduce.json +++ b/schema/workflow/unit/reduce.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/reduce", + "$id": "workflow/unit/reduce", "$schema": "http://json-schema.org/draft-04/schema#", "title": "reduce unit schema", "type": "object", diff --git a/schema/workflow/unit/runtime/_runtime_item_full_object.json b/schema/workflow/unit/runtime/_runtime_item_full_object.json index 38bbbecb0..71d5c3b64 100644 --- a/schema/workflow/unit/runtime/_runtime_item_full_object.json +++ b/schema/workflow/unit/runtime/_runtime_item_full_object.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/runtime/-runtime-item-full-object", + "$id": "workflow/unit/runtime/-runtime-item-full-object", "$schema": "http://json-schema.org/draft-04/schema#", "title": "full result schema", "type": "object", diff --git a/schema/workflow/unit/runtime/_runtime_item_name_object.json b/schema/workflow/unit/runtime/_runtime_item_name_object.json index 5d69ee577..efd59d901 100644 --- a/schema/workflow/unit/runtime/_runtime_item_name_object.json +++ b/schema/workflow/unit/runtime/_runtime_item_name_object.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/runtime/-runtime-item-name-object", + "$id": "workflow/unit/runtime/-runtime-item-name-object", "$schema": "http://json-schema.org/draft-04/schema#", "title": "name result schema", "type": "object", diff --git a/schema/workflow/unit/runtime/_runtime_item_string.json b/schema/workflow/unit/runtime/_runtime_item_string.json index 83aab08dd..8e235e641 100644 --- a/schema/workflow/unit/runtime/_runtime_item_string.json +++ b/schema/workflow/unit/runtime/_runtime_item_string.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/runtime/-runtime-item-string", + "$id": "workflow/unit/runtime/-runtime-item-string", "$schema": "http://json-schema.org/draft-04/schema#", "title": "RuntimeItemString", "description": "name of runtime item in shortened notation", diff --git a/schema/workflow/unit/runtime/runtime_item.json b/schema/workflow/unit/runtime/runtime_item.json index 796b02378..06f8c819b 100644 --- a/schema/workflow/unit/runtime/runtime_item.json +++ b/schema/workflow/unit/runtime/runtime_item.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/runtime/runtime-item", + "$id": "workflow/unit/runtime/runtime-item", "$schema": "http://json-schema.org/draft-04/schema#", "title": "runtime item schema", "oneOf": [ diff --git a/schema/workflow/unit/runtime/runtime_items.json b/schema/workflow/unit/runtime/runtime_items.json index 4eb6d3e2d..111b62b8a 100644 --- a/schema/workflow/unit/runtime/runtime_items.json +++ b/schema/workflow/unit/runtime/runtime_items.json @@ -1,5 +1,5 @@ { - "schemaId": "workflow/unit/runtime/runtime-items", + "$id": "workflow/unit/runtime/runtime-items", "$schema": "http://json-schema.org/draft-04/schema#", "title": "runtime items schema (pre-/post-processors, monitors, results", "type": "object", diff --git a/setup.py b/setup.py index 424c1bffb..c9b1f2943 100644 --- a/setup.py +++ b/setup.py @@ -42,9 +42,6 @@ def get_files_by_path(path): "coverage[toml]>=5.3", ] }, - entry_points={ - "console_scripts": ["generate_dft_unit_functionals=esse.functionals:generate_dft_unit_functionals"], - }, python_requires=">=3.6", classifiers=[ "Programming Language :: Python", diff --git a/src/js/esse/index.js b/src/js/esse/index.js index 87e2fa45e..923807f70 100644 --- a/src/js/esse/index.js +++ b/src/js/esse/index.js @@ -14,7 +14,7 @@ export class ESSE { } getSchemaById(schemaId) { - return this.schemas.find((schema) => schema.schemaId === schemaId); + return this.schemas.find((schema) => schema.$id === schemaId); } /** @@ -30,6 +30,7 @@ export class ESSE { buildGlobalSchema() { return { + $id: "esse-global-schema", $schema: "http://json-schema.org/draft-04/schema#", title: "Global schema", type: "object", diff --git a/src/js/esse/schemaUtils.js b/src/js/esse/schemaUtils.js index edc21e53a..d7f4c8adf 100644 --- a/src/js/esse/schemaUtils.js +++ b/src/js/esse/schemaUtils.js @@ -29,15 +29,15 @@ export function makeFlatSchemaRef(schemaId) { export function buildSchemaDefinitions(originalSchemas) { const schemas = originalSchemas.map((schema) => { return mapObjectDeep(schema, (value) => { - if (typeof value === "object" && value.schemaId) { - return makeFlatSchemaRef(value.schemaId); + if (typeof value === "object" && value.$id) { + return makeFlatSchemaRef(value.$id); } if (typeof value === "object" && value.$ref) { - // assume value.$ref is a schemaId + // assume value.$ref is a $id return makeFlatSchemaRef(value.$ref); } }); }); - return keyBy(schemas, ({ schemaId }) => makeFlatSchemaKey(schemaId)); + return keyBy(schemas, ({ $id }) => makeFlatSchemaKey($id)); } diff --git a/src/js/esse/tests/validate.js b/src/js/esse/tests/validate.js index fbe064353..ebd933649 100644 --- a/src/js/esse/tests/validate.js +++ b/src/js/esse/tests/validate.js @@ -34,7 +34,7 @@ describe("validate all examples", () => { describe("schema titles must be unique or empty", () => { const repeatedSchemaTitles = Object.entries(groupBy(esse.schemas, "title")) .filter(([title, groupedValues]) => title !== "undefined" && groupedValues.length > 1) - .map(([title, groupedValues]) => [title, groupedValues.map(({ schemaId }) => schemaId)]); + .map(([title, groupedValues]) => [title, groupedValues.map(({ $id }) => $id)]); console.log(repeatedSchemaTitles); diff --git a/src/js/scripts/createEnumsFromYaml.mjs b/src/js/scripts/createEnumsFromYaml.mjs new file mode 100644 index 000000000..80ff24ffb --- /dev/null +++ b/src/js/scripts/createEnumsFromYaml.mjs @@ -0,0 +1,46 @@ +/* eslint-disable no-restricted-syntax */ +import fs from "fs"; +import yaml from "js-yaml"; +import path from "path"; +import lodash from "lodash"; + +/** + * We use YAML files to list enum options which need to be reused in other places. + * The format also allows for additional context to the often shortened slugs, such as DOIs. + * This script converts the enum lists to JSON files for $ref blocks inside schemas. + */ + +const SCHEMA_DIR = "../../../schema/"; + +function walkDir(dir, callback) { + const subDirs = fs.readdirSync(dir); + + for (const subDir of subDirs) { + const itemPath = path.join(dir, subDir); + const stat = fs.statSync(itemPath); + + if (stat.isDirectory()) { + walkDir(itemPath, callback); + } else { + callback(itemPath); + } + } +} + +walkDir(SCHEMA_DIR, (filePath) => { + if (path.extname(filePath) !== ".yml") { + return; + } + console.log(filePath); + const outFilename = `${path.basename(filePath, ".yml")}.json`; + const dirname = path.dirname(filePath); + + const fileContents = fs.readFileSync(filePath); + const obj = yaml.load(fileContents); + const enumObj = lodash.mapValues(obj, (value) => ({ enum: value })); + + fs.writeFileSync( + `${path.join(dirname, outFilename)}`, + `${JSON.stringify(enumObj, null, 4)}\n`, + ); +}); diff --git a/src/js/scripts/setSchemaIds.mjs b/src/js/scripts/setSchemaIds.mjs index 21ea4491c..df785d509 100644 --- a/src/js/scripts/setSchemaIds.mjs +++ b/src/js/scripts/setSchemaIds.mjs @@ -26,9 +26,9 @@ await walkDir(SCHEMA_DIR, async (filePath) => { } const fileContents = await fs.readFile(filePath); - const { schemaId: oldSchemaId, ...schema } = JSON.parse(fileContents); + const { $id: oldSchemaId, ...schema } = JSON.parse(fileContents); const schemaId = filePath.replace(SCHEMA_DIR, "").replace(".json", "").replace(/_/g, "-"); - const newContent = JSON.stringify({ schemaId, ...schema }, null, " "); + const newContent = JSON.stringify({ $id: schemaId, ...schema }, null, 4); await fs.writeFile(filePath, `${newContent}\n`); }); diff --git a/src/py/esse/__init__.py b/src/py/esse/__init__.py index 963b5b2da..5d29aa5b1 100644 --- a/src/py/esse/__init__.py +++ b/src/py/esse/__init__.py @@ -3,13 +3,6 @@ from esse.utils import parseIncludeReferenceStatementsByDir from esse.settings import SCHEMAS_DIR, EXAMPLES_DIR, PROPERTIES_MANIFEST -# from esse.functionals import generate_dft_unit_functionals - -## Note: We're disabling this for now to avoid a bug discovered in deployment - files are not necessarily writeable -## in the installed context, if the calling code is executed with a different user than the one that owns the install -## directory. The function can be run manually with the `generate_dft_unit_functionals` command line script generated -## in setup.py when esse is installed. -# generate_dft_unit_functionals() SCHEMAS = parseIncludeReferenceStatementsByDir(SCHEMAS_DIR) EXAMPLES = parseIncludeReferenceStatementsByDir(EXAMPLES_DIR) @@ -24,7 +17,7 @@ def __init__(self): self.examples = EXAMPLES def get_schema_by_id(self, schemaId): - return next((s for s in SCHEMAS if s.get("schemaId") == schemaId), None) + return next((s for s in SCHEMAS if s.get("$id") == schemaId), None) def validate(self, example, schema): """ diff --git a/src/py/esse/functionals.py b/src/py/esse/functionals.py deleted file mode 100644 index 10e280d62..000000000 --- a/src/py/esse/functionals.py +++ /dev/null @@ -1,51 +0,0 @@ -import json -from string import Template -import os -from esse.utils import read_json_file, dump_json_file - -DIR = os.path.dirname(__file__) -UNIT_FUNCTIONALS_PATH = os.path.join(DIR, "data/schema/models_directory/pb/qm/dft") -PROTOTYPE_FILENAME = os.path.join(UNIT_FUNCTIONALS_PATH, "dft_unit_functionals_proto.json") -UNIT_FILENAME = os.path.join(UNIT_FUNCTIONALS_PATH, "dft_unit_functionals.json") - -SCHEMA_WITH_PROPERTIES_TEMPLATE = Template( - """{ -"properties": { - "name": { - "enum": [ - "$name" - ] - }, - "slug": { - "enum": [ - "$slug" - ] - }, - "type": { - "enum": [ - "$type" - ] - } -} -}""" -) - - -def generate_dft_unit_functionals(): - """ - Generate list of functionals suitable for validation by 'oneOf'. - - The targeted JSON file has a convoluted form which makes it inconvenient - to read and prone to errors. Thus, it is generated automatically from - a prototype file that is easier to maintain. - """ - proto = read_json_file(PROTOTYPE_FILENAME) - del proto["description"] - output = {} - for rung, configs in proto.items(): - o = {"oneOf": []} - for config in configs: - o["oneOf"].append(json.loads(SCHEMA_WITH_PROPERTIES_TEMPLATE.substitute(config))) - output[rung] = o - - dump_json_file(UNIT_FILENAME, output) diff --git a/src/py/esse/utils.py b/src/py/esse/utils.py index d676d7c26..7d392da51 100644 --- a/src/py/esse/utils.py +++ b/src/py/esse/utils.py @@ -36,6 +36,8 @@ def parseIncludeReferenceStatementsByDir(dir_path): data = [] for root, dirs, files in os.walk(dir_path): for file_ in files: + if os.path.splitext(file_)[1] != ".json": + continue file_path = os.path.join(root, file_) data.append(parseIncludeReferenceStatements(file_path)) return data @@ -102,8 +104,8 @@ def set_schema_id(path_): content = read_json_file(path_) if not content.get("$schema"): return # do not add ID to non-schema files - if content.get("schemaId"): - del content["schemaId"] + if content.get("$id"): + del content["$id"] schema_id = slugify(path_.replace("{}/".format(SCHEMAS_DIR), "").replace(".json", "")) content = OrderedDict(list(OrderedDict({"schemaId": schema_id}).items()) + list(content.items())) dump_json_file(path_, content, False)