|
|
|
@@ -322,4 +322,18 @@ def knowledge_graph(kb_id): |
|
|
|
node_id_set = { o["id"] for o in obj["graph"]["nodes"] } |
|
|
|
filtered_edges = [o for o in obj["graph"]["edges"] if o["source"] != o["target"] and o["source"] in node_id_set and o["target"] in node_id_set] |
|
|
|
obj["graph"]["edges"] = sorted(filtered_edges, key=lambda x: x.get("weight", 0), reverse=True)[:128] |
|
|
|
return get_json_result(data=obj) |
|
|
|
return get_json_result(data=obj) |
|
|
|
|
|
|
|
@manager.route('/<kb_id>/knowledge_graph', methods=['DELETE']) # noqa: F821 |
|
|
|
@login_required |
|
|
|
def delete_knowledge_graph(kb_id): |
|
|
|
if not KnowledgebaseService.accessible(kb_id, current_user.id): |
|
|
|
return get_json_result( |
|
|
|
data=False, |
|
|
|
message='No authorization.', |
|
|
|
code=settings.RetCode.AUTHENTICATION_ERROR |
|
|
|
) |
|
|
|
_, kb = KnowledgebaseService.get_by_id(kb_id) |
|
|
|
settings.docStoreConn.delete({"knowledge_graph_kwd": ["graph", "subgraph", "entity", "relation"]}, search.index_name(kb.tenant_id), kb_id) |
|
|
|
|
|
|
|
return get_json_result(data=True) |