.. _materials-api-index: Materials API =================================== The Materials API provides the fundamental functionality of MatGraphDB, offering a robust interface for managing a graph database. This module contains the essential classes and methods that enable database-like operations The core components include: - :class:`MatGraphDB <matgraphdb.materials.core.MatGraphDB>` - The main interface class that provides database-like operations over Parquet files. This class handles data storage, retrieval, querying, schema evolution, and complex data type management through an intuitive API that wraps PyArrow's functionality. - :class:`MaterialStore <matgraphdb.materials.nodes.materials.MaterialStore>` - A store for managing materials in a graph database. Node Generators ======================== - :func:`element <matgraphdb.materials.nodes.generators.element>` - A function that generates the elements of a material. - :func:`chemenv <matgraphdb.materials.nodes.generators.chemenv>` - A function that generates the chemical environments of a material. - :func:`crystal_system <matgraphdb.materials.nodes.generators.crystal_system>` - A function that generates the crystal systems of a material. - :func:`magnetic_state <matgraphdb.materials.nodes.generators.magnetic_state>` - A function that generates the magnetic states of a material. - :func:`oxidation_state <matgraphdb.materials.nodes.generators.oxidation_state>` - A function that generates the oxidation states of a material. - :func:`space_group <matgraphdb.materials.nodes.generators.space_group>` - A function that generates the space groups of a material. - :func:`wyckoff <matgraphdb.materials.nodes.generators.wyckoff>` - A function that generates the wyckoffs of a material. Edge Generators ======================== - :func:`element_element_neighborsByGroupPeriod <matgraphdb.materials.edges.element_element_neighborsByGroupPeriod>` - A function that generates the neighbors of an element by group and period. - :func:`element_element_bonds <matgraphdb.materials.edges.element_element_bonds>` - A function that generates the bonds of an element. - :func:`element_oxiState_canOccur <matgraphdb.materials.edges.element_oxiState_canOccur>` - A function that generates the possible oxidation states of an element. - :func:`material_chemenv_containsSite <matgraphdb.materials.edges.material_chemenv_containsSite>` - A function that generates the sites of a material. - :func:`material_crystalSystem_has <matgraphdb.materials.edges.material_crystalSystem_has>` - A function that generates the crystal system of a material. - :func:`material_element_has <matgraphdb.materials.edges.material_element_has>` - A function that generates the elements of a material. - :func:`material_lattice_has <matgraphdb.materials.edges.material_lattice_has>` - A function that generates the lattice of a material. - :func:`material_spg_has <matgraphdb.materials.edges.material_spg_has>` - A function that generates the space group of a material. - :func:`element_chemenv_canOccur <matgraphdb.materials.edges.element_chemenv_canOccur>` - A function that generates the possible oxidation states of an element. - :func:`spg_crystalSystem_isApart <matgraphdb.materials.edges.spg_crystalSystem_isApart>` - A function that generates the crystal system of a material. .. toctree:: :maxdepth: 2 core edge_generators node_generators material_store