meta.meta_dictionary.json 19.4 KB
Newer Older
1
{
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  "metadict_name":"meta",
  "metadict_description":"dictionary describing the meta info itself",
  "metadict_version":"2.0.0",
  "metadict_require":[],
  "meta_info_entry":[{
    "meta_name":"meta_abstract_types",
    "meta_type":"type-value",
    "meta_description":[
      "A list of all Meta Info of type *type-abstract* of this ",
      "value"],
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"string",
    "meta_repeats":true
  },{
    "meta_name":"meta_chosen_key",
    "meta_type":"type-value",
    "meta_description":[
      "The meta_name of a *type-value* (that should be with meta_data_type = *string*) ",
      "that can be used as main unique key for the sections contained in a ",
      "meta_parent_section."],
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"string"
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
  },{
    "meta_name":"meta_constraint",
    "meta_type":"type-section",
    "meta_description":[
      "A constraint on the values corresponding to the section that defines ",
      "it."],
    "meta_parent_section":"meta_info_entry",
    "meta_repeats":true,
    "meta_context_identifier":[]
  },{
    "meta_name":"meta_constraint_description",
    "meta_type":"type-value",
    "meta_description":"Description of the constraint.",
    "meta_parent_section":"meta_constraint",
    "meta_data_type":"string"
  },{
    "meta_name":"meta_constraint_expected_meta_info",
    "meta_type":"type-value",
    "meta_description":[
      "Either a meta_name or a '!' and a meta_name.If the meta_info_entry ",
      "corresponding to it has meta_type type-value or type-section then the ",
      "corrsponding value must be either present or absent. type-abstract are ",
      "evaluated all together at the end. The type-value and type-section ",
      "meta_info_entry that are not already given explicitly in other ",
      "meta_constraint_expected_meta_info that have all the type-abstract in ",
      "meta_abstract_types or in their parents (through meta_abstract_types) must be ",
      "present, whereas those that have all the '!' type-abstract must be ",
      "absent."],
    "meta_parent_section":"meta_constraint",
    "meta_data_type":"string",
    "meta_repeats":true
  },{
    "meta_name":"meta_constraint_name",
    "meta_type":"type-value",
    "meta_description":[
      "A name for the constraint (should be unique within ",
      "meta_parent_section)."],
    "meta_parent_section":"meta_constraint",
    "meta_data_type":"string"
  },{
    "meta_name":"meta_constraint_required_query",
    "meta_type":"type-value",
    "meta_description":[
      "This query if given must be true for all selected ",
      "values"],
    "meta_parent_section":"meta_constraint",
    "meta_data_type":"string"
  },{
    "meta_name":"meta_constraint_select_query",
    "meta_type":"type-value",
    "meta_description":[
      "Query that must be true for the values that have to satisfy this constraint. ",
      "Typically this is for example a field having a given ",
      "value."],
    "meta_parent_section":"meta_constraint",
    "meta_data_type":"string"
80
81
82
83
  },{
    "meta_name":"meta_context_identifier",
    "meta_type":"type-value",
    "meta_description":[
84
85
86
87
      "The value should be the meta_name of a value (meta_info_entry with meta_type = ",
      "*type-value*) contained in this meta_info_entry. I.e. its meta_parent_section ",
      "should be equal to the meta_name of the current meta_info_entry (which should ",
      "be of *type-section*).That value should uniquely and globally identifies every ",
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
      "section value, even if one does not know the type of the current section. In ",
      "NOMAD we always used the a gid for this purpose."],
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"string",
    "meta_repeats":true
  },{
    "meta_name":"meta_data_type",
    "meta_type":"type-value",
    "meta_description":[
      "The basic type of the data corresponding to this meta_info_entry.\n",
      "Formally also *binary* and *json* could be used, but they were avoided until ",
      "now because opaque, and more difficult to ",
      "document."],
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"string",
    "meta_enum":[{
      "meta_enum_value":"int",
      "meta_enum_description":"A 32 bit signed integer (equivalent to int32)"
    },{
      "meta_enum_value":"int32",
      "meta_enum_description":"A 32 bit signed integer"
    },{
      "meta_enum_value":"int64",
      "meta_enum_description":"A 64 bit signed integer"
    },{
      "meta_enum_value":"reference",
      "meta_enum_description":[
        "An internal reference. This contains the index of the referenced ",
        "meta_referenced_sections. For references to other documents a string with a ",
        "nomad uri should be used."]
    },{
      "meta_enum_value":"float32",
      "meta_enum_description":[
        "A single precision (32 bit) floating point ",
        "value"]
    },{
      "meta_enum_value":"float",
      "meta_enum_description":[
        "A double precision (64 bit) floating point value (equivalent to ",
        "float64)"]
    },{
      "meta_enum_value":"float64",
      "meta_enum_description":[
        "A double precision (64 bit) floating point ",
        "value"]
    },{
      "meta_enum_value":"boolean",
      "meta_enum_description":"A boolean value (true or false)"
    },{
      "meta_enum_value":"json",
138
139
140
      "meta_enum_description":[
        "A json value. Its use is discouraged, as it does lead to inferior documentation ",
        "compared to using the meta info directly."]
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
    },{
      "meta_enum_value":"string",
      "meta_enum_description":"A string of unicode characters"
    }]
  },{
    "meta_name":"meta_description",
    "meta_type":"type-value",
    "meta_description":[
      "Contains a text meant for the users of the meta info, using [mark down ",
      "format](https://daringfireball.net/markdown) with the following extensions:\n",
      "  * \\$ is used to introduce mathematical notation using the latex format,\n",
      " * names containing an ``\\_'' are assumed to refer to other meta ",
      "info."],
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"string"
  },{
    "meta_name":"meta_dictionary",
    "meta_type":"type-section",
    "meta_description":[
      "A dictionary collection some meta_info_entry entries, their dependencies.\n",
      "The dictionary is versioned using semantic ",
      "versioning."],
    "meta_repeats":true,
    "meta_context_identifier":[]
  },{
    "meta_name":"meta_dimension",
    "meta_type":"type-section",
    "meta_description":[
      "The shape of the multidimensional array used to store the data corrsponding to ",
      "this meta info, either meta_dimension_fixed or meta_dimension_symbolic.\n",
      "Example: [{ ``meta_dimension_symbolic'': ``number_of_atoms''}, ",
      "{``meta_dimension_fixed'': 3 }].\n",
      "If no meta_dimension are given the data is a ",
      "scalar."],
    "meta_parent_section":"meta_info_entry",
    "meta_repeats":true,
    "meta_context_identifier":[]
  },{
    "meta_name":"meta_dimension_fixed",
    "meta_type":"type-value",
    "meta_description":"A fixed dimension of exactly the given size.",
    "meta_parent_section":"meta_dimension",
    "meta_data_type":"int64"
  },{
    "meta_name":"meta_dimension_symbolic",
    "meta_type":"type-value",
    "meta_description":[
      "A symbolic (variable) dimension, contains the name of a meta_info_entry with ",
      "meta_type *type-dimension* that represents this ",
      "dimension."],
    "meta_parent_section":"meta_dimension",
    "meta_data_type":"string"
  },{
    "meta_name":"meta_enum",
    "meta_type":"type-section",
    "meta_description":[
      "Describes each of the possible values of an enumeration ",
      "meta_info_entry"],
    "meta_parent_section":"meta_info_entry",
    "meta_repeats":true,
    "meta_context_identifier":[]
  },{
    "meta_name":"meta_enum_description",
    "meta_type":"type-value",
    "meta_description":"The description of the meaning of the meta_enum_value.",
    "meta_parent_section":"meta_enum",
207
    "meta_data_type":"string"
208
209
210
211
212
213
214
  },{
    "meta_name":"meta_enum_from",
    "meta_type":"type-value",
    "meta_description":[
      "The meta_name of a meta_info_entry from which to take the meta_enum to easily ",
      "share enumeration values across several meta_info_entry"],
    "meta_parent_section":"meta_info_entry",
215
    "meta_data_type":"string"
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
  },{
    "meta_name":"meta_enum_value",
    "meta_type":"type-value",
    "meta_description":"One of the possible values of an enumeration.",
    "meta_parent_section":"meta_enum",
    "meta_data_type":"string"
  },{
    "meta_name":"meta_info_entry",
    "meta_type":"type-section",
    "meta_description":[
      "A dictionary collection some meta_info_entry entries, their dependencies.\n",
      "The dictionary is versioned using sematic ",
      "versioning."],
    "meta_parent_section":"meta_dictionary",
    "meta_repeats":true,
    "meta_context_identifier":[],
    "meta_chosen_key":"meta_name"
  },{
    "meta_name":"meta_inject_if_abstract_type",
    "meta_type":"type-value",
    "meta_description":[
      "Either the name of an abstract type that is required by all sections this is ",
      "injected in, or '!' and the name of an abstract type that should not be parent ",
      "of any of the sections that this section should be injected in. This further ",
      "refines the selection done by meta_inject_if_section_regexp"],
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"string",
    "meta_repeats":true
  },{
    "meta_name":"meta_inject_if_section_regexp",
    "meta_type":"type-value",
    "meta_description":[
      "A regular expression (or meta name) that the sections this is injected in need ",
      "to satisfy. Can be defined only in top level sections.\n",
      "Together with meta_inject_if_abstract_type it can be used to define the sections ",
      "in which all the values and sections contained in this section are added ",
      "(injected).\n",
      "If empty this is injected in *no* section."],
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"string",
    "meta_repeats":true
  },{
    "meta_name":"meta_name",
    "meta_type":"type-value",
    "meta_description":[
      "This is one of the most important properties of a Meta Info as it is used to ",
      "identify it.\n",
      "Only lowercase roman letters, numbers and underscore are allowed.\n",
      "The prefixes t\\_, u\\_, \\_, x\\_ are reserved for temporary, user defined, non ",
      "standard, and code specific Meta Info respectively.\n",
      "Explicit names are preferred to abbreviations, and the name should always ",
      "contain at least an `\\_'.\n",
      "The name can uniquely identify the meta_info_entry in a meta_dictionary or in ",
      "its context section."],
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"string"
  },{
    "meta_name":"meta_parent_section",
    "meta_type":"type-value",
    "meta_description":[
      "The name of the meta_info_entry with meta_type *type-section*. It is required, ",
      "for *type-value* and optional for type-section. It is what structures the ",
      "data."],
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"string"
  },{
    "meta_name":"meta_query_enum",
    "meta_type":"type-section",
    "meta_description":[
      "Describes possible values that can be used to query this field, but are not ",
      "really stored in it."],
    "meta_parent_section":"meta_info_entry",
    "meta_repeats":true,
    "meta_context_identifier":[],
    "meta_chosen_key":"meta_query_value"
  },{
    "meta_name":"meta_query_expansion",
    "meta_type":"type-value",
    "meta_description":"The query this entry is equivalent to.",
    "meta_parent_section":"meta_query_enum",
    "meta_data_type":"string"
  },{
    "meta_name":"meta_query_regex",
    "meta_type":"type-value",
    "meta_description":[
      "a regular expression to use instead of the meta_query_values to identify this ",
      "entry"],
    "meta_parent_section":"meta_query_enum",
    "meta_data_type":"string"
  },{
    "meta_name":"meta_query_values",
    "meta_type":"type-value",
    "meta_description":[
      "The equivalent values that can be sugested for ",
      "autocompletion"],
    "meta_parent_section":"meta_query_enum",
    "meta_data_type":"string",
    "meta_repeats":true
  },{
    "meta_name":"meta_range_expected",
    "meta_type":"type-section",
    "meta_description":[
      "Gives the expected range for the values corresponding to this ",
      "meta_info_entry"],
    "meta_parent_section":"meta_info_entry",
    "meta_repeats":true,
    "meta_context_identifier":[]
  },{
    "meta_name":"meta_range_kind",
    "meta_type":"type-value",
    "meta_description":"Defines the quantity the range is about.",
    "meta_parent_section":"meta_range_expected",
    "meta_data_type":"string",
    "meta_enum":[{
      "meta_enum_value":"value",
      "meta_enum_description":[
        "The range is for the scalar value (or every component for ",
        "arrays)"]
    },{
      "meta_enum_value":"abs-value",
      "meta_enum_description":[
        "The range is for the absolute value of the scalar value (or every component for ",
        "arrays)"]
    },{
      "meta_enum_value":"norm2",
      "meta_enum_description":[
        "The range is for the euclidean norm of the ",
        "value"]
344
345
346
347
348
349
350
351
    },{
      "meta_enum_value":"utf8-length",
      "meta_enum_description":[
        "The length of the string value using utf-8 encoding"]
    },{
      "meta_enum_value":"repetitions",
      "meta_enum_description":[
        "The number of repetitions for a repeating value"]
352
353
354
355
356
357
    }]
  },{
    "meta_name":"meta_range_maximum",
    "meta_type":"type-value",
    "meta_description":"The maximum expected value",
    "meta_parent_section":"meta_range_expected",
358
    "meta_data_type":"float"
359
360
361
362
363
364
365
366
367
368
369
370
371
  },{
    "meta_name":"meta_range_minimum",
    "meta_type":"type-value",
    "meta_description":"The minimum expected value",
    "meta_parent_section":"meta_range_expected",
    "meta_data_type":"float"
  },{
    "meta_name":"meta_range_units",
    "meta_type":"type-value",
    "meta_description":"The units used for the range",
    "meta_parent_section":"meta_range_expected",
    "meta_data_type":"string"
  },{
372
    "meta_name":"meta_referenced_section",
373
374
    "meta_type":"type-value",
    "meta_description":[
375
376
      "If the datatype is a reference this attribute must give the name of the ",
      "sections that is referenced."],
377
    "meta_parent_section":"meta_info_entry",
378
    "meta_data_type":"string"
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
  },{
    "meta_name":"meta_repeats",
    "meta_type":"type-value",
    "meta_description":[
      "If the value (section) can be repeated several times within a ",
      "meta_parent_section.\n",
      "The default is true for *type-section* and false for ",
      "*type-value*."],
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"boolean"
  },{
    "meta_name":"meta_required",
    "meta_type":"type-value",
    "meta_description":[
      "If each meta_parent_section requires at least a value of this type.\n",
      "Defaults to false."],
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"boolean"
  },{
    "meta_name":"meta_type",
    "meta_type":"type-value",
    "meta_description":"Defines the type of meta_info_entry",
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"string",
    "meta_enum":[{
      "meta_enum_value":"type-value",
      "meta_enum_description":[
        "A concrete data value. For example the meta info program_name has this ",
        "meta_type. Conceptually meta info of this type corresponds to a column in a ",
        "relational database.\n",
        "This is the default type if not specified."]
    },{
      "meta_enum_value":"type-section",
      "meta_enum_description":[
        "A section, this is a bit like a class in object oriented programming, or table ",
        "in a relational database.\n",
        "There might be many objects (rows) corresponding to this.\n",
        "Sections structure the data by grouping together the values contained in them, ",
        "and their subsections."]
    },{
      "meta_enum_value":"type-dimension",
      "meta_enum_description":[
        "Represents a ``symbolic'' dimension, its name should begin with number\\_of\\_.\n",
        "The dimension does not need to be explicitly stored anywhere, but can be ",
        "extracted form the shape of a value that uses ",
        "it."]
    },{
      "meta_enum_value":"type-abstract",
      "meta_enum_description":[
        "An abstract type is used only to classify meta_info_entry.\n",
        "Abstract types have no influence on how the data is stored, that is defined ",
        "exclusively by sections and values, but have two important functions: Help ",
        "describing values or sections (augmenting the textual description), and enable ",
        "simpler or automatic handling of conceptually related quantities.\n",
        "For instance all energies can have the abstract type energy_type, and all ",
        "parameters that influence the computation of the xc functional have the ",
        "abstract type settings_xc. This way one can treat all energies in the same way, ",
        "or compute a checksum or compare all settings that influence the xc ",
        "calculation, even code specific ones that are not part of the public Meta Info, ",
        "as long as they correctly set their abstract ",
        "types."]
    }]
  },{
    "meta_name":"meta_units",
    "meta_type":"type-value",
    "meta_description":[
      "String giving the units used by default for the data of this Meta Info. They ",
      "should be SI units, or combination of them using ``*'' and",
      " ``^$exponent$''."],
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"string"
  },{
    "meta_name":"meta_value_validate",
    "meta_type":"type-value",
    "meta_description":"Either a regexp or ')uri' or ')uri-reference'.",
    "meta_parent_section":"meta_info_entry",
    "meta_data_type":"string"
  },{
    "meta_name":"metadict_dependency_gid",
    "meta_type":"type-value",
    "meta_description":[
      "A Gid uniquely identifying the dependency (and recursively all its ",
      "dependencies)"],
    "meta_parent_section":"metadict_require",
    "meta_data_type":"string"
  },{
    "meta_name":"metadict_description",
    "meta_type":"type-value",
    "meta_description":[
      "A string describing the group of Meta Info contained in the ",
      "dictionary."],
    "meta_parent_section":"meta_dictionary",
    "meta_data_type":"string"
  },{
    "meta_name":"metadict_gid",
    "meta_type":"type-value",
    "meta_description":[
      "A Gid uniquely identifying the dictionary and recursively all its ",
      "dependencies"],
    "meta_parent_section":"meta_dictionary",
    "meta_data_type":"string"
  },{
    "meta_name":"metadict_name",
    "meta_type":"type-value",
    "meta_description":"The name of the dictionary.",
    "meta_parent_section":"meta_dictionary",
    "meta_data_type":"string"
  },{
    "meta_name":"metadict_require",
    "meta_type":"type-value",
    "meta_description":[
      "A list of other dictionaries that should be loaded to undestand this ",
      "dictionary."],
    "meta_parent_section":"meta_dictionary",
    "meta_data_type":"string"
  },{
    "meta_name":"metadict_version",
    "meta_type":"type-value",
    "meta_description":[
      "A string containing the version of the dictionary using [Semantic Versioning ",
      "2.0.0](http://semver.org/spec/v2.0.0.html)"],
    "meta_parent_section":"meta_dictionary",
    "meta_data_type":"string"
  }]
503
}