Add Memgraph integration (#2537)

This commit is contained in:
Katarina Supe
2025-04-22 12:57:24 +02:00
committed by GitHub
parent cd5c3035ab
commit ba2e479902
10 changed files with 940 additions and 44 deletions

View File

@@ -20,6 +20,22 @@ class Neo4jConfig(BaseModel):
if not url or not username or not password:
raise ValueError("Please provide 'url', 'username' and 'password'.")
return values
class MemgraphConfig(BaseModel):
url: Optional[str] = Field(None, description="Host address for the graph database")
username: Optional[str] = Field(None, description="Username for the graph database")
password: Optional[str] = Field(None, description="Password for the graph database")
@model_validator(mode="before")
def check_host_port_or_path(cls, values):
url, username, password = (
values.get("url"),
values.get("username"),
values.get("password"),
)
if not url or not username or not password:
raise ValueError("Please provide 'url', 'username' and 'password'.")
return values
class GraphStoreConfig(BaseModel):
@@ -35,5 +51,7 @@ class GraphStoreConfig(BaseModel):
provider = values.data.get("provider")
if provider == "neo4j":
return Neo4jConfig(**v.model_dump())
elif provider == "memgraph":
return MemgraphConfig(**v.model_dump())
else:
raise ValueError(f"Unsupported graph store provider: {provider}")