MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / del_kg_node

Method del_kg_node

atomic-core/src/pristine/txn/write/triples.rs:249–267  ·  view source on GitHub ↗
(&mut self, id: &str)

Source from the content-addressed store, hash-verified

247 }
248
249 fn del_kg_node(&mut self, id: &str) -> PristineResult<bool> {
250 // First delete all edges for this node
251 self.del_kg_edges_for_node(id)?;
252
253 // Delete the node
254 let mut table = match self.txn.open_table(KG_NODES) {
255 Ok(t) => t,
256 Err(redb::TableError::TableDoesNotExist(_)) => return Ok(false),
257 Err(e) => return Err(PristineError::from(e)),
258 };
259
260 // Note: orphan FTS entries are harmless — get_kg_node returns None for
261 // deleted nodes so they're filtered out at query time. A full reindex
262 // cleans them up.
263
264 let result = table.remove(id)?.is_some();
265 drop(table);
266 Ok(result)
267 }
268
269 fn del_kg_edge(&mut self, from_id: &str, to_id: &str, kind: &str) -> PristineResult<bool> {
270 let edge_key = encode_edge_key(from_id, to_id, kind);

Callers 2

vault_store_kgMethod · 0.80

Calls 2

del_kg_edges_for_nodeMethod · 0.80
removeMethod · 0.65

Tested by 1