Mac平台Neo4j图数据库:从安装到核心操作详解

Mac平台Neo4j图数据库:从安装到核心操作详解

一、环境准备

    • macOS 10.14+
    • Java 11+(推荐AdoptOpenJDK)

安装Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 

系统要求

brew install adoptopenjdk11 

二、Neo4j安装步骤

方式1:Homebrew安装(推荐)
brew install neo4j brew services start neo4j # 启动服务 

方式2:手动安装
  1. 下载社区版:
    https://neo4j.com/download-center/#community

解压并启动:

tar -xf neo4j-community-5.10.0-unix.tar.gz cd neo4j-community-5.10.0/bin ./neo4j start 

三、验证安装

终端检测

neo4j status # 查看服务状态 

访问Web控制台
浏览器打开:http://localhost:7474

默认账号:neo4j 默认密码:neo4j 
Neo4j Browser界面

四、核心操作指南

1. Cypher基础语法
// 创建节点 CREATE (:Person {name: 'Alice', age: 30}) CREATE (:Company {name: 'TechCorp'}) // 建立关系 MATCH (a:Person), (b:Company) WHERE a.name = 'Alice' CREATE (a)-[:WORKS_AT]->(b) 

2. 数据查询
// 查找所有人员 MATCH (p:Person) RETURN p // 路径查询 MATCH path=(:Person)-[:WORKS_AT]->(:Company) RETURN path LIMIT 5 

3. 数据导入(CSV示例)
LOAD CSV WITH HEADERS FROM 'file:///employees.csv' AS row CREATE (:Employee { id: row.id, name: row.name, department: row.dept }) 


五、进阶技巧

APOC扩展库
安装后启用高级图算法:

CALL apoc.path.spanningTree((:Person {name:'Alice'}), {maxLevel:3}) 

全文搜索

CALL db.index.fulltext.createNodeIndex("peopleSearch", ["Person"], ["name"]) 

索引优化

CREATE INDEX person_name_index FOR (p:Person) ON (p.name) 

六、常见问题解决

问题现象解决方案
端口7474被占用neo4j config set dbms.connector.bolt.listen_address=7687
Java版本冲突更新~/.neo4j.conf设置JAVA_HOME=/path/to/jdk11
内存不足修改conf/neo4j.conf中的dbms.memory.heap.max_size

七、学习资源推荐

  1. 官方文档:https://neo4j.com/docs/
  2. 图算法指南:https://neo4j.com/docs/graph-data-science/current/algorithms/
  3. 沙盒环境:https://sandbox.neo4j.com/
最佳实践提示:开发环境建议使用Docker容器部署,生产环境务必配置认证和HTTPS加密。通过EXPLAIN命令分析查询性能,定期使用apoc.monitor监控数据库状态。

Read more

【Actix Web】Rust Web开发实战:Actix Web框架全面指南

【Actix Web】Rust Web开发实战:Actix Web框架全面指南

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,ZEEKLOG全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Rust开发,Python全栈,Golang开发,云原生开发,PyQt5和Tkinter桌面开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi,flask等框架,云原生K8S,linux,shell脚本等实操经验,网站搭建,数据库等分享。 所属的专栏:Rust语言通关之路 景天的主页:景天科技苑 文章目录 * Rust Web开发 * 一、Actix Web框架概述 * 1.1 Actix Web的特点 * 1.2 Actix Web与其他Rust框架比较

【Java Web学习 | 第1篇】前端 - HTML

【Java Web学习 | 第1篇】前端 - HTML

文章目录 * Java Web概览 * HTML核心知识点总结 * 一、HTML基础概念🥝 * 1.1 HTML文档基本结构 * 1.2 HTML标签特点 * 二、常用HTML标签🧾 * 2.1 文本标签 * 2.2 链接与图像 * 综合示例 * 2.3 列表标签 * 2.4 表格标签 * 2.5 表单标签 * 三、HTML5新增特性🤔 * 3.1 语义化标签 * 3.2 媒体标签 * 3.3 其他新增特性 * 四、学习资源推荐🐦‍🔥 Java Web概览 HTML核心知识点总结 一、HTML基础概念🥝 1.1

Spring Web MVC 入门秘籍:从概念到实践的快速通道(上)

Spring Web MVC 入门秘籍:从概念到实践的快速通道(上)

个人主页:♡喜欢做梦 欢迎  👍点赞  ➕关注  ❤️收藏  💬评论 目录 一、什么是Spring Web MVC? 1.定义 2.关于MVC 2.1什么是MVC? 二、学习Sring MVC 1.项目准备 2.@RestController注解的介绍 3.@RequestMapping注解 1.@RequestMapping只用在类上(相当于“只给文件夹起名,不给文件起名”) 2.@RequestMapping只用在方法上(相当于“只给文件起名,不给文件夹起名”) 3.@RequestMapping用在类和方法上(相当于给文件夹和文件都取名) 三、Postman 1.什么是Postman? 2.关于API 3.传参介绍 1.普通传参: