save relationship of objects

This commit is contained in:
tsukasa
2023-09-13 17:55:27 +08:00
parent 8ac6065332
commit 6e5beb4cdf
7 changed files with 131 additions and 11 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ class EmailObject(KnowledgeObject):
return self.desc["tags"]
def get_rich_text(self):
return self.body["rich_text"]
return self.body["content"]
"""
+1
View File
@@ -1,5 +1,6 @@
from .object import KnowledgeObject
from .blob import FileBlobStorage
from .hash import HashValue, hash_data
from .relation import ObjectRelationStore
from .object_store import ObjectStore
from .object_id import ObjectID, ObjectType
+16
View File
@@ -0,0 +1,16 @@
# define a relation store class
from .object_id import ObjectID
class ObjectRelationStore:
def __init__(self, root_dir: str):
pass
def add_relation(self, object: ObjectID, parent: ObjectID):
pass
def get_related_objects(self, object: ObjectID) -> [ObjectID]:
pass
def delete_relation(self, object_id: ObjectID) -> [ObjectID]:
pass
+8 -2
View File
@@ -1,5 +1,6 @@
import os
from .object import ObjectStore
from .object import ObjectStore, ObjectRelationStore
from .data import ChunkStore, ChunkTracker, ChunkListWriter, ChunkReader
from .vector import ChromaVectorStore, VectorBase
import logging
@@ -30,6 +31,9 @@ class KnowledgeStore:
self.root = root_dir
relation_store_dir = os.path.join(root_dir, "relation")
self.relation_store = ObjectRelationStore(relation_store_dir)
object_store_dir = os.path.join(root_dir, "object")
self.object_store = ObjectStore(object_store_dir)
@@ -39,7 +43,9 @@ class KnowledgeStore:
self.chunk_list_writer = ChunkListWriter(self.chunk_store, self.chunk_tracker)
self.chunk_reader = ChunkReader(self.chunk_store, self.chunk_tracker)
self.vector_store = {}
def get_relation_store(self) -> ObjectRelationStore:
return self.relation_store
def get_object_store(self) -> ObjectStore:
return self.object_store