From e80c3984888a6503c44418dcea3ecbfadcbb743b Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Wed, 2 Jul 2025 07:56:23 +0800 Subject: [PATCH] 'commit' --- dsRag/Neo4j/N0_ClearDb.py | 12 ++----- dsRag/Neo4j/N1_ReadZsd.py | 12 +++---- dsRag/Neo4j/Neo4jExecutor.py | 30 ++++++++++-------- .../__pycache__/Neo4jExecutor.cpython-310.pyc | Bin 4081 -> 4189 bytes 4 files changed, 24 insertions(+), 30 deletions(-) diff --git a/dsRag/Neo4j/N0_ClearDb.py b/dsRag/Neo4j/N0_ClearDb.py index 07e57c10..f2ecd723 100644 --- a/dsRag/Neo4j/N0_ClearDb.py +++ b/dsRag/Neo4j/N0_ClearDb.py @@ -1,12 +1,6 @@ -from Config.Config import * -from Neo4j.Neo4jExecutor import * +from Neo4j.Neo4jExecutor import Neo4jExecutor -# 使用示例 if __name__ == '__main__': - executor = Neo4jExecutor( - uri=NEO4J_URI, - auth=NEO4J_AUTH - ) - # 清库 - clear(executor.graph) + executor = Neo4jExecutor.create_default() + executor.graph.run("MATCH (n) DETACH DELETE n") print("清库成功") \ No newline at end of file diff --git a/dsRag/Neo4j/N1_ReadZsd.py b/dsRag/Neo4j/N1_ReadZsd.py index 0ebb1edc..784be0ff 100644 --- a/dsRag/Neo4j/N1_ReadZsd.py +++ b/dsRag/Neo4j/N1_ReadZsd.py @@ -1,6 +1,7 @@ import json -from Config.Config import * -from Neo4j.Neo4jExecutor import * + +from Neo4j.Neo4jExecutor import Neo4jExecutor + def json_to_cypher(data): """将知识体系JSON转换为Cypher插入脚本""" @@ -47,12 +48,9 @@ MERGE (parent)-[:HAS_SUB_POINT]->(child);""") # 使用示例 if __name__ == '__main__': - executor = Neo4jExecutor( - uri=NEO4J_URI, - auth=NEO4J_AUTH - ) + executor = Neo4jExecutor.create_default() # 清库 - clear(executor.graph) + executor.graph.run("MATCH (n) DETACH DELETE n") # 这里替换成你的JSON数据变量 with open('小学数学知识点体系.json', 'r',encoding='utf-8') as f: diff --git a/dsRag/Neo4j/Neo4jExecutor.py b/dsRag/Neo4j/Neo4jExecutor.py index 93ac46c2..28f55cdb 100644 --- a/dsRag/Neo4j/Neo4jExecutor.py +++ b/dsRag/Neo4j/Neo4jExecutor.py @@ -1,8 +1,8 @@ import re from typing import List, Tuple -from Config.Config import * -from py2neo import Graph, Node, Relationship, Subgraph +from py2neo import Graph, Node, Relationship, Subgraph +from Config import Config def clear(db): # 清空数据 @@ -22,7 +22,6 @@ def clear(db): except Exception as e: print(f"删除操作失败: {e}") - def create_subgraph(db: Graph, nodes: List[Node], relations: List[Tuple[Node, str, Node]]) -> None: """统一创建子图""" subgraph = Subgraph( @@ -47,8 +46,19 @@ def tx_create(db: Graph, nodes: List[Node], relations: List[Tuple[Node, str, Nod raise class Neo4jExecutor: - def __init__(self, uri, auth): - self.graph = Graph(uri, auth=auth) + # 添加类变量存储连接配置 + NEO4J_URI = Config.NEO4J_URI + NEO4J_AUTH = Config.NEO4J_AUTH + + def __init__(self, uri=None, auth=None): + # 使用默认配置或传入参数 + self.graph = Graph(uri or self.NEO4J_URI, + auth=auth or self.NEO4J_AUTH) + + @classmethod + def create_default(cls): + """使用默认配置创建执行器""" + return cls(cls.NEO4J_URI, cls.NEO4J_AUTH) # 新增文本执行方法 def execute_cypher_text(self, cypher_text: str) -> dict: @@ -96,12 +106,4 @@ class Neo4jExecutor: except Exception as e: print(f"文件错误: {str(e)}") - return stats - -def init(): - executor = Neo4jExecutor( - uri=NEO4J_URI, - auth=NEO4J_AUTH - ) - # 清库 - clear(executor.graph) \ No newline at end of file + return stats \ No newline at end of file diff --git a/dsRag/Neo4j/__pycache__/Neo4jExecutor.cpython-310.pyc b/dsRag/Neo4j/__pycache__/Neo4jExecutor.cpython-310.pyc index d117f09e370bc17f1ea0807afc3aa153550525de..ba52c73f22fca1c65da1e3ebf3cef687571dbe1e 100644 GIT binary patch delta 1040 zcmY+C&yN&E6vz8jcUS+I>7I32$ue050vnvLi?{*#Z4g{x73Uzv#7<;0>8fF7)3Y;H z_arWv$YIAs5-_giK||D-8054EHsK&4`~@DkcH)f@CIJ)w0)20V33R8v_1?E%z5aAn z|Fiwi9br2Nd;_nvD;nj}S~zui9W!AFNQ{VPmOzU|tYt40L<}bypNbv2R7i=W2r&iq~%K zD#LlB^3sqXs}+`8=bCAj+aGm1iClZ~S^;u?y1iU)UW`HiZB1^RfB}G`cbNm=+OzuL zY&P(3NAfF^Xryyg@>R8 z;g6hW=!6&MK~=U7EX{u|<8IbgRlVIQzws)*EHir0v3tf6^jOEknF+YYdd8wD3|z>n z709hxH)~WZWqn&J>zXrHI*1EXj^Z;HivQ}LoXN{EVE*i)*u-%fM;fB^@Lr+;s|?#h zcPE+;?%sR&-Ob^h?;oxII{fn5!@KK)udWa7{QlRK-yZ#Pb@0Q@3RAOKr}m*BhZ!fS znjm9SUdAX7Vo3B+_>#L0GQX;y;Ea{sOMpn zA%UwS`iXY|Ue{j)lP*{L$vUVLe;!V5-16_k)SKw!pf1_ntUh}f!Cbi-LNGn{E`?`E z&XN#idCw-}2b3?MjYB7yfvy-X!=-K=FUN8e6>&L+-98b1d3G~@;`jAV{ zM*FPhs6!!6YH8Y%S)(n~0V=4FZHZ=_sdJQ{*Q?>qg)t0WgEJ03W3~_D_SUUxFPfE- zBGQ~^D;?SxIub>{M8rEQbIY==EOKlT`jhlGrQI;0KjT~UAEj{O|Gr}|$%^2zneiES Gy!0QfG4L_~ delta 945 zcmZ8g%}*0S6rZ;{yWO^QTZ_~}Flqp$T2zoK;Y$Il;73UiLfiwybhc2^uS~az7z_uw z5<}+X!Nh|xUX{e7|AW^xYE0zd$r$g(_gdxPZ00xb{pQV^-@KXqbn@p3yBdjv7`Aa^ zc)i!&v%9z7q9>Su5_4$OO0YDb`%n3Eq6W-YcSkUR z%N!8Q(F6z$bL&EPx!|r*;7#@1F;US!#u7o)7!V=cKkP?xZgqGg`_RodysA`Vfv)~I zX7tz=Y+=4#ZHuj9Zj9APCV$ZI)>E3)F-E-z421{LsA~vuP+tSd{nyqvfKjy@nvPvU zRt_V42eLBiOK1fKRLxFWraVv7pjruMA+!H7`~kX$knur2G8$fCUkb=9sn3p^95=-n=By(jYLKG2Uj4?kPYF9l0eS e#Z*Tu4$G=1b~-_?iYk$W7+6}mJ#E?1w#*-}M8x_4