|
@@ -14,9 +14,14 @@ class KGEdgeService:
|
|
|
def __init__(self, db: Session):
|
|
|
self.db = db
|
|
|
|
|
|
- _cache = TTLCache(maxsize=100000, ttl=60*60*24*30)
|
|
|
+ _cache = TTLCache(maxsize=1000, ttl=60*60*24*30)
|
|
|
def get_edge(self, edge_id: int):
|
|
|
- edge = self.db.query(KGEdge).get(edge_id)
|
|
|
+ try:
|
|
|
+ edge = self.db.query(KGEdge).get(edge_id)
|
|
|
+ self.db.commit()
|
|
|
+ except Exception as e:
|
|
|
+ self.db.rollback()
|
|
|
+ raise e
|
|
|
if not edge:
|
|
|
raise ValueError("Edge not found")
|
|
|
return edge
|
|
@@ -87,8 +92,12 @@ class KGEdgeService:
|
|
|
filters.append(KGEdge.dest_id == dest_id)
|
|
|
if category is not None:
|
|
|
filters.append(KGEdge.category == category)
|
|
|
- edges = self.db.query(KGEdge).filter(*filters).all()
|
|
|
-
|
|
|
+ try:
|
|
|
+ edges = self.db.query(KGEdge).filter(*filters).all()
|
|
|
+ self.db.commit()
|
|
|
+ except Exception as e:
|
|
|
+ self.db.rollback()
|
|
|
+ raise e
|
|
|
from service.kg_node_service import KGNodeService
|
|
|
node_service = KGNodeService(self.db)
|
|
|
result = []
|