@mat3ra/esse 2025.4.17-0 → 2025.4.26-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/.pre-commit-config.yaml +3 -6
  2. package/dist/js/example/core/abstract/vector_boolean_3d.json +5 -0
  3. package/dist/js/example/material.json +11 -11
  4. package/dist/js/example/properties_directory/structural/basis/atomic_coordinates.json +18 -21
  5. package/dist/js/example/properties_directory/structural/basis/atomic_elements.json +10 -0
  6. package/dist/js/example/properties_directory/structural/basis/atomic_label.json +4 -0
  7. package/dist/js/example/properties_directory/structural/basis/atomic_labels.json +10 -0
  8. package/dist/js/example/properties_directory/structural/lattice.json +11 -11
  9. package/dist/js/schema/{3pse → apse}/db/nist_jarvis/2024.3.13/atoms.json +1 -1
  10. package/dist/js/schema/{3pse → apse}/db/nist_jarvis/2024.3.13/db_entry.json +1 -1
  11. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/atomic_positions.json +1 -1
  12. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/atomic_species.json +1 -1
  13. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/cell.json +1 -1
  14. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/cell_parameters.json +1 -1
  15. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/control.json +1 -1
  16. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/electrons.json +1 -1
  17. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/hubbard.json +1 -1
  18. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/ions.json +1 -1
  19. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/k_points.json +1 -1
  20. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/system.json +1 -1
  21. package/dist/js/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x.json +1 -1
  22. package/dist/js/schema/core/abstract/coordinate_3d.json +11 -0
  23. package/dist/js/schema/core/abstract/kpoint.json +12 -0
  24. package/dist/js/schema/core/abstract/{3d_tensor.json → matrix_3x3.json} +2 -2
  25. package/dist/js/schema/core/abstract/{point.json → vector_3d.json} +2 -2
  26. package/dist/js/schema/core/abstract/{vector.json → vector_boolean_3d.json} +2 -12
  27. package/dist/js/schema/core/primitive/array_of_ids.json +7 -1
  28. package/dist/js/schema/core/primitive/object_with_id.json +16 -0
  29. package/dist/js/schema/core/primitive/object_with_id_and_value.json +20 -0
  30. package/dist/js/schema/core/reusable/atomic_scalars.json +6 -0
  31. package/dist/js/schema/core/reusable/atomic_string.json +21 -0
  32. package/dist/js/schema/core/reusable/atomic_vector.json +28 -0
  33. package/dist/js/schema/core/reusable/atomic_vectors.json +15 -24
  34. package/dist/js/schema/core/reusable/band_gap.json +4 -2
  35. package/dist/js/schema/material.json +113 -96
  36. package/dist/js/schema/properties_directory/non_scalar/band_gaps.json +6 -3
  37. package/dist/js/schema/properties_directory/non_scalar/stress_tensor.json +1 -1
  38. package/dist/js/schema/properties_directory/structural/atomic_forces.json +15 -24
  39. package/dist/js/schema/properties_directory/structural/basis/atomic_constraint.json +34 -0
  40. package/dist/js/schema/properties_directory/structural/basis/atomic_constraints.json +30 -45
  41. package/dist/js/schema/properties_directory/structural/basis/atomic_constraints_property.json +53 -0
  42. package/dist/js/schema/properties_directory/structural/basis/atomic_coordinate.json +18 -28
  43. package/dist/js/schema/properties_directory/structural/basis/atomic_coordinates.json +26 -59
  44. package/dist/js/schema/properties_directory/structural/basis/atomic_element.json +7 -12
  45. package/dist/js/schema/properties_directory/structural/basis/atomic_elements.json +27 -0
  46. package/dist/js/schema/properties_directory/structural/basis/atomic_label.json +27 -10
  47. package/dist/js/schema/properties_directory/structural/basis/atomic_labels.json +42 -0
  48. package/dist/js/schema/properties_directory/structural/basis/bonds.json +7 -1
  49. package/dist/js/schema/properties_directory/structural/basis/units_enum.json +10 -0
  50. package/dist/js/schema/properties_directory/structural/basis.json +63 -52
  51. package/dist/js/schema/properties_directory/structural/lattice/lattice_vectors.json +15 -40
  52. package/dist/js/schema/properties_directory/structural/lattice/units/angle_enum.json +10 -0
  53. package/dist/js/schema/properties_directory/structural/lattice/units/length_enum.json +10 -0
  54. package/dist/js/schema/properties_directory/structural/lattice/vectors/units_enum.json +10 -0
  55. package/dist/js/schema/{core/abstract/3d_vector_basis.json → properties_directory/structural/lattice/vectors.json} +19 -5
  56. package/dist/js/schema/properties_directory/structural/lattice.json +50 -44
  57. package/dist/js/schema/properties_directory/structural/magnetic_moments.json +15 -24
  58. package/dist/js/schema/properties_directory/structural/molecular_pattern.json +21 -3
  59. package/dist/js/schema/properties_directory/structural/patterns/functional_group.json +7 -1
  60. package/dist/js/schema/properties_directory/structural/patterns/ring.json +7 -1
  61. package/dist/js/schema/properties_directory/structural/patterns/special_bond.json +7 -1
  62. package/dist/js/schemas.json +1 -1
  63. package/dist/js/types.d.ts +445 -322
  64. package/dist/js/types.js +1 -1
  65. package/example/core/abstract/vector_boolean_3d.json +5 -0
  66. package/example/properties_directory/structural/basis/atomic_coordinates.json +18 -21
  67. package/example/properties_directory/structural/basis/atomic_elements.json +10 -0
  68. package/example/properties_directory/structural/basis/atomic_label.json +4 -0
  69. package/example/properties_directory/structural/basis/atomic_labels.json +10 -0
  70. package/example/properties_directory/structural/lattice.json +12 -2
  71. package/package.json +3 -3
  72. package/schema/{3pse → apse}/db/nist_jarvis/2024.3.13/atoms.json +1 -1
  73. package/schema/{3pse → apse}/db/nist_jarvis/2024.3.13/db_entry.json +1 -1
  74. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/atomic_positions.json +1 -1
  75. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/atomic_species.json +1 -1
  76. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/cell.json +1 -1
  77. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/cell_parameters.json +1 -1
  78. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/control.json +1 -1
  79. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/electrons.json +1 -1
  80. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/hubbard.json +1 -1
  81. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/ions.json +1 -1
  82. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/k_points.json +1 -1
  83. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x/system.json +1 -1
  84. package/schema/{3pse → apse}/file/applications/espresso/7.2/pw.x.json +1 -1
  85. package/schema/core/abstract/coordinate_3d.json +10 -0
  86. package/schema/core/abstract/{3d_tensor.json → matrix_3x3.json} +2 -2
  87. package/schema/core/abstract/{point.json → vector_3d.json} +2 -2
  88. package/schema/core/abstract/{vector.json → vector_boolean_3d.json} +2 -5
  89. package/schema/core/primitive/array_of_ids.json +2 -8
  90. package/schema/core/primitive/object_with_id.json +17 -0
  91. package/schema/core/primitive/object_with_id_and_value.json +22 -0
  92. package/schema/core/reusable/atomic_string.json +15 -0
  93. package/schema/core/reusable/atomic_vector.json +15 -0
  94. package/schema/core/reusable/atomic_vectors.json +1 -11
  95. package/schema/core/reusable/band_gap.json +2 -2
  96. package/schema/core/reusable/kpoint.json +11 -0
  97. package/schema/properties_directory/non-scalar/band_gaps.json +1 -1
  98. package/schema/properties_directory/non-scalar/stress_tensor.json +1 -1
  99. package/schema/properties_directory/structural/basis/atomic_constraint.json +17 -0
  100. package/schema/properties_directory/structural/basis/atomic_constraints.json +4 -11
  101. package/schema/properties_directory/structural/basis/atomic_constraints_property.json +17 -0
  102. package/schema/properties_directory/structural/basis/atomic_coordinate.json +8 -6
  103. package/schema/properties_directory/structural/basis/atomic_coordinates.json +6 -18
  104. package/schema/properties_directory/structural/basis/atomic_element.json +5 -20
  105. package/schema/properties_directory/structural/basis/atomic_elements.json +10 -0
  106. package/schema/properties_directory/structural/basis/atomic_label.json +20 -6
  107. package/schema/properties_directory/structural/basis/atomic_labels.json +10 -0
  108. package/schema/properties_directory/structural/basis/units_enum.json +10 -0
  109. package/schema/properties_directory/structural/basis.json +4 -19
  110. package/schema/properties_directory/structural/lattice/units/angle_enum.json +10 -0
  111. package/schema/properties_directory/structural/lattice/units/length_enum.json +10 -0
  112. package/schema/properties_directory/structural/lattice/units.json +18 -0
  113. package/schema/properties_directory/structural/lattice/vectors/units_enum.json +10 -0
  114. package/schema/properties_directory/structural/lattice/vectors.json +33 -0
  115. package/schema/properties_directory/structural/lattice.json +41 -10
  116. package/dist/js/example/core/abstract/3d_vector_basis.json +0 -17
  117. package/dist/js/example/core/primitive/3d_lattice.json +0 -8
  118. package/dist/js/example/properties_directory/structural/lattice/lattice_bravais.json +0 -13
  119. package/dist/js/schema/core/primitive/3d_lattice.json +0 -40
  120. package/dist/js/schema/core/reusable/atomic_strings.json +0 -19
  121. package/dist/js/schema/properties_directory/structural/lattice/lattice_bravais.json +0 -87
  122. package/example/core/abstract/3d_vector_basis.json +0 -17
  123. package/example/core/primitive/3d_lattice.json +0 -8
  124. package/example/properties_directory/structural/lattice/lattice_bravais.json +0 -13
  125. package/schema/core/abstract/3d_vector_basis.json +0 -25
  126. package/schema/core/primitive/3d_lattice.json +0 -40
  127. package/schema/core/reusable/atomic_strings.json +0 -17
  128. package/schema/properties_directory/structural/lattice/lattice_bravais.json +0 -36
  129. package/schema/properties_directory/structural/lattice/lattice_vectors.json +0 -21
  130. /package/dist/js/example/{3pse → apse}/db/nist_jarvis/2024.3.13/db_entry.json +0 -0
  131. /package/dist/js/example/{3pse → apse}/file/applications/espresso/7.2/pw.x.json +0 -0
  132. /package/dist/js/example/core/abstract/{point.json → coordinate_3d.json} +0 -0
  133. /package/dist/js/example/core/abstract/{3d_tensor.json → matrix_3x3.json} +0 -0
  134. /package/dist/js/example/core/abstract/{vector.json → vector_3d.json} +0 -0
  135. /package/dist/js/example/properties_directory/structural/basis/{atomic_constraints.json → atomic_constraints_property.json} +0 -0
  136. /package/dist/js/example/properties_directory/structural/lattice/{lattice_vectors.json → vectors.json} +0 -0
  137. /package/example/{3pse → apse}/db/nist_jarvis/2024.3.13/db_entry.json +0 -0
  138. /package/example/{3pse → apse}/file/applications/espresso/7.2/pw.x.json +0 -0
  139. /package/example/core/abstract/{point.json → coordinate_3d.json} +0 -0
  140. /package/example/core/abstract/{3d_tensor.json → matrix_3x3.json} +0 -0
  141. /package/example/core/abstract/{vector.json → vector_3d.json} +0 -0
  142. /package/example/properties_directory/structural/basis/{atomic_constraints.json → atomic_constraints_property.json} +0 -0
  143. /package/example/properties_directory/structural/lattice/{lattice_vectors.json → vectors.json} +0 -0
