<a id="camel.storages.graph_storages.base"></a>

<a id="camel.storages.graph_storages.base.BaseGraphStorage"></a>

## BaseGraphStorage

```python
class BaseGraphStorage(ABC):
```

An abstract base class for graph storage systems.

<a id="camel.storages.graph_storages.base.BaseGraphStorage.get_client"></a>

### get_client

```python
def get_client(self):
```

Get the underlying graph storage client.

<a id="camel.storages.graph_storages.base.BaseGraphStorage.get_schema"></a>

### get_schema

```python
def get_schema(self):
```

Get the schema of the graph storage

<a id="camel.storages.graph_storages.base.BaseGraphStorage.get_structured_schema"></a>

### get_structured_schema

```python
def get_structured_schema(self):
```

Get the structured schema of the graph storage

<a id="camel.storages.graph_storages.base.BaseGraphStorage.refresh_schema"></a>

### refresh_schema

```python
def refresh_schema(self):
```

Refreshes the graph schema information.

<a id="camel.storages.graph_storages.base.BaseGraphStorage.add_triplet"></a>

### add_triplet

```python
def add_triplet(
    self,
    subj: str,
    obj: str,
    rel: str
):
```

Adds a relationship (triplet) between two entities in the database.

**Parameters:**

- **subj** (str): The identifier for the subject entity.
- **obj** (str): The identifier for the object entity.
- **rel** (str): The relationship between the subject and object.

<a id="camel.storages.graph_storages.base.BaseGraphStorage.delete_triplet"></a>

### delete_triplet

```python
def delete_triplet(
    self,
    subj: str,
    obj: str,
    rel: str
):
```

Deletes a specific triplet from the graph, comprising a subject,
object and relationship.

**Parameters:**

- **subj** (str): The identifier for the subject entity.
- **obj** (str): The identifier for the object entity.
- **rel** (str): The relationship between the subject and object.

<a id="camel.storages.graph_storages.base.BaseGraphStorage.query"></a>

### query

```python
def query(self, query: str, params: Optional[Dict[str, Any]] = None):
```

Query the graph store with statement and parameters.

**Parameters:**

- **query** (str): The query to be executed.
- **params** (Optional[Dict[str, Any]]): A dictionary of parameters to be used in the query. Defaults to `None`.

**Returns:**

  List[Dict[str, Any]]: A list of dictionaries, each
dictionary represents a row of results from the query.
