大数据学习栈记——Neo4j的安装与使用

news2025/7/30 22:08:43

本文介绍图数据库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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2408010.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

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

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag

手游刚开服就被攻击怎么办?如何防御DDoS?

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

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…

地震勘探——干扰波识别、井中地震时距曲线特点

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

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…

linux之kylin系统nginx的安装

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

C++_核心编程_多态案例二-制作饮品

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

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…