From a1d5a91d71aeac72d2576943b022bd409c54796e Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Wed, 2 Jul 2025 09:39:14 +0800 Subject: [PATCH] 'commit' --- dsRag/{static/Txt => Doc}/知识图谱.txt | 0 ...nerateKnowledgeGraph.py => N2_ZsdGraph.py} | 0 ...N3_ZhiShiTuPu.py => N3_KG_ShiNingZhong.py} | 0 dsRag/Neo4j/N4_KG_Graph.py | 40 ++++++++ dsRag/Neo4j/knowledge_graph.html | 99 +------------------ 5 files changed, 42 insertions(+), 97 deletions(-) rename dsRag/{static/Txt => Doc}/知识图谱.txt (100%) rename dsRag/Neo4j/{N2_GenerateKnowledgeGraph.py => N2_ZsdGraph.py} (100%) rename dsRag/Neo4j/{N3_ZhiShiTuPu.py => N3_KG_ShiNingZhong.py} (100%) create mode 100644 dsRag/Neo4j/N4_KG_Graph.py diff --git a/dsRag/static/Txt/知识图谱.txt b/dsRag/Doc/知识图谱.txt similarity index 100% rename from dsRag/static/Txt/知识图谱.txt rename to dsRag/Doc/知识图谱.txt diff --git a/dsRag/Neo4j/N2_GenerateKnowledgeGraph.py b/dsRag/Neo4j/N2_ZsdGraph.py similarity index 100% rename from dsRag/Neo4j/N2_GenerateKnowledgeGraph.py rename to dsRag/Neo4j/N2_ZsdGraph.py diff --git a/dsRag/Neo4j/N3_ZhiShiTuPu.py b/dsRag/Neo4j/N3_KG_ShiNingZhong.py similarity index 100% rename from dsRag/Neo4j/N3_ZhiShiTuPu.py rename to dsRag/Neo4j/N3_KG_ShiNingZhong.py diff --git a/dsRag/Neo4j/N4_KG_Graph.py b/dsRag/Neo4j/N4_KG_Graph.py new file mode 100644 index 00000000..a6fea6a5 --- /dev/null +++ b/dsRag/Neo4j/N4_KG_Graph.py @@ -0,0 +1,40 @@ +# conda activate rag +# pip install py2neo pyvis +from py2neo import Graph +from pyvis.network import Network +from Config import Config + +# 连接Neo4j +graph = Graph(Config.NEO4J_URI, auth=Config.NEO4J_AUTH) + +# 查询所有节点和关系 +query = """ +MATCH (n)-[r]->(m) +RETURN n, r, m +""" +data = graph.run(query).data() + +# 创建网络图 +net = Network(height="750px", width="100%", notebook=True, cdn_resources='in_line') + +# 添加节点和边 +for item in data: + net.add_node(item['n'].identity, + label=item['n']['name'], + title=item['n'].get('description', ''), + group=item['n'].labels[0]) + net.add_node(item['m'].identity, + label=item['m']['name'], + title=item['m'].get('description', ''), + group=item['m'].labels[0]) + net.add_edge(item['n'].identity, + item['m'].identity, + title=type(item['r']).__name__) + +# 生成HTML文件 +with open("knowledge_graph.html", "w", encoding='utf-8') as f: + f.write(net.generate_html()) + +# 打开HTML文件 +import webbrowser +webbrowser.open("knowledge_graph.html") \ No newline at end of file diff --git a/dsRag/Neo4j/knowledge_graph.html b/dsRag/Neo4j/knowledge_graph.html index f6faf61b..5c58d1da 100644 --- a/dsRag/Neo4j/knowledge_graph.html +++ b/dsRag/Neo4j/knowledge_graph.html @@ -255,75 +255,6 @@ function highlightFilter(filter) { } - #loadingBar { - position:absolute; - top:0px; - left:0px; - width: 100%; - height: 750px; - background-color:rgba(200,200,200,0.8); - -webkit-transition: all 0.5s ease; - -moz-transition: all 0.5s ease; - -ms-transition: all 0.5s ease; - -o-transition: all 0.5s ease; - transition: all 0.5s ease; - opacity:1; - } - - #bar { - position:absolute; - top:0px; - left:0px; - width:20px; - height:20px; - margin:auto auto auto auto; - border-radius:11px; - border:2px solid rgba(30,30,30,0.05); - background: rgb(0, 173, 246); /* Old browsers */ - box-shadow: 2px 0px 4px rgba(0,0,0,0.4); - } - - #border { - position:absolute; - top:10px; - left:10px; - width:500px; - height:23px; - margin:auto auto auto auto; - box-shadow: 0px 0px 4px rgba(0,0,0,0.2); - border-radius:10px; - } - - #text { - position:absolute; - top:8px; - left:530px; - width:30px; - height:50px; - margin:auto auto auto auto; - font-size:22px; - color: #000000; - } - - div.outerBorder { - position:relative; - top:400px; - width:600px; - height:44px; - margin:auto auto auto auto; - border:8px solid rgba(0,0,0,0.1); - background: rgb(252,252,252); /* Old browsers */ - background: -moz-linear-gradient(top, rgba(252,252,252,1) 0%, rgba(237,237,237,1) 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(252,252,252,1)), color-stop(100%,rgba(237,237,237,1))); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* IE10+ */ - background: linear-gradient(to bottom, rgba(252,252,252,1) 0%,rgba(237,237,237,1) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */ - border-radius:72px; - box-shadow: 0px 0px 10px rgba(0,0,0,0.2); - } - @@ -340,15 +271,6 @@ function highlightFilter(filter) { -