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()

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

相关推荐
神仙别闹2 小时前
基于 C++ 实现(控制台)学生成绩管理系统
开发语言·c++
Y幽谷客2 小时前
Python加载本地大模型(Qwen3.5 8B)
python·大模型
伞伞悦读2 小时前
【第36期】Python 目录与路径详解:pathlib、文件遍历、创建、复制、移动和删除风险
开发语言·python
线上放牧人3 小时前
Windows删除图标缓存
windows·python·pyqt
qq_5470261793 小时前
Python 变量和简单数据类型
python
智搜广告4 小时前
智搜广告:科技行业AI回答优化公司如何破局
大数据·python·elasticsearch·geo
IpdataCloud5 小时前
AI智能体调用工具怎么核验来源IP?归属地、网络类型与代理风险识别(含Python代码)
数据库·python·tcp/ip
2601_966949655 小时前
只拿到股票代码还不够:量化程序到底还需要哪些标的信息?——从数据建模开始理解股票元数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
蒸鱼Yuzheng5 小时前
Python 游戏测试开发怎么准备:日志解析、接口校验、并发与可维护性
自动化测试·python·测试开发·面试题·游戏测试
m0_734571765 小时前
深入理解5g <十八>传输块tbsize的计算
开发语言·5g