package/dist/js/types.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- /** Schema dist/js/schema/3pse/db/nist_jarvis/2024.3.13/atoms.json */
2
+ /** Schema dist/js/schema/apse/db/nist_jarvis/2024.3.13/atoms.json */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Action = exports.Type = void 0;
5
5
  /**
@@ -0,0 +1,5 @@
1
+ [
2
+ true,
3
+ false,
4
+ false
5
+ ]
@@ -1,21 +1,18 @@
1
- {
2
- "name": "atomic_coordinates",
3
- "values": [
4
- {
5
- "id": 1,
6
- "value": [
7
- 0,
8
- 0,
9
- 0
10
- ]
11
- },
12
- {
13
- "id": 2,
14
- "value": [
15
- 0.25,
16
- 0.25,
17
- 0.25
18
- ]
19
- }
20
- ]
21
- }
1
+ [
2
+ {
3
+ "id": 1,
4
+ "value": [
5
+ 0,
6
+ 0,
7
+ 0
8
+ ]
9
+ },
10
+ {
11
+ "id": 2,
12
+ "value": [
13
+ 0.25,
14
+ 0.25,
15
+ 0.25
16
+ ]
17
+ }
18
+ ]
@@ -0,0 +1,10 @@
1
+ [
2
+ {
3
+ "id": 0,
4
+ "value": "Si"
5
+ },
6
+ {
7
+ "id": 1,
8
+ "value": "Si"
9
+ }
10
+ ]
@@ -0,0 +1,4 @@
1
+ {
2
+ "id": 0,
3
+ "value": 3
4
+ }
@@ -0,0 +1,10 @@
1
+ [
2
+ {
3
+ "id": 0,
4
+ "value": "1"
5
+ },
6
+ {
7
+ "id": 1,
8
+ "value": 2
9
+ }
10
+ ]
@@ -1,7 +1,17 @@
1
1
  {
2
- "...": "include(lattice/lattice_bravais.json)",
3
2
  "name": "lattice",
3
+ "a": 5.14,
4
+ "alpha": 90.0,
5
+ "b": 5.14,
6
+ "beta": 90.0,
7
+ "c": 5.14,
8
+ "gamma": 90.0,
9
+ "type": "CUB",
10
+ "units": {
11
+ "angle": "degree",
12
+ "length": "angstrom"
13
+ },
4
14
  "vectors": {
5
- "...": "include(lattice/lattice_vectors.json)"
15
+ "...": "include(lattice/vectors.json)"
6
16
  }
7
17
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mat3ra/esse",
3
- "version": "2025.4.17-0",
3
+ "version": "2025.4.26-0",
4
4
  "description": "Mat3ra's Excellent Source of Schemas and Examples (ESSE) for Digital Materials R&D",
5
5
  "scripts": {
6
6
  "transpile": "tsc -p tsconfig-transpile.json",
@@ -83,8 +83,8 @@
83
83
  "node": ">=14.0.0"
84
84
  },
85
85
  "lint-staged": {
86
- "*.js": "eslint --cache --fix",
87
- "*.{js,css}": "prettier --write"
86
+ "*.js,!dist/**/*": "eslint --cache --fix",
87
+ "*.{js,css},!dist/**/*": "prettier --write"
88
88
  },
