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

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

相关推荐
C4程序员15 分钟前
北京JAVA基础面试30天打卡14
java·开发语言·面试
黑客影儿43 分钟前
Go特有的安全漏洞及渗透测试利用方法(通俗易懂)
开发语言·后端·安全·web安全·网络安全·golang·系统安全
你好,我叫C小白1 小时前
C语言 常量,数据类型
c语言·开发语言·数据类型·常量
小红帽2.02 小时前
从ioutil到os:Golang在线客服聊天系统文件读取的迁移实践
服务器·开发语言·golang
Zafir20243 小时前
Qt实现TabWidget通过addTab函数添加的页,页内控件自适应窗口大小
开发语言·c++·qt·ui
阿巴~阿巴~3 小时前
深入解析C++非类型模板参数
开发语言·c++
预判你的代码3 小时前
Docker 快速下载Neo4j 方法记录
docker·容器·neo4j
集成显卡5 小时前
使用 Google 开源 AI 工具 LangExtract 进行结构化信息抽取
python·google·openai
久笙&5 小时前
对象存储解决方案:MinIO 的架构与代码实战
数据库·python·架构
小指纹5 小时前
河南萌新联赛2025第(六)场:郑州大学
java·开发语言·数据结构·c++·算法