You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
langchain/libs/community/langchain_community/graphs/__init__.py

95 lines
3.1 KiB
Python

"""**Graphs** provide a natural language interface to graph databases."""
import importlib
from typing import TYPE_CHECKING, Any
if TYPE_CHECKING:
from langchain_community.graphs.arangodb_graph import (
ArangoGraph, # noqa: F401
)
from langchain_community.graphs.falkordb_graph import (
FalkorDBGraph, # noqa: F401
)
from langchain_community.graphs.gremlin_graph import (
GremlinGraph, # noqa: F401
)
from langchain_community.graphs.hugegraph import (
HugeGraph, # noqa: F401
)
from langchain_community.graphs.kuzu_graph import (
KuzuGraph, # noqa: F401
)
from langchain_community.graphs.memgraph_graph import (
MemgraphGraph, # noqa: F401
)
from langchain_community.graphs.nebula_graph import (
NebulaGraph, # noqa: F401
)
from langchain_community.graphs.neo4j_graph import (
Neo4jGraph, # noqa: F401
)
from langchain_community.graphs.neptune_graph import (
NeptuneGraph, # noqa: F401
)
from langchain_community.graphs.neptune_rdf_graph import (
NeptuneRdfGraph, # noqa: F401
)
from langchain_community.graphs.networkx_graph import (
NetworkxEntityGraph, # noqa: F401
)
from langchain_community.graphs.ontotext_graphdb_graph import (
OntotextGraphDBGraph, # noqa: F401
)
from langchain_community.graphs.rdf_graph import (
RdfGraph, # noqa: F401
)
from langchain_community.graphs.tigergraph_graph import (
TigerGraph, # noqa: F401
)
__all__ = [
"ArangoGraph",
"FalkorDBGraph",
"GremlinGraph",
"HugeGraph",
"KuzuGraph",
"MemgraphGraph",
"NebulaGraph",
"Neo4jGraph",
"NeptuneGraph",
"NeptuneRdfGraph",
"NetworkxEntityGraph",
"OntotextGraphDBGraph",
"RdfGraph",
"TigerGraph",
]
_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",
"BaseNeptuneGraph": "langchain_community.graphs.neptune_graph",
"NeptuneAnalyticsGraph": "langchain_community.graphs.neptune_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())