初识Neo4j之入门介绍(一)

一、介绍

Neo4j 是一个原生图数据库,这意味着它自底向上地实现了真正的图模型。Neo4j 并不是在其他技术之上叠加一个"图抽象层",而是将数据以用户在白板上绘制想法的方式直接存储在数据库中。上述这段话的意思是,Neo4j 并不像有些其他数据库(比如基于关系型或文档型数据库)那样先用传统的存储方式保存数据,再在上面加一层,让用户感觉自己在用图数据库。相反,Neo4j 从数据存储的最底层开始,就是按照图的结构设计和实现的:节点和关系(边)就是底层的基本单位,数据的存储、访问和查询都原生支持图模型。这就像你在白板上点出几个点(节点)、再用线(关系)把这些点连接起来。在 Neo4j 里,数据结构和你脑海中的图是一致的,没有额外的复杂转换层。这样不仅易于理解,也让处理复杂关系和多层连接的数据变得非常高效。

二、Neo4j的生态

Neo4j以属性图数据库为核心,提供了一个由工具、应用程序和库组成的生态系统,该生态系统旨在帮助用户快速上手这项技术。

1)Aura

  • 定义:Neo4j Aura是Neo4j官方的完全托管云服务产品(Database-as-a-Service)。
  • 作用:用户可以在云端快速创建、扩展、管理和访问Neo4j数据库,无需自己部署或维护服务器。

2)Cypher

  • 定义:Cypher是Neo4j的专用图查询语言(类似SQL之于关系型数据库),用来描述模式、查询、插入与操作图数据。
  • 作用:开发者用Cypher语句进行节点、关系创建、查询、更新和删除等操作,是使用Neo4j的核心交互语言。

3)Drivers & APIs

  • 定义:指各种编程语言(Java、Python、JavaScript等)的官方或社区开发的连接库和接口。

  • 作用:应用程序可以通过这些驱动,用代码与Neo4j数据库进行通信、发送Cypher指令、获取数据结果等。

4)Connectors

  • 定义:实现Neo4j与其它系统或数据库的数据交换、集成方案的工具/插件。
  • 举例
    • JDBC Connector:让Neo4j像表格一样被SQL工具访问。
    • ETL工具:如Neo4j ETL,便于从关系型数据库导入数据。
    • Kafka Connector:支持与流处理系统集成。

5)Tools

  • 定义:指与Neo4j配套的桌面应用、命令行工具、插件等。
  • 常见工具
    • Neo4j Desktop:本地开发图数据库的客户端。
    • Neo4j Browser:Web下图形化Cypher查询和结果展示工具。
    • Neo4j Bloom:面向业务人员的图探索和可视化工具。
    • 管理员工具:迁移、监控、备份等。

6)Graph Data Science

  • 定义:Neo4j Graph Data Science(GDS)是Neo4j的一套用于图分析和机器学习的算法库和工具集。
  • 作用:用于关系挖掘、社群发现、节点排名、图特征工程等数据科学任务,支持大规模图算法计算,深度探索图结构中的知识。

7)Visualization

  • 定义:指将图数据以节点-关系图等形式可视化展示,便于理解和探索。
  • 实现方式
    • 利用Neo4j Browser、Bloom或第三方工具(如Gephi、Graphistry)进行节点和关系的可视化。
    • 可嵌入到应用程序的前端。

三、如何与Neo4j交互

Neo4j 使用一种类似于 SQL 的声明式查询语言Cypher,并且它针对图数据进行了优化。另一个选择是使用库,Neo4j目前支持Java、JavaScript、. net、Python、Go、GraphQL、Spring等。

四、创建Neo4j实例

部署方法包括:全托管的云服务、自主管理云服务以及自主管理的本地部署。

相关推荐
cqsztech10 分钟前
ORACLE数据库中如何找到过去某个时间某个表被谁修改了
数据库·oracle
好记忆不如烂笔头abc22 分钟前
sql评估存储的速度和稳定性
数据库·sql
小鹏linux33 分钟前
《openGauss安全架构与数据全生命周期防护实践:从技术体系到行业落地》
数据库·opengauss·gaussdb
朝新_1 小时前
【实战】动态 SQL + 统一 Result + 登录校验:图书管理系统(下)
xml·java·数据库·sql·mybatis
装不满的克莱因瓶1 小时前
什么是脏读、幻读、不可重复读?Mysql的隔离级别是什么?
数据库·mysql·事务·隔离级别·不可重复读·幻读·脏读
aramae2 小时前
MySQL数据库入门指南
android·数据库·经验分享·笔记·mysql
Apache IoTDB2 小时前
时序数据库 IoTDB 集成 MyBatisPlus,告别复杂编码,简化时序数据 ORM 开发
数据库·struts·servlet·时序数据库·iotdb
isNotNullX3 小时前
怎么用数据仓库来进行数据治理?
大数据·数据库·数据仓库·数据治理
小坏讲微服务3 小时前
Spring Cloud Alibaba Gateway 集成 Redis 限流的完整配置
数据库·redis·分布式·后端·spring cloud·架构·gateway
HitpointNetSuite3 小时前
连锁餐饮行业ERP系统如何选择?
大数据·数据库·oracle·netsuite·erp