@mat3ra/esse 2025.4.15-0 → 2025.4.22-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 -103
  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 +18 -50
  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 -51
  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 +376 -263
  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
@@ -26,75 +26,67 @@
26
26
  ],
27
27
  "properties": {
28
28
  "elements": {
29
+ "$schema": "http://json-schema.org/draft-07/schema#",
30
+ "title": "atomic elements schema",
31
+ "description": "atomic elements schema",
29
32
  "type": "array",
30
33
  "items": {
31
34
  "$schema": "http://json-schema.org/draft-07/schema#",
32
- "title": "atomic elements",
33
- "description": "elements of atoms by ids, string, unitless",
35
+ "title": "atomic element schema",
36
+ "description": "chemical element of an atom according to the periodic table",
34
37
  "type": "object",
35
38
  "required": [
36
39
  "id",
37
40
  "value"
38
41
  ],
39
42
  "properties": {
40
- "id": {
41
- "type": "number"
42
- },
43
43
  "value": {
44
- "type": "string"
45
- },
46
- "occurrence": {
47
- "description": "Occurrence is for fractional occupations",
48
- "type": "number"
44
+ "type": "string",
45
+ "description": "value of this entry"
49
46
  },
50
- "oxidationState": {
51
- "type": "number"
47
+ "id": {
48
+ "description": "integer id of this entry",
49
+ "type": "integer"
52
50
  }
53
51
  }
54
52
  }
55
53
  },
56
54
  "coordinates": {
55
+ "$schema": "http://json-schema.org/draft-07/schema#",
56
+ "title": "atomic coordinates schema",
57
+ "description": "atomic coordinates schema",
57
58
  "type": "array",
58
59
  "items": {
59
60
  "$schema": "http://json-schema.org/draft-07/schema#",
60
- "title": "atomic coordinate",
61
- "description": "coordinates of atoms by ids, vector, unitless",
61
+ "title": "atomic coordinate schema",
62
+ "description": "coordinate of an atom",
62
63
  "type": "object",
64
+ "required": [
65
+ "id",
66
+ "value"
67
+ ],
63
68
  "properties": {
64
- "id": {
65
- "type": "number"
66
- },
67
69
  "value": {
68
70
  "$schema": "http://json-schema.org/draft-07/schema#",
69
- "title": "vector schema",
70
- "oneOf": [
71
- {
72
- "$schema": "http://json-schema.org/draft-07/schema#",
73
- "title": "array of 3 number elements schema",
74
- "type": "array",
75
- "items": {
76
- "type": "number"
77
- },
78
- "minItems": 3,
79
- "maxItems": 3
80
- },
81
- {
82
- "$schema": "http://json-schema.org/draft-07/schema#",
83
- "title": "array of 3 boolean elements schema",
84
- "type": "array",
85
- "items": {
86
- "type": "boolean"
87
- },
88
- "minItems": 3,
89
- "maxItems": 3
90
- }
91
- ]
71
+ "title": "coordinate 3d schema",
72
+ "type": "array",
73
+ "minItems": 3,
74
+ "maxItems": 3,
75
+ "description": "value of this entry",
76
+ "items": {
77
+ "type": "number"
78
+ }
79
+ },
80
+ "id": {
81
+ "description": "integer id of this entry",
82
+ "type": "integer"
92
83
  }
93
84
  }
94
85
  }
95
86
  },
96
87
  "units": {
97
- "type": "string",
88
+ "$schema": "http://json-schema.org/draft-07/schema#",
89
+ "title": "basis units enum",
98
90
  "enum": [
99
91
  "crystal",
100
92
  "cartesian"
@@ -102,23 +94,42 @@
102
94
  "default": "crystal"
103
95
  },
104
96
  "labels": {
97
+ "$schema": "http://json-schema.org/draft-07/schema#",
98
+ "title": "atomic labels schema",
99
+ "description": "atomic labels schema",
105
100
  "type": "array",
106
- "default": [],
107
101
  "items": {
108
102
  "$schema": "http://json-schema.org/draft-07/schema#",
109
- "title": "atomic label",
110
- "description": "Optional numeric label (e.g., 1, 2, as in Fe1, Fe2) to distinguish same atomic species to attach different spin magnetic moment.",
103
+ "title": "atomic label schema",
104
+ "description": "Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.",
111
105
  "type": "object",
106
+ "required": [
107
+ "id",
108
+ "value"
109
+ ],
112
110
  "properties": {
113
- "id": {
114
- "type": "number"
115
- },
116
111
  "value": {
117
- "$schema": "http://json-schema.org/draft-07/schema#",
118
- "title": "integer positive single digit",
119
- "type": "integer",
120
- "minimum": 1,
121
- "maximum": 9
112
+ "anyOf": [
113
+ {
114
+ "type": [
115
+ "integer",
116
+ "string",
117
+ "number"
118
+ ]
119
+ },
120
+ {
121
+ "$schema": "http://json-schema.org/draft-07/schema#",
122
+ "title": "integer positive single digit",
123
+ "type": "integer",
124
+ "minimum": 1,
125
+ "maximum": 9
126
+ }
127
+ ],
128
+ "description": "value of this entry"
129
+ },
130
+ "id": {
131
+ "description": "integer id of this entry",
132
+ "type": "integer"
122
133
  }
123
134
  }
124
135
  }
@@ -131,17 +142,40 @@
131
142
  "type": "object",
132
143
  "required": [
133
144
  "a",
134
- "alpha",
135
145
  "b",
136
- "beta",
137
146
  "c",
138
- "gamma",
139
- "type"
147
+ "alpha",
148
+ "beta",
149
+ "gamma"
140
150
  ],
141
151
  "properties": {
152
+ "a": {
153
+ "description": "length of the first lattice vector",
154
+ "type": "number"
155
+ },
156
+ "b": {
157
+ "description": "length of the second lattice vector",
158
+ "type": "number"
159
+ },
160
+ "c": {
161
+ "description": "length of the third lattice vector",
162
+ "type": "number"
163
+ },
164
+ "alpha": {
165
+ "description": "angle between first and second lattice vector",
166
+ "type": "number"
167
+ },
168
+ "beta": {
169
+ "description": "angle between second and third lattice vector",
170
+ "type": "number"
171
+ },
172
+ "gamma": {
173
+ "description": "angle between first and third lattice vector",
174
+ "type": "number"
175
+ },
142
176
  "vectors": {
143
177
  "$schema": "http://json-schema.org/draft-07/schema#",
144
- "title": "lattice explicit unit",
178
+ "title": "lattice vectors schema",
145
179
  "type": "object",
146
180
  "required": [
147
181
  "a",
@@ -149,28 +183,9 @@
149
183
  "c"
150
184
  ],
151
185
  "properties": {
152
- "alat": {
153
- "description": "lattice parameter for fractional coordinates",
154
- "type": "number",
155
- "default": 1
156
- },
157
- "units": {
158
- "enum": [
159
- "km",
160
- "m",
161
- "cm",
162
- "mm",
163
- "um",
164
- "nm",
165
- "angstrom",
166
- "a.u.",
167
- "bohr",
168
- "pm"
169
- ]
170
- },
171
186
  "a": {
172
187
  "$schema": "http://json-schema.org/draft-07/schema#",
173
- "title": "array of 3 number elements schema",
188
+ "title": "vector 3d schema",
174
189
  "type": "array",
175
190
  "minItems": 3,
176
191
  "maxItems": 3,
@@ -180,7 +195,7 @@
180
195
  },
181
196
  "b": {
182
197
  "$schema": "http://json-schema.org/draft-07/schema#",
183
- "title": "array of 3 number elements schema",
198
+ "title": "vector 3d schema",
184
199
  "type": "array",
185
200
  "minItems": 3,
186
201
  "maxItems": 3,
@@ -190,13 +205,27 @@
190
205
  },
191
206
  "c": {
192
207
  "$schema": "http://json-schema.org/draft-07/schema#",
193
- "title": "array of 3 number elements schema",
208
+ "title": "vector 3d schema",
194
209
  "type": "array",
195
210
  "minItems": 3,
196
211
  "maxItems": 3,
197
212
  "items": {
198
213
  "type": "number"
199
214
  }
215
+ },
216
+ "alat": {
217
+ "description": "lattice parameter for fractional coordinates",
218
+ "type": "number",
219
+ "default": 1
220
+ },
221
+ "units": {
222
+ "$schema": "http://json-schema.org/draft-07/schema#",
223
+ "title": "lattice vectors units enum",
224
+ "enum": [
225
+ "angstrom",
226
+ "bohr"
227
+ ],
228
+ "default": "angstrom"
200
229
  }
201
230
  }
202
231
  },
@@ -223,6 +252,7 @@
223
252
  "default": "TRI"
224
253
  },
225
254
  "units": {
255
+ "$schema": "http://json-schema.org/draft-07/schema#",
226
256
  "title": "Lattice units schema",
227
257
  "type": "object",
228
258
  "default": {
@@ -231,6 +261,8 @@
231
261
  },
232
262
  "properties": {
233
263
  "length": {
264
+ "$schema": "http://json-schema.org/draft-07/schema#",
265
+ "title": "lattice units length enum",
234
266
  "enum": [
235
267
  "angstrom",
236
268
  "bohr"
@@ -238,6 +270,8 @@
238
270
  "default": "angstrom"
239
271
  },
240
272
  "angle": {
273
+ "$schema": "http://json-schema.org/draft-07/schema#",
274
+ "title": "lattice units angle enum",
241
275
  "enum": [
242
276
  "degree",
243
277
  "radian"
@@ -245,30 +279,6 @@
245
279
  "default": "degree"
246
280
  }
247
281
  }
248
- },
249
- "a": {
250
- "description": "length of the first lattice vector",
251
- "type": "number"
252
- },
253
- "b": {
254
- "description": "length of the second lattice vector",
255
- "type": "number"
256
- },
257
- "c": {
258
- "description": "length of the third lattice vector",
259
- "type": "number"
260
- },
261
- "alpha": {
262
- "description": "angle between first and second lattice vector",
263
- "type": "number"
264
- },
265
- "beta": {
266
- "description": "angle between second and third lattice vector",
267
- "type": "number"
268
- },
269
- "gamma": {
270
- "description": "angle between first and third lattice vector",
271
- "type": "number"
272
282
  }
273
283
  }
274
284
  },
@@ -26,7 +26,8 @@
26
26
  "properties": {
27
27
  "kpointConduction": {
28
28
  "$schema": "http://json-schema.org/draft-07/schema#",
29
- "title": "point schema",
29
+ "title": "kpoint schema",
30
+ "description": "A k-point is a point in reciprocal space of a crystal.",
30
31
  "type": "array",
31
32
  "minItems": 3,
32
33
  "maxItems": 3,
@@ -36,7 +37,8 @@
36
37
  },
37
38
  "kpointValence": {
38
39
  "$schema": "http://json-schema.org/draft-07/schema#",
39
- "title": "point schema",
40
+ "title": "kpoint schema",
41
+ "description": "A k-point is a point in reciprocal space of a crystal.",
40
42
  "type": "array",
41
43
  "minItems": 3,
42
44
  "maxItems": 3,
@@ -86,7 +88,8 @@
86
88
  "properties": {
87
89
  "kpoint": {
88
90
  "$schema": "http://json-schema.org/draft-07/schema#",
89
- "title": "point schema",
91
+ "title": "kpoint schema",
92
+ "description": "A k-point is a point in reciprocal space of a crystal.",
90
93
  "type": "array",
91
94
  "minItems": 3,
92
95
  "maxItems": 3,
@@ -6,7 +6,7 @@
6
6
  "properties": {
7
7
  "value": {
8
8
  "$schema": "http://json-schema.org/draft-07/schema#",
9
- "title": "3 dimensional tensor schema",
9
+ "title": "matrix 3x3 schema",
10
10
  "type": "array",
11
11
  "minItems": 3,
12
12
  "maxItems": 3,
@@ -14,35 +14,26 @@
14
14
  "$schema": "http://json-schema.org/draft-07/schema#",
15
15
  "title": "atomic vectors schema",
16
16
  "type": "array",
17
- "description": "array of objects containing integer id each",
18
17
  "items": {
18
+ "$schema": "http://json-schema.org/draft-07/schema#",
19
+ "title": "atomic vector schema",
20
+ "description": "object containing integer id and value each",
19
21
  "type": "object",
22
+ "required": [
23
+ "id",
24
+ "value"
25
+ ],
20
26
  "properties": {
21
27
  "value": {
22
28
  "$schema": "http://json-schema.org/draft-07/schema#",
23
- "title": "vector schema",
24
- "oneOf": [
25
- {
26
- "$schema": "http://json-schema.org/draft-07/schema#",
27
- "title": "array of 3 number elements schema",
28
- "type": "array",
29
- "items": {
30
- "type": "number"
31
- },
32
- "minItems": 3,
33
- "maxItems": 3
34
- },
35
- {
36
- "$schema": "http://json-schema.org/draft-07/schema#",
37
- "title": "array of 3 boolean elements schema",
38
- "type": "array",
39
- "items": {
40
- "type": "boolean"
41
- },
42
- "minItems": 3,
43
- "maxItems": 3
44
- }
45
- ]
29
+ "title": "vector 3d schema",
30
+ "type": "array",
31
+ "minItems": 3,
32
+ "maxItems": 3,
33
+ "description": "value of this entry",
34
+ "items": {
35
+ "type": "number"
36
+ }
46
37
  },
47
38
  "id": {
48
39
  "description": "integer id of this entry",
@@ -0,0 +1,34 @@
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
+ "required": [
8
+ "id",
9
+ "value"
10
+ ],
11
+ "properties": {
12
+ "value": {
13
+ "$schema": "http://json-schema.org/draft-07/schema#",
14
+ "title": "vector boolean 3d schema",
15
+ "oneOf": [
16
+ {
17
+ "$schema": "http://json-schema.org/draft-07/schema#",
18
+ "title": "array of 3 boolean elements schema",
19
+ "type": "array",
20
+ "items": {
21
+ "type": "boolean"
22
+ },
23
+ "minItems": 3,
24
+ "maxItems": 3
25
+ }
26
+ ],
27
+ "description": "value of this entry"
28
+ },
29
+ "id": {
30
+ "description": "integer id of this entry",
31
+ "type": "integer"
32
+ }
33
+ }
34
+ }
@@ -1,54 +1,39 @@
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
- "$schema": "http://json-schema.org/draft-07/schema#",
15
- "title": "atomic vectors schema",
16
- "type": "array",
17
- "description": "array of objects containing integer id each",
18
- "items": {
19
- "type": "object",
20
- "properties": {
21
- "value": {
6
+ "type": "array",
7
+ "items": {
8
+ "$schema": "http://json-schema.org/draft-07/schema#",
9
+ "title": "atomic constraint schema",
10
+ "description": "constraint of atoms by ids, used to constraint the position etc.",
11
+ "type": "object",
12
+ "required": [
13
+ "id",
14
+ "value"
15
+ ],
16
+ "properties": {
17
+ "value": {
18
+ "$schema": "http://json-schema.org/draft-07/schema#",
19
+ "title": "vector boolean 3d schema",
20
+ "oneOf": [
21
+ {
22
22
  "$schema": "http://json-schema.org/draft-07/schema#",
23
- "title": "vector schema",
24
- "oneOf": [
25
- {
26
- "$schema": "http://json-schema.org/draft-07/schema#",
27
- "title": "array of 3 number elements schema",
28
- "type": "array",
29
- "items": {
30
- "type": "number"
31
- },
32
- "minItems": 3,
33
- "maxItems": 3
34
- },
35
- {
36
- "$schema": "http://json-schema.org/draft-07/schema#",
37
- "title": "array of 3 boolean elements schema",
38
- "type": "array",
39
- "items": {
40
- "type": "boolean"
41
- },
42
- "minItems": 3,
43
- "maxItems": 3
44
- }
45
- ]
46
- },
47
- "id": {
48
- "description": "integer id of this entry",
49
- "type": "integer"
23
+ "title": "array of 3 boolean elements schema",
24
+ "type": "array",
25
+ "items": {
26
+ "type": "boolean"
27
+ },
28
+ "minItems": 3,
29
+ "maxItems": 3
50
30
  }
51
- }
31
+ ],
32
+ "description": "value of this entry"
33
+ },
34
+ "id": {
35
+ "description": "integer id of this entry",
36
+ "type": "integer"
52
37
  }
53
38
  }
54
39
  }
@@ -0,0 +1,53 @@
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
+ "$schema": "http://json-schema.org/draft-07/schema#",
15
+ "title": "atomic constraints schema",
16
+ "description": "atomic constraints schema",
17
+ "type": "array",
18
+ "items": {
19
+ "$schema": "http://json-schema.org/draft-07/schema#",
20
+ "title": "atomic constraint schema",
21
+ "description": "constraint of atoms by ids, used to constraint the position etc.",
22
+ "type": "object",
23
+ "required": [
24
+ "id",
25
+ "value"
26
+ ],
27
+ "properties": {
28
+ "value": {
29
+ "$schema": "http://json-schema.org/draft-07/schema#",
30
+ "title": "vector boolean 3d schema",
31
+ "oneOf": [
32
+ {
33
+ "$schema": "http://json-schema.org/draft-07/schema#",
34
+ "title": "array of 3 boolean elements schema",
35
+ "type": "array",
36
+ "items": {
37
+ "type": "boolean"
38
+ },
39
+ "minItems": 3,
40
+ "maxItems": 3
41
+ }
42
+ ],
43
+ "description": "value of this entry"
44
+ },
45
+ "id": {
46
+ "description": "integer id of this entry",
47
+ "type": "integer"
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }