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

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

相关推荐
一只爱撸猫的程序猿10 分钟前
全球出货第二,却不在 AI 的默认推荐里:一份悖论解剖报告
人工智能·python·产品
青峰讲运维10 分钟前
OpenStack Heat 编排:用模板一键交付云业务,告别手动点页面
开发语言·php·openstack
piaoyiren14 分钟前
Python FTP 服务端项目详细功能文档
网络·数据库·python
miofly20 分钟前
GitHub 今日推荐|Edge0:让大号 MoE 模型在一台 Mac 上流式跑起来
python·开源·github
MyFreeIT31 分钟前
Python Windows Manual
开发语言·python
wusam38 分钟前
基于HCL的python脚本编程(2)
网络·python·智能路由器
kiracrimson42 分钟前
STL:List的使用和模拟实现
开发语言·c++·list
神仙别闹1 小时前
基于Python+MySQL实现(Web)个人博客系统
python·mysql·php
二十七日秋1 小时前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
小咕聊编程1 小时前
基于Django的个人摄影博客网站设计与开发
后端·python·django