feat: Adds changes to cognee graph part
This commit is contained in:
parent
91b9c11cd0
commit
6dcd59c73c
4 changed files with 32 additions and 18 deletions
|
|
@ -2,8 +2,7 @@ import time
|
|||
from cognee.shared.logging_utils import get_logger
|
||||
from typing import List, Dict, Union, Optional, Type
|
||||
|
||||
from cognee.exceptions import InvalidValueError
|
||||
from cognee.modules.graph.exceptions import EntityNotFoundError, EntityAlreadyExistsError
|
||||
from cognee.modules.graph.exceptions import EntityNotFoundError, EntityAlreadyExistsError, InvalidDimensionsError
|
||||
from cognee.infrastructure.databases.graph.graph_db_interface import GraphDBInterface
|
||||
from cognee.modules.graph.cognee_graph.CogneeGraphElements import Node, Edge
|
||||
from cognee.modules.graph.cognee_graph.CogneeAbstractGraph import CogneeAbstractGraph
|
||||
|
|
@ -66,8 +65,7 @@ class CogneeGraph(CogneeAbstractGraph):
|
|||
node_name: Optional[List[str]] = None,
|
||||
) -> None:
|
||||
if node_dimension < 1 or edge_dimension < 1:
|
||||
raise InvalidValueError(message="Dimensions must be positive integers")
|
||||
|
||||
raise InvalidDimensionsError()
|
||||
try:
|
||||
import time
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
import numpy as np
|
||||
from typing import List, Dict, Optional, Any, Union
|
||||
|
||||
from cognee.exceptions import InvalidValueError
|
||||
|
||||
from cognee.modules.graph.exceptions import InvalidDimensionsError, DimensionOutOfRangeError
|
||||
|
||||
class Node:
|
||||
"""
|
||||
|
|
@ -24,7 +22,7 @@ class Node:
|
|||
self, node_id: str, attributes: Optional[Dict[str, Any]] = None, dimension: int = 1
|
||||
):
|
||||
if dimension <= 0:
|
||||
raise InvalidValueError(message="Dimension must be a positive integer")
|
||||
raise InvalidDimensionsError()
|
||||
self.id = node_id
|
||||
self.attributes = attributes if attributes is not None else {}
|
||||
self.attributes["vector_distance"] = float("inf")
|
||||
|
|
@ -58,9 +56,7 @@ class Node:
|
|||
|
||||
def is_node_alive_in_dimension(self, dimension: int) -> bool:
|
||||
if dimension < 0 or dimension >= len(self.status):
|
||||
raise InvalidValueError(
|
||||
message=f"Dimension {dimension} is out of range. Valid range is 0 to {len(self.status) - 1}."
|
||||
)
|
||||
raise DimensionOutOfRangeError(dimension=dimension, max_index=len(self.status) - 1)
|
||||
return self.status[dimension] == 1
|
||||
|
||||
def add_attribute(self, key: str, value: Any) -> None:
|
||||
|
|
@ -110,7 +106,7 @@ class Edge:
|
|||
dimension: int = 1,
|
||||
):
|
||||
if dimension <= 0:
|
||||
raise InvalidValueError(message="Dimensions must be a positive integer.")
|
||||
InvalidDimensionsError()
|
||||
self.node1 = node1
|
||||
self.node2 = node2
|
||||
self.attributes = attributes if attributes is not None else {}
|
||||
|
|
@ -120,9 +116,7 @@ class Edge:
|
|||
|
||||
def is_edge_alive_in_dimension(self, dimension: int) -> bool:
|
||||
if dimension < 0 or dimension >= len(self.status):
|
||||
raise InvalidValueError(
|
||||
message=f"Dimension {dimension} is out of range. Valid range is 0 to {len(self.status) - 1}."
|
||||
)
|
||||
raise DimensionOutOfRangeError(dimension=dimension, max_index=len(self.status) - 1)
|
||||
return self.status[dimension] == 1
|
||||
|
||||
def add_attribute(self, key: str, value: Any) -> None:
|
||||
|
|
|
|||
|
|
@ -7,4 +7,6 @@ This module defines a set of exceptions for handling various graph errors
|
|||
from .exceptions import (
|
||||
EntityNotFoundError,
|
||||
EntityAlreadyExistsError,
|
||||
InvalidDimensionsError,
|
||||
DimensionOutOfRangeError,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
from cognee.exceptions import CogneeApiError
|
||||
from cognee.exceptions import CogneeValidationError
|
||||
from fastapi import status
|
||||
|
||||
|
||||
class EntityNotFoundError(CogneeApiError):
|
||||
class EntityNotFoundError(CogneeValidationError):
|
||||
"""Database returns nothing"""
|
||||
|
||||
def __init__(
|
||||
|
|
@ -14,7 +14,7 @@ class EntityNotFoundError(CogneeApiError):
|
|||
super().__init__(message, name, status_code)
|
||||
|
||||
|
||||
class EntityAlreadyExistsError(CogneeApiError):
|
||||
class EntityAlreadyExistsError(CogneeValidationError):
|
||||
"""Conflict detected, like trying to create a resource that already exists"""
|
||||
|
||||
def __init__(
|
||||
|
|
@ -24,3 +24,23 @@ class EntityAlreadyExistsError(CogneeApiError):
|
|||
status_code=status.HTTP_409_CONFLICT,
|
||||
):
|
||||
super().__init__(message, name, status_code)
|
||||
|
||||
class InvalidDimensionsError(CogneeValidationError):
|
||||
def __init__(
|
||||
self,
|
||||
name: str = "InvalidDimensionsError",
|
||||
status_code: int = status.HTTP_400_BAD_REQUEST,
|
||||
):
|
||||
message = "Dimensions must be positive integers."
|
||||
super().__init__(message, name, status_code)
|
||||
|
||||
class DimensionOutOfRangeError(CogneeValidationError):
|
||||
def __init__(
|
||||
self,
|
||||
dimension: int,
|
||||
max_index: int,
|
||||
name: str = "DimensionOutOfRangeError",
|
||||
status_code: int = status.HTTP_400_BAD_REQUEST,
|
||||
):
|
||||
message = f"Dimension {dimension} is out of range. Valid range is 0 to {max_index}."
|
||||
super().__init__(message, name, status_code)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue