neo4j desktop2 安装与使用

1. Neo4j Desktop 2 简介

1.1 Neo4j Desktop 2 的核心功能与优势

Neo4j Desktop 2 是 Neo4j 官方推出的图形化数据库管理工具,专为开发者和数据科学家设计。

其主要优势包括:

一体化开发环境:集成了数据库实例管理、查询编辑、数据可视化和扩展管理

本地开发友好:支持在本地机器上快速创建和测试图数据库实例

多版本管理:可同时管理多个 Neo4j 数据库版本

插件生态系统:内置插件市场,轻松安装常用扩展 

项目管理:以项目为单位组织数据库、查询和配置  

1.2 适用场景

图数据库开发:为应用程序开发提供本地图数据库环境

本地测试:在部署到生产环境前进行数据模型测试和查询验证

项目管理:管理多个图数据库项目,保持环境隔离

教育与学习:学习 Cypher 查询语言和图数据库概念

2.安装neo4j desktop2

需要装JAVA (注意桌面版和社区版对Java都有要求)

桌面版版本不能过低,建议SE14以上,不需要配置环境和路径;社区版版本不能太高,SE15

下,需要自己手动配置环境和路径。可以去java官网下载历史版本

历史版本下载需要官网注册,注册成功后,可以免费下载。

方法一与方法二下载的结果安装包一样,但是方法一只能下载最新版2.0.5

方法一、通过https://neo4j.com/download下载或者使用网页版

点击桌面版下载

跳转到以下页面

填写信息就会自动下载安装包

方法二、通过https://neo4j.com/下载

点击后跳转到以下页面

往下划找到以下页面即可,可以按自己的需求安装在相应的操作系统。可以下载最新版本2.0.5,也可以下载旧版本1.6,网络上1.6版本教程较多,使用方法也比较简单,本人下载的是2.0.5,网络上教程有点少,所以在使用时也有踩一些坑,比例说不知道怎么创建项目,不知道如何运行项目创建知识图谱,不知道用户名是Instance name还是database user。

3.创建并管理本地图数据库

3.1新建数据库实例:

点击创建一个项目

填写项目名称与密码后点击创建,这里可以看到dstabase user默认为neo4j。

3.2启动与停止数据库:

这里可以看到项目默认为关闭的(STOPPED),点击①标注的即可运行。

此时会弹出一个弹窗,关闭弹窗项目就会结束运行,需要启动时可以先隐藏。

此时可以点开database中查看数据库,默认只有neo4j一个,可以点击create database创建多个知识图谱。然后点击connect可以查看query和explore。

4.构造知识图谱的方法

4.1在查询编辑器中输入代码

4.1.1基础操作

(1)创建节点
// 创建人物节点
CREATE (p:Person {name: 'Alice', age: 30, occupation: 'Engineer'})

// 创建多个节点
CREATE 
  (p1:Person {name: 'Bob', age: 25}),
  (p2:Person {name: 'Charlie', age: 35}),
  (c:Company {name: 'Tech Corp', industry: 'Technology'})
(2)创建关系
// 先匹配节点,然后创建关系
MATCH 
  (a:Person {name: 'Alice'}),
  (b:Person {name: 'Bob'})
CREATE (a)-[:FRIENDS_WITH {since: '2023-01-01'}]->(b)

// 创建节点和关系同时进行
CREATE 
  (alice:Person {name: 'Alice'})-[:WORKS_AT {position: 'Developer'}]->(company:Company {name: 'Neo4j Inc'})
(3)添加/更新属性
// 添加属性
MATCH (p:Person {name: 'Alice'})
SET p.email = '[email protected]'

// 更新多个属性
MATCH (p:Person {name: 'Bob'})
SET p.age = 26, p.department = 'Engineering'

// 添加标签
MATCH (p:Person {name: 'Charlie'})
SET p:Employee:Manager

4.1.2查询操作

(1)MATCH 基础查询
// 查询所有人物
MATCH (p:Person) 
RETURN p

// 查询特定属性
MATCH (p:Person) 
WHERE p.age > 25 
RETURN p.name, p.age

// 查询关系和路径
MATCH (p1:Person)-[r:FRIENDS_WITH]->(p2:Person)
RETURN p1.name, p2.name, r.since
(2)复杂查询示例
// 查找朋友的朋友
MATCH (p:Person {name: 'Alice'})-[:FRIENDS_WITH*2]->(friendOfFriend)
RETURN friendOfFriend.name

// 聚合查询
MATCH (p:Person)
RETURN p.occupation, COUNT(*) as count, AVG(p.age) as avgAge

// 路径查询
MATCH path = (start:Person)-[:FRIENDS_WITH|WORKS_AT*1..3]->(end)
WHERE start.name = 'Alice'
RETURN path

4.2通过import导入csv等文件导入节点

4.3使用python代码

使用代码连接neo4j

踩坑点:

“neo4j://127.0.0.1:7687”是项目上的url,auth=("neo4j","密码")这是用户名database user与创建项目时设置的密码。

4.4在网站上输入http://localhost:7474,可以连接neo4j网页版,输入密码即可。

如果习惯使用旧版本,点击红色即可使用旧版本的neo4j。

以下为旧版本页面

然后通过右键可以使用expand查看相关节点。

Read more

C++ 模板编程基础:泛型编程入门与实践

C++ 模板编程基础:泛型编程入门与实践

第33篇:C++ 模板编程基础:泛型编程入门与实践 一、学习目标与重点 * 掌握模板的核心概念、分类(函数模板、类模板)及基本语法 * 理解泛型编程的思想,能够独立编写函数模板和类模板 * 掌握模板的实例化、特化、偏特化等关键技术 * 解决模板使用中的常见问题(类型推导失败、编译错误等) * 结合实际场景运用模板提升代码复用性和灵活性 * 了解模板与STL的关联,为后续STL学习奠定基础 💡 核心重点:模板的语法规则、类型参数与非类型参数的使用、模板特化的应用场景、泛型编程的核心价值 二、模板与泛型编程概述 2.1 什么是泛型编程 泛型编程(Generic Programming)是一种代码复用技术,核心思想是“编写与类型无关的通用代码,在使用时再指定具体类型”,实现“一次编写,多次复用”。 🗄️ 生活中的泛型类比: * 快递盒:同一个快递盒(通用容器)可装手机、书籍、衣物(不同类型数据)

By Ne0inhk
运用Java及SunriseSunsetCalculator,探寻长沙市的理论日照时长

运用Java及SunriseSunsetCalculator,探寻长沙市的理论日照时长

目录 前言 一、理论日照时长简介 1、理论日照时长计算 2、理论日照时长数学计算 二、SunriseSunsetCalculator求解 1、SunriseSunsetCalculator引入 2、时区计算设置 3、理论时长计算 4、完整的代码及日常统计 三、总结 前言         在地理学与气象学的研究领域,日照时长一直是备受关注的重要指标。它不仅与地球的自转、公转以及大气环流等诸多自然因素紧密相连,更对人类的生产生活有着深远的影响。从农作物的生长周期到太阳能资源的开发利用,从城市的规划布局到居民的健康生活,日照时长都扮演着不可或缺的角色。而长沙市,作为湖南省的省会城市,以其独特而复杂的地理环境和气候特征,其日照时长的研究具有重要的现实意义和学术价值。         长沙市地处中国南方,属于亚热带季风气候区。这里四季分明,降水充沛,但同时也存在着云层覆盖多、日照时间相对较短等特点。随着城市化进程的加速和经济的快速发展,对于日照时长的精准把握需求日益迫切。一方面,城市规划者需要了解日照时长的分布规律,以合理规划城市建筑布局,确保居民住宅和公共设施能

By Ne0inhk
Flutter 中 JavaScript(JS)与 Dart 双向通信实现方案

Flutter 中 JavaScript(JS)与 Dart 双向通信实现方案

文章目录 * 基于官方 webview_flutter 插件的通信方式 * 在 pubspec.yaml 中添加 * 静态 js 文件,建立通道 * dart 文件 创建 web 交互 方法定义 * 项目启动类 * Web 平台 - Dart 与 JS 通信 * @JS * 传递 Dart 函数给 JS(回调) 基于官方 webview_flutter 插件的通信方式 基于官方 webview_flutter 插件的通信方式 在 pubspec.yaml 中添加 添加 webview 包 方便后面使用,记得

By Ne0inhk
最简单的es理解 数据库视角看写 ES 加 java正删改查深度分页

最简单的es理解 数据库视角看写 ES 加 java正删改查深度分页

目录 介绍  es数据结构 java 操作  根据script update mget可以批量的根据index,type,ids三个字段来获取一批数据 根据文档编号进行获取 验证ES查询对象 根据条件删除,谨慎使用,整不好就把整个索引清空了 删除文档库 插入文档(如果重复插入就会导致后面的将前面的数据进行覆盖) 批量bulk操作 已存在,覆盖(如果进行更新操作时,params中的数据需要和ES中的数据元素保持一致,不然就会丢失部分数据) 更新插入操作 upsert操作 通过主键批量更新 id更新文档 查表行数 条件查表行数 条件加游标SearchAfter深度分页 **分页返回对象*** ***ES查询对象*** 完整代码  es 相关代码 ESDbUtils es工具类 ElasticsearchTemplate es链接 ESQueryObj 查询对象 EsScriptUtil 脚本工具 异常 SystemException BusinessException BaseException BadArgumentExcept

By Ne0inhk