├── .gitignore
├── .gitmodules
├── src
└── v0.1.0
│ ├── json-schema
│ └── cif.yaml
│ ├── standards
│ └── cif.yaml
│ ├── properties
│ └── structures
│ │ ├── _cif_refine_ls_r_i_factor.yaml
│ │ ├── _cif_refine_ls_r_factor_all.yaml
│ │ ├── _cif_refine_ls_r_factor_gt.yaml
│ │ ├── _cif_refine_ls_wr_factor_gt.yaml
│ │ ├── _cif_refine_ls_wr_factor_all.yaml
│ │ ├── _cif_refine_ls_wr_factor_ref.yaml
│ │ ├── _cif_refine_ls_r_fsqd_factor.yaml
│ │ ├── _cif_cell_formula_units_z.yaml
│ │ ├── _cif_cell_volume.yaml
│ │ ├── _cif_cell_angle_beta.yaml
│ │ ├── _cif_cell_angle_alpha.yaml
│ │ ├── _cif_cell_angle_gamma.yaml
│ │ ├── _cif_cell_length_a.yaml
│ │ ├── _cif_cell_length_b.yaml
│ │ └── _cif_cell_length_c.yaml
│ └── entrytypes
│ └── structures.yaml
├── README.md
├── LICENSE
└── GNUmakefile
/.gitignore:
--------------------------------------------------------------------------------
1 | __pycache__/
2 | *.py[cod]
3 | .DS_Store
4 | .project
5 | .pydevproject
6 | *~
7 | output
8 | venv
9 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "tools/optimade-property-tools"]
2 | path = dependencies/submodules/optimade-property-tools
3 | url = https://github.com/Materials-Consortia/optimade-property-tools.git
4 | [submodule "dependencies/submodules/schemas"]
5 | path = dependencies/submodules/schemas
6 | url = https://github.com/Materials-Consortia/schemas
7 |
--------------------------------------------------------------------------------
/src/v0.1.0/json-schema/cif.yaml:
--------------------------------------------------------------------------------
1 | $schema: "https://json-schema.org/draft/2020-12/schema"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/json-schema/cif"
3 | title: "JSON Schema for cif definition provider"
4 | description: "JSON Schema for cif definition provider"
5 | endpoints:
6 | structures:
7 | $$inherit: "/entrytypes/structures"
--------------------------------------------------------------------------------
/src/v0.1.0/standards/cif.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/standard_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/standards/cif"
3 | title: "Standard defined by the cif definition provider"
4 | description: "Standard defined by the cif definition provider"
5 | x-optimade-definition:
6 | label: "cif_standard"
7 | kind: "standard"
8 | format: "1.2"
9 | version: "0.1.0"
10 | name: "cif"
11 | entrytypes:
12 | structures:
13 | $$inherit: "/entrytypes/structures"
14 | x-optimade-requirements:
15 | support: "may"
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_refine_ls_r_i_factor.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_refine_ls_r_i_factor"
3 | title: "TO BE COMPLETED"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_refine_ls_r_i_factor"
10 | label: "_cif_refine_ls_r_i_factor_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | TO BE COMPLETED
16 | x-optimade-unit: "TO BE COMPLETED"
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_refine_ls_r_factor_all.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_refine_ls_r_factor_all"
3 | title: "TO BE COMPLETED"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_refine_ls_r_factor_all"
10 | label: "_cif_refine_ls_r_factor_all_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | TO BE COMPLETED
16 | x-optimade-unit: "dimensionless"
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_refine_ls_r_factor_gt.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_refine_ls_r_factor_gt"
3 | title: "TO BE COMPLETED"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_refine_ls_r_factor_gt"
10 | label: "_cif_refine_ls_r_factor_gt_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | TO BE COMPLETED
16 | x-optimade-unit: "dimensionless"
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_refine_ls_wr_factor_gt.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_refine_ls_wr_factor_gt"
3 | title: "TO BE COMPLETED"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_refine_ls_wr_factor_gt"
10 | label: "_cif_refine_ls_wr_factor_gt_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | TO BE COMPLETED
16 | x-optimade-unit: "dimensionless"
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_refine_ls_wr_factor_all.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_refine_ls_wr_factor_all"
3 | title: "TO BE COMPLETED"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_refine_ls_wr_factor_all"
10 | label: "_cif_refine_ls_wr_factor_all_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | TO BE COMPLETED
16 | x-optimade-unit: "dimensionless"
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_refine_ls_wr_factor_ref.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_refine_ls_wr_factor_ref"
3 | title: "TO BE COMPLETED"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_refine_ls_wr_factor_ref"
10 | label: "_cif_refine_ls_wr_factor_ref_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | TO BE COMPLETED
16 | x-optimade-unit: "dimensionless"
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_refine_ls_r_fsqd_factor.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_refine_ls_r_fsqd_factor"
3 | title: "TO BE COMPLETED"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_refine_ls_r_fsqd_factor"
10 | label: "_cif_refine_ls_r_fsqd_factor_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | TO BE COMPLETED
16 | x-optimade-unit: "TO BE COMPLETED"
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_cell_formula_units_z.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_cell_formula_units_z"
3 | title: "The number of the formula units in the unit cell"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_cell_formula_units_z"
10 | label: "_cif_cell_formula_units_z_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | The number of the formula units in the unit cell.
16 |
17 | Corresponds to the tag _cell_formulat_units_z in the Core CIF dictionary.
18 | x-optimade-unit: "dimensionless"
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_cell_volume.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_cell_volume"
3 | title: "Cell volume V in angstroms cubed"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_cell_volume"
10 | label: "_cif_cell_volume_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | Cell volume V in angstroms cubed.
16 |
17 | Corresponds to the tag _cell_volume in the Core CIF dictionary.
18 | x-optimade-unit-definitions:
19 | - $$inherit: "/v1.2/units/si/general/angstrom"
20 | x-optimade-unit: "angstrom^3"
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_cell_angle_beta.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_cell_angle_beta"
3 | title: "Unit-cell angle beta"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_cell_angle_beta"
10 | label: "_cif_cell_angle_beta_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | Unit-cell angle of the reported structure in degrees.
16 |
17 | Corresponds to the tag _cell_angle_beta in the Core CIF dictionary.
18 | x-optimade-unit-definitions:
19 | - $$inherit: "/v1.2/units/si/general/degree"
20 | x-optimade-unit: "degree"
21 |
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_cell_angle_alpha.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_cell_angle_alpha"
3 | title: "Unit-cell angle alpha"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_cell_angle_alpha"
10 | label: "_cif_cell_angle_alpha_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | Unit-cell angle of the reported structure in degrees.
16 |
17 | Corresponds to the tag _cell_angle_alpha in the Core CIF dictionary.
18 | x-optimade-unit-definitions:
19 | - $$inherit: "/v1.2/units/si/general/degree"
20 | x-optimade-unit: "degree"
21 |
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_cell_angle_gamma.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_cell_angle_gamma"
3 | title: "Unit-cell angle gamma"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_cell_angle_gamma"
10 | label: "_cif_cell_angle_gamma_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | Unit-cell angle of the reported structure in degrees.
16 |
17 | Corresponds to the tag _cell_angle_gamma in the Core CIF dictionary.
18 | x-optimade-unit-definitions:
19 | - $$inherit: "/v1.2/units/si/general/degree"
20 | x-optimade-unit: "degree"
21 |
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_cell_length_a.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_cell_length_a"
3 | title: "Unit-cell length a"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_cell_length_a"
10 | label: "_cif_cell_length_a_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | Unit-cell length in angstroms corresponding to the structure
16 | reported.
17 |
18 | Corresponds to the tag _cell_length_a in the Core CIF dictionary.
19 | x-optimade-unit-definitions:
20 | - $$inherit: "/v1.2/units/si/general/angstrom"
21 | x-optimade-unit: "angstrom"
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_cell_length_b.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_cell_length_b"
3 | title: "Unit-cell length b"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_cell_length_b"
10 | label: "_cif_cell_length_b_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | Unit-cell length in angstroms corresponding to the structure
16 | reported.
17 |
18 | Corresponds to the tag _cell_length_b in the Core CIF dictionary.
19 | x-optimade-unit-definitions:
20 | - $$inherit: "/v1.2/units/si/general/angstrom"
21 | x-optimade-unit: "angstrom"
--------------------------------------------------------------------------------
/src/v0.1.0/properties/structures/_cif_cell_length_c.yaml:
--------------------------------------------------------------------------------
1 | $$schema: "https://schemas.optimade.org/meta/v1.2/optimade/property_definition"
2 | $id: "https://schemas.optimade.org/namespaces/cif/v0.1/properties/structures/_cif_cell_length_c"
3 | title: "Unit-cell length c"
4 | x-optimade-type: "float"
5 | x-optimade-definition:
6 | kind: "property"
7 | version: "0.1.0"
8 | format: "1.2"
9 | name: "_cif_cell_length_c"
10 | label: "_cif_cell_length_c_structures"
11 | type:
12 | - "number"
13 | - "null"
14 | description: |-
15 | Unit-cell length in angstroms corresponding to the structure
16 | reported.
17 |
18 | Corresponds to the tag _cell_length_c in the Core CIF dictionary.
19 | x-optimade-unit-definitions:
20 | - $$inherit: "/v1.2/units/si/general/angstrom"
21 | x-optimade-unit: "angstrom"
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # namespace-cif
2 |
3 | Repository for the cif namespace.
4 | **Note: this is presently to be regarded as extremely experimental**
5 |
6 | 1. Clone this repo (with submodules for tools)
7 | ```
8 | git clone --recurse-submodules https://github.com/Materials-Consortia/namespace-cif.git
9 | ```
10 | Or, if you have already cloned this repo without the submodules, init them with:
11 | ```
12 | git submodule update --init --recursive
13 | ```
14 |
15 | 2. Run make.
16 |
17 | 4. Output appears in `output/`, check the standards document with, e.g.:
18 | ```
19 | firefox output/v0.1.0/standards/cif
20 | ```
21 |
22 | Notes:
23 |
24 | - For prettifed HTML output add `schemas_html_pretty=true` when running make:
25 | ```
26 | make schemas_html_pretty=true
27 | ```
28 |
29 | - To generate HTML output with `.html` extensions (instead of extensionless):
30 | ```
31 | make schemas_html_ext=true
32 | ```
33 | (Less suited for filesystem browsing, but works as intended when served e.g. via GitHub pages)
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 Open Databases Integration for Materials Design
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/GNUmakefile:
--------------------------------------------------------------------------------
1 | #---*- Makefile -*-------------------------------------------------------
2 |
3 | # Use "make schemas schemas_html_pretty=true" to apply OPTIMADE styling to the html pages
4 |
5 | # Use "make schemas schemas_html_ext=true" to generate html files with .html extensions also for files meant to be served
6 | # without extensions, which is useful for hosting, e.g., on github that automatically redirects URLs without extensions.
7 |
8 | .PHONY: all
9 | all: schemas
10 |
11 | ###############################
12 | # Basic configuration options #
13 | ###############################
14 |
15 | # Path to the process_schemas program
16 | PROCESS_SCHEMAS=dependencies/submodules/optimade-property-tools/bin/process_schemas
17 | # The base of the URI for the generated property definitions
18 | BASEID=https://schemas.optimade.org/namespaces/cif/v0.1/
19 | # The versioned directory being processed
20 | BASEDIR=src/v0.1.0
21 | # The versions of the meta-schemas to use
22 | META_SCHEMA_VER=v1.2
23 |
24 | #################################
25 | # Advanced configuation options #
26 | #################################
27 |
28 | # Path to the OPTIMADE schemas repo
29 | OPTIMADE_SCHEMAS_DIR=dependencies/submodules/schemas
30 | # Path to the meta-schemas to use
31 | META_SCHEMA_PATH=$(OPTIMADE_SCHEMAS_DIR)/meta/$(META_SCHEMA_VER)
32 | # Add the OPTIMADE schemas repo as a path relative to which resolve $$inherit
33 | RESOLVE_PATHS_ARGS=--resolve-path $(OPTIMADE_SCHEMAS_DIR)/defs
34 |
35 |
36 | ifeq ($(origin schemas_html_pretty), undefined)
37 | OPTIMADE_HTML_HEADER ?=
38 | OPTIMADE_HTML_TOP ?=
39 | else
40 | OPTIMADE_HTML_HEADER =
41 | OPTIMADE_HTML_TOP =