在Ubuntu上安装了Neo4j数据库,为其编写一个Python脚本,快捷一键实现开启、关闭、清空等操作。
程序内容:
-
导入所需的模块:
subprocess
:用于执行系统命令,例如启动、停止、重启Neo4j服务。webbrowser
:用于在默认的Web浏览器中打开Neo4j浏览器。py2neo.Graph
:用于连接到Neo4j数据库并执行操作。py2neo.NodeMatcher
:用于匹配和操作数据库中的节点。
-
创建Neo4j数据库连接:
- 使用
py2neo.Graph
类创建了一个连接到Neo4j数据库的实例,使用了数据库的URL和凭据。
- 使用
-
定义各种功能函数:
start_neo4j()
:启动Neo4j服务。stop_neo4j()
:停止Neo4j服务。restart_neo4j()
:重新启动Neo4j服务。check_status()
:检查Neo4j服务的运行状态。open_neo4j_browser()
:用默认Web浏览器打开Neo4j浏览器。clear_data()
:清空数据集,即删除数据库中的所有节点和关系。
-
主程序函数
main()
:- 在一个无限循环中,等待用户输入要执行的操作。
- 打印菜单,列出了可以执行的操作。
- 根据用户的选择,调用相应的函数执行操作。
- 用户可以随时选择退出程序。
功能介绍:
-
启动Neo4j服务:
- 启动Neo4j数据库服务,使其可以接受查询和操作。
-
停止Neo4j服务:
- 停止正在运行的Neo4j数据库服务。
-
重新启动Neo4j服务:
- 停止Neo4j服务,然后再次启动它,用于重新加载配置或应用更改。
-
检查Neo4j状态:
- 检查Neo4j服务的运行状态,包括端口号、PID(进程ID)等信息。
-
用默认浏览器打开Neo4j浏览器:
- 打开Neo4j浏览器的Web界面,以便执行Cypher查询和管理数据库。
-
清空数据集 (删除所有节点和关系):
- 使用
py2neo
库来删除数据库中的所有节点和关系,慎用,数据一旦删除无法恢复。
- 使用
-
退出程序:
- 选择退出程序,结束当前会话。
这个程序使用户能够方便地执行各种Neo4j数据库操作,包括启动、停止、重启服务,检查状态,打开浏览器界面和清空数据集
下面是程序内容:
import subprocess
import webbrowser
from py2neo import Graph, NodeMatcher
graph = Graph("bolt://localhost:7687", auth=("neo4j", "password")) # 改为你的数据库的地址、用户名和密码
path = '/home/sjh/software/neo4j-community-4.4.29/bin/neo4j' # 改为你的软件解压的地址,定位到bin/neo4j文件
def start_neo4j():
subprocess.run([path, "start"])
def stop_neo4j():
subprocess.run([path, "stop"])
def restart_neo4j():
subprocess.run([path, "restart"])
def check_status():
subprocess.run([path, "status"])
def open_neo4j_browser():
webbrowser.open("http://localhost:7474")
def clear_data():
# 使用NodeMatcher来匹配所有节点
matcher = NodeMatcher(graph)
all_nodes = matcher.match()
# 删除所有节点和关系
for node in all_nodes:
graph.delete(node)
print("数据集已成功清空!")
def main():
while True:
print("\n选择要执行的操作:")
print("1. 启动Neo4j服务")
print("2. 停止Neo4j服务")
print("3. 重新启动Neo4j服务")
print("4. 检查Neo4j状态")
print("5. 用默认浏览器打开Neo4j浏览器")
print("6. 清空数据集 (删除所有节点和关系)")
print("0. 退出")
choice = input("输入选项的数字: ")
if choice == "1":
start_neo4j()
elif choice == "2":
stop_neo4j()
elif choice == "3":
restart_neo4j()
elif choice == "4":
check_status()
elif choice == "5":
open_neo4j_browser()
elif choice == "6":
clear_data()
elif choice == "0":
break
else:
print("无效的选项,请重新输入。")
if __name__ == "__main__":
main()
保存并赋予可执行权限后,运行即可使用