Ubuntu快捷操作Neo4j,Python脚本,利用py2neo库实现

在Ubuntu上安装了Neo4j数据库,为其编写一个Python脚本,快捷一键实现开启、关闭、清空等操作。

程序内容:

  1. 导入所需的模块:

    • subprocess:用于执行系统命令,例如启动、停止、重启Neo4j服务。
    • webbrowser:用于在默认的Web浏览器中打开Neo4j浏览器。
    • py2neo.Graph:用于连接到Neo4j数据库并执行操作。
    • py2neo.NodeMatcher:用于匹配和操作数据库中的节点。
  2. 创建Neo4j数据库连接:

    • 使用py2neo.Graph类创建了一个连接到Neo4j数据库的实例,使用了数据库的URL和凭据。
  3. 定义各种功能函数:

    • start_neo4j():启动Neo4j服务。
    • stop_neo4j():停止Neo4j服务。
    • restart_neo4j():重新启动Neo4j服务。
    • check_status():检查Neo4j服务的运行状态。
    • open_neo4j_browser():用默认Web浏览器打开Neo4j浏览器。
    • clear_data():清空数据集,即删除数据库中的所有节点和关系。
  4. 主程序函数main()

    • 在一个无限循环中,等待用户输入要执行的操作。
    • 打印菜单,列出了可以执行的操作。
    • 根据用户的选择,调用相应的函数执行操作。
    • 用户可以随时选择退出程序。

功能介绍:

  1. 启动Neo4j服务:

    • 启动Neo4j数据库服务,使其可以接受查询和操作。
  2. 停止Neo4j服务:

    • 停止正在运行的Neo4j数据库服务。
  3. 重新启动Neo4j服务:

    • 停止Neo4j服务,然后再次启动它,用于重新加载配置或应用更改。
  4. 检查Neo4j状态:

    • 检查Neo4j服务的运行状态,包括端口号、PID(进程ID)等信息。
  5. 用默认浏览器打开Neo4j浏览器:

    • 打开Neo4j浏览器的Web界面,以便执行Cypher查询和管理数据库。
  6. 清空数据集 (删除所有节点和关系):

    • 使用py2neo库来删除数据库中的所有节点和关系,慎用,数据一旦删除无法恢复。
  7. 退出程序:

    • 选择退出程序,结束当前会话。

这个程序使用户能够方便地执行各种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()

保存并赋予可执行权限后,运行即可使用

相关推荐
一晌小贪欢7 小时前
深入理解 Python HTTP 请求:从基础到高级实战指南
开发语言·网络·python·网络协议·http
七牛云行业应用7 小时前
1M上下文腐烂?实测Opus 4.6 vs GPT-5.3及MoA降本架构源码
人工智能·python·llm·架构设计·gpt-5·claude-opus
Cinema KI7 小时前
C++11(下) 入门三部曲终章(基础篇):夯实语法,解锁基础编程能力
开发语言·c++
m0_748229997 小时前
PHP+Vue打造实时聊天室
开发语言·vue.js·php
亓才孓7 小时前
[JDBC]事务
java·开发语言·数据库
枫叶丹47 小时前
【Qt开发】Qt界面优化(一)-> Qt样式表(QSS) 背景介绍
开发语言·前端·qt·系统架构
Java后端的Ai之路12 小时前
【Python 教程15】-Python和Web
python
冬奇Lab13 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
灰子学技术15 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
二十雨辰15 小时前
[python]-AI大模型
开发语言·人工智能·python