"""**Graphs** provide a natural language interface to graph databases.""" import importlib from typing import Any _module_lookup = { "ArangoGraph": "langchain_community.graphs.arangodb_graph", "FalkorDBGraph": "langchain_community.graphs.falkordb_graph", "GremlinGraph": "langchain_community.graphs.gremlin_graph", "HugeGraph": "langchain_community.graphs.hugegraph", "KuzuGraph": "langchain_community.graphs.kuzu_graph", "MemgraphGraph": "langchain_community.graphs.memgraph_graph", "NebulaGraph": "langchain_community.graphs.nebula_graph", "Neo4jGraph": "langchain_community.graphs.neo4j_graph", "NeptuneGraph": "langchain_community.graphs.neptune_graph", "NeptuneRdfGraph": "langchain_community.graphs.neptune_rdf_graph", "NetworkxEntityGraph": "langchain_community.graphs.networkx_graph", "OntotextGraphDBGraph": "langchain_community.graphs.ontotext_graphdb_graph", "RdfGraph": "langchain_community.graphs.rdf_graph", "TigerGraph": "langchain_community.graphs.tigergraph_graph", } def __getattr__(name: str) -> Any: if name in _module_lookup: module = importlib.import_module(_module_lookup[name]) return getattr(module, name) raise AttributeError(f"module {__name__} has no attribute {name}") __all__ = list(_module_lookup.keys())