mirror of https://github.com/hwchase17/langchain
Add Graph interface (#11012)
Replace this entire comment with: - **Description:** Add a Graph interface - **Tag maintainer:** @baskaryan @hwchase17 - **Twitter handle:** @g_korlandpull/10933/head
parent
b647505280
commit
9373b9c004
@ -0,0 +1,37 @@
|
||||
from abc import abstractmethod
|
||||
from typing import Any, Dict, List
|
||||
|
||||
from langchain.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
|
Loading…
Reference in New Issue