mirror of
https://github.com/hwchase17/langchain
synced 2024-11-08 07:10:35 +00:00
38 lines
1008 B
Python
38 lines
1008 B
Python
|
from abc import abstractmethod
|
||
|
from typing import Any, Dict, List
|
||
|
|
||
|
from langchain_community.graphs.graph_document import GraphDocument
|
||
|
|
||
|
|
||
|
class GraphStore:
|
||
|
"""An abstract class wrapper for graph operations."""
|
||
|
|
||
|
@property
|
||
|
@abstractmethod
|
||
|
def get_schema(self) -> str:
|
||
|
"""Returns the schema of the Graph database"""
|
||
|
pass
|
||
|
|
||
|
@property
|
||
|
@abstractmethod
|
||
|
def get_structured_schema(self) -> Dict[str, Any]:
|
||
|
"""Returns the schema of the Graph database"""
|
||
|
pass
|
||
|
|
||
|
@abstractmethod
|
||
|
def query(self, query: str, params: dict = {}) -> List[Dict[str, Any]]:
|
||
|
"""Query the graph."""
|
||
|
pass
|
||
|
|
||
|
@abstractmethod
|
||
|
def refresh_schema(self) -> None:
|
||
|
"""Refreshes the graph schema information."""
|
||
|
pass
|
||
|
|
||
|
@abstractmethod
|
||
|
def add_graph_documents(
|
||
|
self, graph_documents: List[GraphDocument], include_source: bool = False
|
||
|
) -> None:
|
||
|
"""Take GraphDocument as input as uses it to construct a graph."""
|
||
|
pass
|