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

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

相关推荐
985小水博一枚呀23 分钟前
【深度学习|可视化】如何以图形化的方式展示神经网络的结构、训练过程、模型的中间状态或模型决策的结果??
人工智能·python·深度学习·神经网络·机器学习·计算机视觉·cnn
CyreneSimon1 小时前
使用 LoRA 进行模型微调的步骤
python·transformer
ymchuangke1 小时前
数据清洗-缺失值处理-缺失值可视化图(竖线)
python·算法·数学建模
薛文旺1 小时前
c++可视化打印树
开发语言·c++
计算机学姐1 小时前
基于python+django+vue的旅游网站系统
开发语言·vue.js·python·mysql·django·旅游·web3.py
qq_278063712 小时前
css scrollbar-width: none 隐藏默认滚动条
开发语言·前端·javascript
Beginner_bml2 小时前
结构体---C语言
c语言·开发语言·数据结构
程序员小羊!2 小时前
Python语言基础教程(下)4.0
开发语言·python
huanxiangcoco2 小时前
73. 矩阵置零
python·leetcode·矩阵
vczxh2 小时前
c++ templates常用函数
开发语言·c++