大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。
Apt安装
Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics
我这里安装是添加软件源的方法
最新版本
wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add –
echo 'deb https://debian.neo4j.com stable latest' | sudo tee /etc/apt/sources.list.d/neo4j.list
sudo apt-get update
sudo apt install neo4j #默认安装最新版
配置Neofj
随后,配置可以远程访问
sudo vim /etc/neo4j/neo4j.conf
在文中添加
server.logs.config=/etc/neo4j/server-logs.xml
server.logs.user.config=/etc/neo4j/user-logs.xml
server.default_listen_address=0.0.0.0
随后配置开机自启动
systemctl start neo4j.service
systemctl status neo4j.service
启动成功
Neo4j编程
Neo4j使用节点(Node)和关系(Relationship)来存储和表示数据。本文档将通过一个综合的电影知识图谱示例,展示如何在Neo4j中创建复杂的图模型并生成可视化效果。
创建节点
创建电影节点
// 创建经典电影节点
CREATE (matrix:Movie {
title: "The Matrix",
released: 1999,
genre: ["Action", "Sci-Fi"],
rating: 8.7,
budget: 63000000,
boxOffice: 467000000
})
CREATE (godfather:Movie {
title: "The Godfather",
released: 1972,
genre: ["Crime", "Drama"],
rating: 9.2,
budget: 6000000,
boxOffice: 287000000
})
CREATE (inception:Movie {
title: "Inception",
released: 2010,
genre: ["Action", "Sci-Fi", "Thriller"],
rating: 8.8,
budget: 160000000,
boxOffice: 836000000
})
CREATE (avatar:Movie {
title: "Avatar",
released: 2009,
genre: ["Action", "Adventure", "Sci-Fi"],
rating: 7.8,
budget: 237000000,
boxOffice: 2923000000
})
创建演员结点
// 创建演员节点
CREATE (keanu:Actor {
name: "Keanu Reeves",
born: 1964,
nationality: "Canadian",
awards: ["Saturn Award", "MTV Movie Award"]
})
CREATE (laurence:Actor {
name: "Laurence Fishburne",
born: 1961,
nationality: "American",
awards: ["Emmy Award", "Tony Award"]
})
CREATE (brando:Actor {
name: "Marlon Brando",
born: 1924,
nationality: "American",
awards: ["Academy Award", "Golden Globe"]
})
CREATE (dicaprio:Actor {
name: "Leonardo DiCaprio",
born: 1974,
nationality: "American",
awards: ["Academy Award", "Golden Globe", "BAFTA"]
})
CREATE (cameron_diaz:Actor {
name: "Cameron Diaz",
born: 1972,
nationality: "American",
awards: ["Golden Globe Nomination"]
})
创建导演节点
// 创建导演节点
CREATE (wachowski:Director {
name: "The Wachowskis",
activeYears: "1996-present",
nationality: "American",
knownFor: ["Sci-Fi", "Action"]
})
CREATE (coppola:Director {
name: "Francis Ford Coppola",
born: 1939,
nationality: "American",
awards: ["Academy Award", "Palme d'Or"],
knownFor: ["Drama", "Crime"]
})
CREATE (nolan:Director {
name: "Christopher Nolan",
born: 1970,
nationality: "British",
awards: ["Academy Award", "BAFTA"],
knownFor: ["Thriller", "Sci-Fi"]
})
CREATE (cameron:Director {
name: "James Cameron",
born: 1954,
nationality: "Canadian",
awards: ["Academy Award", "Golden Globe"],
knownFor: ["Sci-Fi", "Action", "Adventure"]
})
创建制片公司节点
// 创建制片公司节点
CREATE (warner:Studio {
name: "Warner Bros.",
founded: 1923,
headquarters: "Burbank, California",
revenue: 15000000000
})
CREATE (paramount:Studio {
name: "Paramount Pictures",
founded: 1912,
headquarters: "Hollywood, California",
revenue: 3800000000
})
CREATE (fox:Studio {
name: "20th Century Fox",
founded: 1935,
headquarters: "Los Angeles, California",
revenue: 9000000000
})
创建用户节点
// 创建用户节点
CREATE (alice:User {
name: "Alice Johnson",
age: 28,
location: "New York",
favoriteGenre: ["Sci-Fi", "Action"]
})
CREATE (bob:User {
name: "Bob Smith",
age: 35,
location: "Los Angeles",
favoriteGenre: ["Drama", "Crime"]
})
CREATE (carol:User {
name: "Carol Williams",
age: 42,
location: "Chicago",
favoriteGenre: ["Thriller", "Adventure"]
})
创建关系
演员-电影关系
匹配已存在的节点并创建关系
MATCH (keanu:Actor {name: "Keanu Reeves"})
MATCH (matrix:Movie {title: "The Matrix"})
CREATE (keanu)-[:ACTED_IN {role: "Neo", screenTime: 90}]->(matrix)
MATCH (laurence:Actor {name: "Laurence Fishburne"})
MATCH (matrix:Movie {title: "The Matrix"})
CREATE (laurence)-[:ACTED_IN {role: "Morpheus", screenTime: 65}]->(matrix)
MATCH (brando:Actor {name: "Marlon Brando"})
MATCH (godfather:Movie {title: "The Godfather"})
CREATE (brando)-[:ACTED_IN {role: "Vito Corleone", screenTime: 85}]->(godfather)
MATCH (dicaprio:Actor {name: "Leonardo DiCaprio"})
MATCH (inception:Movie {title: "Inception"})
CREATE (dicaprio)-[:ACTED_IN {role: "Dom Cobb", screenTime: 120}]->(inception)
MATCH (cameron_diaz:Actor {name: "Cameron Diaz"})
MATCH (avatar:Movie {title: "Avatar"})
CREATE (cameron_diaz)-[:ACTED_IN {role: "Dr. Grace Augustine", screenTime: 45}]->(avatar)
导演-电影关系
MATCH (wachowski:Director {name: "The Wachowskis"})
MATCH (matrix:Movie {title: "The Matrix"})
CREATE (wachowski)-[:DIRECTED {year: 1999, budget: 63000000}]->(matrix)
MATCH (coppola:Director {name: "Francis Ford Coppola"})
MATCH (godfather:Movie {title: "The Godfather"})
CREATE (coppola)-[:DIRECTED {year: 1972, budget: 6000000}]->(godfather)
MATCH (nolan:Director {name: "Christopher Nolan"})
MATCH (inception:Movie {title: "Inception"})
CREATE (nolan)-[:DIRECTED {year: 2010, budget: 160000000}]->(inception)
MATCH (cameron:Director {name: "James Cameron"})
MATCH (avatar:Movie {title: "Avatar"})
CREATE (cameron)-[:DIRECTED {year: 2009, budget: 237000000}]->(avatar)
制片公司-电影关系
MATCH (warner:Studio {name: "Warner Bros."})
MATCH (matrix:Movie {title: "The Matrix"})
CREATE (warner)-[:PRODUCED {investment: 63000000, profit: 404000000}]->(matrix)
MATCH (paramount:Studio {name: "Paramount Pictures"})
MATCH (godfather:Movie {title: "The Godfather"})
CREATE (paramount)-[:PRODUCED {investment: 6000000, profit: 281000000}]->(godfather)
MATCH (warner:Studio {name: "Warner Bros."})
MATCH (inception:Movie {title: "Inception"})
CREATE (warner)-[:PRODUCED {investment: 160000000, profit: 676000000}]->(inception)
MATCH (fox:Studio {name: "20th Century Fox"})
MATCH (avatar:Movie {title: "Avatar"})
CREATE (fox)-[:PRODUCED {investment: 237000000, profit: 2686000000}]->(avatar)
用户评分关系
MATCH (alice:User {name: "Alice Johnson"})
MATCH (matrix:Movie {title: "The Matrix"})
CREATE (alice)-[:RATED {score: 9.5, timestamp: datetime("2024-01-15T14:30:00")}]->(matrix)
MATCH (alice:User {name: "Alice Johnson"})
MATCH (inception:Movie {title: "Inception"})
CREATE (alice)-[:RATED {score: 9.0, timestamp: datetime("2024-02-10T19:45:00")}]->(inception)
MATCH (bob:User {name: "Bob Smith"})
MATCH (godfather:Movie {title: "The Godfather"})
CREATE (bob)-[:RATED {score: 10.0, timestamp: datetime("2024-01-20T21:15:00")}]->(godfather)
MATCH (carol:User {name: "Carol Williams"})
MATCH (avatar:Movie {title: "Avatar"})
CREATE (carol)-[:RATED {score: 8.5, timestamp: datetime("2024-03-05T16:20:00")}]->(avatar)
MATCH (carol:User {name: "Carol Williams"})
MATCH (inception:Movie {title: "Inception"})
CREATE (carol)-[:RATED {score: 9.2, timestamp: datetime("2024-02-28T20:10:00")}]->(inception)
演员间合作关系
MATCH (keanu:Actor {name: "Keanu Reeves"})
MATCH (laurence:Actor {name: "Laurence Fishburne"})
CREATE (keanu)-[:COLLABORATED_WITH {movie: "The Matrix", year: 1999}]->(laurence)
可视化
Neo4j Browser中生成完整的图可视化:
MATCH (n)-[r]->(m)
RETURN n, r, m
LIMIT 100
电影生态系统可视化
MATCH path = (n)-[*1..2]-(movie:Movie {title: "The Matrix"}) RETURN path
演员关系网络
// 显示演员之间的协作网络
MATCH (actor1:Actor)-[:ACTED_IN]->(movie:Movie)<-[:ACTED_IN]-(actor2:Actor)
WHERE actor1 <> actor2
RETURN actor1, movie, actor2
相关文章:

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...