89
89
  "exports": {
90
90
  "./dist/js/schema/*.json": "./dist/js/schema/*.json",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/db/nist-jarvis/2024.3.13/atoms",
2
+ "$id": "apse/db/nist-jarvis/2024.3.13/atoms",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "NIST JARVIS Atoms schema",
5
5
  "description": "NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/db/nist-jarvis/2024.3.13/db-entry",
2
+ "$id": "apse/db/nist-jarvis/2024.3.13/db-entry",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "NIST JARVIS db entry schema",
5
5
  "description": "NIST J.A.R.V.I.S. db entry `atoms` key schema. Based on https://figshare.com/articles/dataset/Monolayer_data_for_heterostructure/22344571",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/atomic-positions",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/atomic-positions",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "atomic positions schema",
5
5
  "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/atomic-species",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/atomic-species",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "atomic species schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/cell",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/cell",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "cell schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/cell-parameters",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/cell-parameters",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "cell parameters schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/control",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/control",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "control schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/electrons",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/electrons",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "electrons schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/hubbard",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/hubbard",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "hubbard schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/ions",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/ions",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "ions schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/k-points",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/k-points",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "k points schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x/system",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x/system",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "system schema",
5
5
  "type": "object",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "3pse/file/applications/espresso/7.2/pw.x",
2
+ "$id": "apse/file/applications/espresso/7.2/pw.x",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "pwx main schema",
5
5
  "additionalProperties": false,
@@ -0,0 +1,10 @@
1
+ {
2
+ "$id": "core/abstract/coordinate-3d",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "coordinate 3d schema",
5
+ "allOf": [
6
+ {
7
+ "$ref": "../primitive/array_of_3_numbers.json"
8
+ }
9
+ ]
10
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
- "$id": "core/abstract/3d-tensor",
2
+ "$id": "core/abstract/matrix-3x3",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "3 dimensional tensor schema",
4
+ "title": "matrix 3x3 schema",
5
5
  "type": "array",
6
6
  "items": {
7
7
  "$ref": "../primitive/array_of_3_numbers.json"
@@ -1,7 +1,7 @@
1
1
  {
2
- "$id": "core/abstract/point",
2
+ "$id": "core/abstract/vector-3d",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "point schema",
4
+ "title": "vector 3d schema",
5
5
  "allOf": [
6
6
  {
7
7
  "$ref": "../primitive/array_of_3_numbers.json"
@@ -1,11 +1,8 @@
1
1
  {
2
- "$id": "core/abstract/vector",
2
+ "$id": "core/abstract/vector-boolean-3d",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "vector schema",
4
+ "title": "vector boolean 3d schema",
5
5
  "oneOf": [
6
- {
7
- "$ref": "../primitive/array_of_3_numbers.json"
8
- },
9
6
  {
10
7
  "$ref": "../primitive/array_of_3_booleans.json"
11
8
  }
@@ -1,16 +1,10 @@
1
1
  {
2
2
  "$id": "core/primitive/array-of-ids",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "atomic ids",
4
+ "title": "array of ids",
5
5
  "description": "array of objects containing integer id each",
6
6
  "type": "array",
7
7
  "items": {
8
- "type": "object",
9
- "properties": {
10
- "id": {
11
- "description": "integer id of this entry",
12
- "type": "integer"
13
- }
14
- }
8
+ "$ref": "./object_with_id.json"
15
9
  }
16
10
  }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$id": "core/primitive/object-with-id",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "object with id",
5
+ "description": "object containing integer id",
6
+ "type": "object",
7
+ "properties": {
8
+ "id": {
9
+ "description": "integer id of this entry",
10
+ "type": "integer"
11
+ }
12
+ },
13
+ "required": [
14
+ "id"
15
+ ]
16
+ }
17
+
@@ -0,0 +1,22 @@
1
+ {
2
+ "$id": "core/primitive/object-with-id-and-value",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "object with id and value schema",
5
+ "description": "object containing integer id and value each",
6
+ "type": "object",
7
+ "allOf": [
8
+ {
9
+ "$ref": "./object_with_id.json"
10
+ }
11
+ ],
12
+ "properties": {
13
+ "value": {
14
+ "description": "value of this entry"
15
+ }
16
+ },
17
+ "required": [
18
+ "id",
19
+ "value"
20
+ ]
21
+ }
22
+
@@ -0,0 +1,15 @@
1
+ {
2
+ "$id": "core/reusable/atomic-string",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "atomic string schema",
5
+ "allOf": [
6
+ {
7
+ "$ref": "../primitive/object_with_id_and_value.json"
8
+ }
9
+ ],
10
+ "properties": {
11
+ "value": {
12
+ "type": "string"
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$id": "core/reusable/atomic-vector",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "atomic vector schema",
5
+ "allOf": [
6
+ {
7
+ "$ref": "../primitive/object_with_id_and_value.json"
8
+ }
9
+ ],
10
+ "properties": {
11
+ "value": {
12
+ "$ref": "../abstract/vector_3d.json"
13
+ }
14
+ }
15
+ }
@@ -3,17 +3,7 @@
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "atomic vectors schema",
5
5
  "type": "array",
6
- "allOf": [
7
- {
8
- "$ref": "../primitive/array_of_ids.json"
9
- }
10
- ],
11
6
  "items": {
12
- "type": "object",
13
- "properties": {
14
- "value": {
15
- "$ref": "../abstract/vector.json"
16
- }
17
- }
7
+ "$ref": "./atomic_vector.json"
18
8
  }
19
9
  }
@@ -11,11 +11,11 @@
11
11
  "properties": {
12
12
  "kpointConduction": {
13
13
  "description": "kpoint inside conduction band in crystal coordinates",
14
- "$ref": "../abstract/point.json"
14
+ "$ref": "../reusable/kpoint.json"
15
15
  },
16
16
  "kpointValence": {
17
17
  "description": "kpoint inside valence band in crystal coordinates",
18
- "$ref": "../abstract/point.json"
18
+ "$ref": "../reusable/kpoint.json"
19
19
  },
20
20
  "eigenvalueConduction": {
21
21
  "description": "eigenvalue at k-point in conduction band",
@@ -0,0 +1,11 @@
1
+ {
2
+ "$id": "core/abstract/kpoint",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "kpoint schema",
5
+ "description": "A k-point is a point in reciprocal space of a crystal.",
6
+ "allOf": [
7
+ {
8
+ "$ref": "../abstract/coordinate_3d.json"
9
+ }
10
+ ]
11
+ }
@@ -22,7 +22,7 @@
22
22
  "type": "object",
23
23
  "properties": {
24
24
  "kpoint": {
25
- "$ref": "../../core/abstract/point.json"
25
+ "$ref": "../../core/reusable/kpoint.json"
26
26
  },
27
27
  "weight": {
28
28
  "type": "number"
@@ -5,7 +5,7 @@
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "value": {
8
- "$ref": "../../core/abstract/3d_tensor.json"
8
+ "$ref": "../../core/abstract/matrix_3x3.json"
9
9
  },
10
10
  "name": {
11
11
  "enum": [
@@ -0,0 +1,17 @@
1
+ {
2
+ "$id": "properties-directory/structural/basis/atomic-constraint",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "atomic constraint schema",
5
+ "description": "constraint of atoms by ids, used to constraint the position etc.",
6
+ "type": "object",
7
+ "allOf": [
8
+ {
9
+ "$ref": "../../../core/primitive/object_with_id_and_value.json"
10
+ }
11
+ ],
12
+ "properties": {
13
+ "value": {
14
+ "$ref": "../../../core/abstract/vector_boolean_3d.json"
15
+ }
16
+ }
17
+ }
@@ -1,17 +1,10 @@
1
1
  {
2
2
  "$id": "properties-directory/structural/basis/atomic-constraints",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "atomic constraints",
4
+ "title": "atomic constraints schema",
5
5
  "description": "atomic constraints schema",
6
- "type": "object",
7
- "properties": {
8
- "name": {
9
- "enum": [
10
- "atomic_constraints"
11
- ]
12
- },
13
- "values": {
14
- "$ref": "../../../core/reusable/atomic_vectors.json"
15
- }
6
+ "type": "array",
7
+ "items": {
8
+ "$ref": "./atomic_constraint.json"
16
9
  }
17
10
  }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$id": "properties-directory/structural/basis/atomic-constraints-property",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "atomic constraints property schema",
5
+ "description": "atomic constraints property schema (as stored in a database)",
6
+ "type": "object",
7
+ "properties": {
8
+ "name": {
9
+ "enum": [
10
+ "atomic_constraints"
11
+ ]
12
+ },
13
+ "values": {
14
+ "$ref": "./atomic_constraints.json"
15
+ }
16
+ }
17
+ }
@@ -1,15 +1,17 @@
1
1
  {
2
2
  "$id": "properties-directory/structural/basis/atomic-coordinate",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "atomic coordinate",
5
- "description": "coordinates of atoms by ids, vector, unitless",
4
+ "title": "atomic coordinate schema",
5
+ "description": "coordinate of an atom",
6
6
  "type": "object",
7
+ "allOf": [
8
+ {
9
+ "$ref": "../../../core/primitive/object_with_id_and_value.json"
10
+ }
11
+ ],
7
12
  "properties": {
8
- "id": {
9
- "type": "number"
10
- },
11
13
  "value": {
12
- "$ref": "../../../core/abstract/vector.json"
14
+ "$ref": "../../../core/abstract/coordinate_3d.json"
13
15
  }
14
16
  }
15
17
  }
@@ -1,22 +1,10 @@
1
1
  {
2
2
  "$id": "properties-directory/structural/basis/atomic-coordinates",
3
- "title": "atomic coordinates",
4
- "description": "coordinates of atoms by ids, vector, unitless",
5
- "type": "object",
6
- "properties": {
7
- "name": {
8
- "enum": [
9
- "atomic_coordinates"
10
- ]
11
- },
12
- "values": {
13
- "type": "array",
14
- "items": {
15
- "$ref": "atomic_coordinate.json"
16
- }
17
- },
18
- "units": {
19
- "$ref": "../../../definitions/units.json#/length"
20
- }
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "atomic coordinates schema",
5
+ "description": "atomic coordinates schema",
6
+ "type": "array",
7
+ "items": {
8
+ "$ref": "./atomic_coordinate.json"
21
9
  }
22
10
  }
@@ -1,26 +1,11 @@
1
1
  {
2
2
  "$id": "properties-directory/structural/basis/atomic-element",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "atomic elements",
5
- "description": "elements of atoms by ids, string, unitless",
6
- "type": "object",
7
- "properties": {
8
- "id": {
9
- "type": "number"
10
- },
11
- "value": {
12
- "type": "string"
13
- },
14
- "occurrence": {
15
- "description": "Occurrence is for fractional occupations",
16
- "type": "number"
17
- },
18
- "oxidationState": {
19
- "type": "number"
4
+ "title": "atomic element schema",
5
+ "description": "chemical element of an atom according to the periodic table",
6
+ "allOf": [
7
+ {
8
+ "$ref": "../../../core/reusable/atomic_string.json"
20
9
  }
21
- },
22
- "required": [
23
- "id",
24
- "value"
25
10
  ]
26
11
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "$id": "properties-directory/structural/basis/atomic-elements",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "atomic elements schema",
5
+ "description": "atomic elements schema",
6
+ "type": "array",
7
+ "items": {
8
+ "$ref": "./atomic_element.json"
9
+ }
10
+ }