Neo4j 图数据科学应用 - 图目录和图投影(二)

Neo4j 图数据科学应用 - 图目录和图投影(一) 图目录(Graph Catalogue)和图投影(GraphProjection) 原文链接:https://neo4j.com/docs/graph-data-science/current/management-ops/graph-catalog-ops/ 本节详细介绍了可用于管理 Neo4j 图数据科学库中命名图投影的图目录操作。 1.概述 图算法在图数据模型上运行,该模型是 Neo4j 属性图数据模型的投影(Projection)。 图投影可以看作是物理存储的图结构数据在内存(主要是JV.. 阅读详情

3. 在目录中列出图表

可以使用gds.graph.list()过程列出有关目录中图的信息,该过程采用一个可选参数graphName:

  • 如果给出图名称,则仅列出该图的信息。
  • 如果没有给出图名称,将列出所有图的信息。
  • 如果给出了图名称但未在目录中找到,则将返回一个空列表。
CALL gds.graph.list(
  graphName: String?
) YIELD
  graphName,
  database,
  nodeProjection,
  relationshipProjection,
  nodeQuery,
  relationshipQuery,
  nodeFilter,
  relationshipFilter,
  nodeCount,
  relationshipCount,
  schema,
  degreeDistribution,
  density,
  creationTime,
  modificationTime,
  sizeInBytes,
  memoryUsage;

表 8. 结果

NameTypeDescription

graphName

String

Name of the graph.

database

String

Name of the database in which the graph has been created.

nodeProjection

Map

Node projection used to create the graph. If a Cypher projection was used, this will be a derived node projection.

relationshipProjection

Map

Relationship projection used to create the graph. If a Cypher projection was used, this will be a derived relationship projection.

nodeQuery

String

Node query used to create the graph. If a native projection was used, this will be null.

relationshipQuery

String

Relationship query used to create the graph. If a native projection was used, this will be null.

nodeFilter

String

The node filter used when creating this subgraph from another in-memory graph. If the graph has been created from Neo4j, this will be null.

relationshipFilter

String

The relationship filter used when creating this subgraph from another in-memory graph. If the graph has been created from Neo4j, this will be null.

nodeCount

Integer

Number of nodes in the graph.

relationshipCount

Integer

Number of relationships in the graph.

schema

Map

Node labels, Relationship types and properties contained in the in-memory graph.

degreeDistribution

Map

Histogram of degrees in the graph.

density

Float

Density of the graph.

creationTime

Datetime

Time when the graph was created.

modificationTime

Datetime

Time when the graph was last modified.

sizeInBytes

Integer

Number of bytes used in the Java heap to store the graph.

memoryUsage

String

Human readable description of sizeInBytes.

该信息包含有关图的基本统计信息,例如节点和关系计数。结果字段creationTime 指示图何时在内存中创建。结果字段modificationTime指示图何时被以mutate模式运行的算法更新。

database列是指在其上创建相应图的数据库的名称。在过程中引用命名图只允许在它创建的数据库上。

schema包含有关存储在图中的节点和关系的信息。对于每个节点标签,模式将标签映射到其属性键及其对应的属性类型。同样,模式将关系类型映射到它们的属性键和属性类型。属性类型是Integer, Float, List of Integer 或者 List of Float。

对于较大的图, degreeDistribution字段的计算可能相当耗时。 它的计算是按图缓存的,因此同一图的后续列表速度将很快。 为避免计算度分布,可以在 YIELD子句中指定忽略它。 请注意,不指定 YIELD子句与请求返回所有字段的效果是相同的。

density是relationshipCount除以具有给定nodeCount的简单图的最大关系数的结果。

3.1. 例子

// 列出所有图的基本信息
CALL gds.graph.list()
YIELD graphName, nodeCount, relationshipCount, schema;
// 列出指定名称图的详细信息
CALL gds.graph.list('my-cypher-graph')
YIELD graphName, nodeQuery, relationshipQuery, nodeCount, relationshipCount, schema, creationTime, modificationTime, memoryUsage;
// 列出指定名称的图的度分布信息
CALL gds.graph.list('my-cypher-graph')
YIELD graphName, degreeDistribution;

4. 检查目录中是否存在图

我们可以通过查找其名称来检查图是否存储在目录中。

CALL gds.graph.exists('my-store-graph') YIELD exists;

5. 从命名图中删除节点属性

我们可以从目录中的命名图中删除节点属性。 这对于释放主内存或删除意外创建的节点属性很有用。

CALL gds.graph.removeNodeProperties('my-graph', ['pageRank', 'communityId'])

上面的示例要求所有给定的属性都存在于至少一个节点投影上,并且这些属性将从所有此类投影中删除。

该过程可以配置为仅删除某些特定节点投影的属性。在下面的例子中,我们在子图上运行了一个算法,随后删除了新创建的属性。

CALL gds.graph.create('my-graph', ['A', 'B'], '*')
CALL gds.wcc.mutate('my-graph', {nodeLabels: ['A'], mutateProperty: 'componentId'})
CALL gds.graph.removeNodeProperties('my-graph', ['componentId'], ['A'])

当指定了非 * 的投影列表时,如上例所示,将应用不同的验证和执行; 然后要求所有投影都具有所有给定的属性,并且将从所有投影中删除它们。

如果任何给定的投影是“*”,则该过程的行为与第一个示例中的一样。

6. 从命名图中删除关系类型

我们可以从目录中的命名图中删除给定类型的所有关系。这对于释放主内存或删除意外创建的关系类型很有用。

CALL gds.graph.deleteRelationships('my-graph', 'T')
YIELD graphName, relationshipType, deletedRelationships, deletedProperties

7. 从目录中删除图表

使用完命名图后,我们可以将其从目录中删除以释放内存。

CALL gds.graph.drop('my-store-graph') YIELD graphName;

如果我们希望该过程在不存在的图上静默失败,我们可以将布尔标志作为第二个参数设置为 false。 对于不存在的图,这将产生一个空结果。

CALL gds.graph.drop('my-fictive-graph', false) YIELD graphName;

如果我们想删除在另一个数据库上创建的图,我们可以将数据库名称设置为第三个参数。 对于不存在的图,这也将产生一个空结果。

CALL gds.graph.drop('my-fictive-graph', false, 'my-other-db') YIELD graphName;

如果我们是 GDS 管理员并且想要删除属于另一个用户的图,我们可以将用户名设置为过程的第四个参数。 如果有多个用户具有相同名称的图,这将非常有用。

CALL gds.graph.drop('my-fictive-graph', false, '', 'another-user') YIELD graphName;

有关这方面的更多详细信息,请参阅管理页面。

GraphAcademy 课程讲解:《Neo4j 图数据科学简介》 本文给大家介绍最近在 GraphAcademy 新上线的一门互动课程《Neo4j 图数据科学简介》,希望通过本文的阅读可以对课程结构和学习模式有个了解,欢迎注册本课程开始你自己的学习和测验。 阅读详情

相关推荐

GraphAcademy 课程讲解:《Neo4j 图数据科学基础》

今天给大家介绍课程《Neo4j 图数据科学基础》,我们详细看一下Neo4j GDS提供的图算法和它们适用的场景,以及图机器学习的基本用法。希望通过本文的阅读可以了解课程内容,强烈推荐注册课程开始你自己的学习和进行实际编码和测试。......

Neo4j 开发者博客 1549

Neo4j数据库GDS算法演示

Neo4j的GDS环境搭建及常见的图算法使用示例。

aol_aog的专栏 3529

Neo4j图数据科学及2.0版本新功能介绍

传统的关系数据库不擅长处理关系,图模型是建立在关系之上的,因此借助图数据科学可以获得更好的数据分析和预测的结果。研究表明70%以上的看似正常行为的欺诈都是团伙欺诈,比如互相套用真实身份信息做一些看似正常的交易,这种团伙欺诈就很难被传统的欺诈检测系统发现。Neo4j是业界最早推出图算法的厂商,图算法由早期的ALGO 3.5升级为了GDS 1.0,预示着Neo4j从算法平台向图数据科学平台的演进。Neo4j的图算法还可以在运行过程中去丰富内存图的内容,比如可以将中间结果写回到内存图被其他的算法反复地调用。

Jennifer726的博客 701

Neo4j 图数据科学应用 - 图目录和图投影(三)

本系列的前二篇请参见: Neo4j 图数据科学应用 - 图目录和图投影(二) 8. 以数据流方式返回节点属性 我们可以将存储在命名内存图中的节点属性流式传输回用户。 如果我们在mutate模式下运行多个算法并想要检索部分或全部结果,这将非常有用。 这类似于stream执行模式的作用,但允许对操作进行更细粒度的控制。 CALL gds.graph.streamNodeProperties('my-graph', ['componentId', 'pageRank', 'communityId

GraphWay的博客 1159

最新发布:Neo4j 图数据科学 GDS 2.0 和 AuraDS GA

从两年前我们发布最初的图数据科学(Graph Data Science,简称GDS)产品今天拥有功能齐全的图数据科学平台,这是一段疯狂的旅程。刚开始我们有一些你喜欢的图算法及让图数据科学变得超级简单的愿景,而今天我们迎来了 Neo4j 图数据科学发布两周年的日子,为你带来了一些惊人的新特性:

Neo4j 开发者博客 842

基于属性图的原生图计算和学习 - Neo4j GDS介绍

(本文部分内容来自Neo4j.com:https://neo4j.com/blog/announcing-graph-native-machine-learning-in-neo4j/ ) 作为全球领先的图数据库平台软件开发者,Neo4j率先发布全球第一个“原生图机器学习库” GDS :Graph Data Science 版本1.4。在这一版本中,除了增加更多图算法外,还第一次引入并实现了面向“图学习”(Graph Machine Learning)的企业级“图嵌入”(Graph Embedding).

GraphWay的博客 3881

高性能 NoSQL 图数据库Neo4j

Neo4j是一款高性能的NoSQL图数据库,采用属性图模型存储节点和关系数据,支持Cypher查询语言和ACID事务。其核心优势在于灵活的数据模型、高效的图遍历性能和丰富的内置图算法,适用于社交网络、推荐系统、知识图谱等场景。Neo4j提供多种图算法,包括中心性算法、社区检测、路径查找等,能有效分析复杂关系网络。例如,在社交网络中,PageRank可识别意见领袖,Louvain算法可划分社群,Adamic-Adar算法可预测潜在关系。这些算法组合应用可优化好友推荐、精准营销和舆情监控等功能,但需考虑数据规模

Made In SQL 1287

neo4j算法插件-GDS安装

java11+neo4j4.3+gds1.6 https://download.csdn.net/download/Da___Vinci/19887360 原文 https://neo4j.com/docs/graph-data-science/current/installation/ 译文 ------------------------------------------------------------------------------- 安装 本章提供了 Neo4j

洪源的博客 6306

Neo4j Graph Data Science入门

Neo4j Graph Data Science创建项目简介数据来源 创建项目 官方文档参考 首先进入sandbox官网 第一次进入需要先登录账号,进入后,点击左上角+New Project创建一个新项目,选择Graph Data Science进行创建。 创建成功后,就可以进入到Brower页面了(注意360浏览器无法打开,推荐使用谷歌浏览器操作) 在neo4j destop输入 :play https://guides.neo4j.com/sandbox/graph-data-science 可以打

tiandao451的博客 7326

【知识图谱】Neo4j GDS(Graph Data Science)安装和使用

Neo4j Graph Data Science (GDS) 图算法用于计算图、节点或关系的度量。它们可以提供关于图中相关实体(中心性、排名)或社区等固有结构(社区检测、图分区、聚类)的见解。许多图算法都是迭代方法,经常使用随机游动、广度优先或深度优先搜索或模式匹配遍历图进行计算。 由于可能的路径随着距离的增加呈指数增长,许多方法的算法复杂度也很高。 幸运的是,优化算法已经存在,它们利用了图形的某些结构,将已经探索过的部分记忆起来,并将操作并行化。 官方文档:https://neo4j.com/doc

rip -- shun 6172

2026年数据中心运行与管理专业人才培养基地建设方案(高职、数据中心运行与管理新专业、人才培养、专业代码:510310)

摘要: 为响应国家“东数西算”战略和数字经济需求,我校拟联合行业领军企业建设数据中心运行与管理人才培养基地。项目基于国家政策引导和产业快速发展背景,针对行业10万人才缺口,对标教育部新设专业标准(510310),分三阶段实施五年规划:专业奠基(2026-2028)、内涵深化(2028-2029)、辐射引领(2030-2031)。建设内容涵盖校企协同岗位能力分析、模块化课程开发(如网络管理、自动化运维等)、实训基地搭建及“课证融通”培养模式,重点培养基础设施、网络服务、运维托管三类岗位技能人才,目标建成区域性

啊碧根果的博客 1685

Neoj图数据科学库(The Neo4j graph data science library)使用指南

介绍 该库提供了一些常用的图算法,并内置在cypher过程中。 算法 图算法用于计算图、节点和关系的度量指标。它可以提供图中关联实体(cetralities,ranking)或内在结构(community-detection,graph-partitioning,clustering)等方面的度量。 许多图算法是迭代的方法,通过随机游走、广度优先、深度优先和图匹配遍历图进行计算。由于可能路径随距离增加呈现指数增长,许多方法也具有很高的算法复杂度。幸运的是,利用图形的特定结构,记忆已经存在的部分和并行操作可以

qq_41734424的博客 8657

DFX从芯片到系统:可制造性、可测试性与可靠性设计实战指南

DFX(Design for eXcellence)是一套面向产品全生命周期的设计方法论,涵盖可制造性(DFM)、可测试性(DFT)、可靠性(DFR)等维度。其核心原理是将制造、测试、维护等环节的约束前置到设计阶段,从而降低流片与量产风险。在芯片与系统硬件领域,DFX不仅是提升良率与测试效率的关键手段,更是保障车规、工控等严苛场景下长期稳定运行的基础。从芯片物理实现到PCB布局,再到系统级散热与维护设计,DFX的落地需要工具链、流程闸门与跨部门协作的体系化支撑。本文基于实际项目经验,分享DFX从设计决策到工

weixin_32349093的博客 350

04_Neo4j知识体系之GDS图数据科学库实战

摘要 Neo4j GDS(Graph Data Science)库是图分析与机器学习的完整工程化解决方案,提供从图投影、算法执行到机器学习管道的全流程能力。其核心价值在于将图结构转化为可计算、可预测的智能分析范式,而非简单的算法集合。GDS通过原生/Cypher投影构建分析视图,支持中心性、社区发现、路径、相似度等算法,并重点发展节点嵌入和链接预测等机器学习能力。典型工作流强调先验证后落库的规范,而Python客户端的整合使其能融入数据科学工作流。GDS帮助图项目从"可查询"迈向&quo

模界 | AI工程化实践者 246

【Office激活】学校正版Office已激活成功仍弹出激活窗口

学校正版Office激活问题:已激活成功仍弹出激活窗口

ESCM_的博客 1万+

AXI_IIC读写操作

其实在之前调试过一次AXI_IIC,没调试通,碍于赶进度,就直接使用了zynq-PS侧的IIC,就一直搁置着了,这次抽空将这部分内容继续调试下去,这一次没花多少时间就调通了,现在将我的调试过程,经历,以及参考文档如下: 参考文档:pg090-axi-iic.pdf 参考链接:https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/IIC-Protocol-and-Programming-Sequence/ba-p/1072248 上面的这个

qq_32134427的博客 1万+

【Neo4j】第 12 章:Neo4j at Scale

现在我们可以使用 Neo4j 和图算法来回答许多问题,是时候关注 Neo4j 如何管理不同大小的数据了。Neo4j 4.0 之前的版本已经能够处理大量数据(数十亿个节点和关系),仅受磁盘大小的限制。但是 Neo4j 4.0 通过引入(一种跨越多台机器的图的技术)克服了这些限制(几乎)。本章将介绍分片,包括分片定义和专门用于查询此类图的新 Cypher 语句。在最后一节中,我们将研究大图的 GDS 性能。让我们开始吧!技术要求。

sikh_0529的博客 1347

python机器人编程——用pytorch实现六轴机械臂的正向和逆向数值解算,及python算法解析

前面对六轴(或多轴)机械臂进行了一些研究,特别是利用几何进行简化,实现逆解,来完成比较简单的搬用任务。然而,如果需要比较精确的操作任务,可能需要更加复杂的机械臂解算。其中比较复杂的是数值解算,这种解算往往涉及到比较复杂的机器人运动等原理知识,比较难以上手。但是,python的生态挺全面,已经有很多牛人实现了数值解法,但是去看他们的代码,还是觉得费劲。此外,随着深度神经网络的兴起,很多是用建立深度学习神经网络,去利用机械臂输入输出的大数据,训练机械臂的控制模型,这个上手也比较慢。

JAMES费的空间 5791

Neo4j GDS 2.0 配置与使用

Neo4j GDS图科学技术——插件安装与配置

王凯琦-工业软件交流中心 1556

WindTerm 安装使用教程

WindTerm是一款Github上开源的 SSH 终端工具,它是完全可以比肩MobaXterm工具的。

m0_69576880的博客 4024

代谢组数据分析(十五):基于python语言构建PLS-DA分类预测模型

本教程阐述典型代谢组学数据分析工作流程,用于二元分类结果的研究。流程主要步骤如下:首先从 Excel 表格导入代谢物与实验数据,接着基于汇总 QC 进行数据清洗。随后借助主成分分析可视化检查数据质量,再开展两类单变量统计。之后运用偏最小二乘判别分析(PLS - DA)实施多变量分析,此过程涵盖模型优化(对比 R2 与 Q2)、置换测试及明确模型预测指标、确定特征重要性、对模型预测数据进行可视化。最终将统计表格导出至 Excel 表格,完整呈现从数据导入到分析结果输出的全过程。

专注生信领域 2875

【Neo4j】第 8 章:在机器学习中使用基于图的特征

在本章中,我们将利用您对图、图数据库以及可以从图结构中提取的不同类型的信息(节点重要性、社区和节点相似性)所学的知识,并学习如何将这些知识集成到机器中学习管道以根据数据进行预测。我们将从使用包含问卷信息的经典 CSV 文件开始,并以该数据为中心主题回顾数据科学项目的不同步骤。然后,我们将探讨如何将这些数据转换为图形,以及如何使用图形算法来表征该图形。最后,我们将学习如何使用 Python 和 Neo4j Python 驱动程序自动化图形处理。本章将涵盖以下主题:本章将使用以下工具:如果您使用的是Neo4j

sikh_0529的博客 1324

nvidia系列教程-AGX-Orin基础环境搭建

NVIDIA Jetson AGX Orin 是一款功能强大的嵌入式AI平台,专为需要高性能和低功耗的边缘计算应用设计。无论是自动驾驶、机器人,还是智能监控系统,Jetson AGX Orin 都能为这些应用提供强大的计算能力。本篇博客将为大家详细介绍如何在AGX Orin(32GB)上搭建基础开发环境,包括系统安装、CUDA和cuDNN的配置等,帮助你快速上手这个强大的平台。架构: 搭载 56 个 Tensor Core 的 1792 核 NVIDIA Ampere c GPUCUDA Cores。

flypig has a dream! 2796

Neo4j图算法库入门教程:5分钟快速开始图数据分析

想要在Neo4j中轻松实现复杂的图数据分析吗?🤔 Neo4j图算法库是你的终极解决方案!这个强大的工具包让你能够在图数据库中直接运行专业级算法,无需复杂的数据导出和转换。无论你是数据分析师、开发者还是研究人员,掌握Neo4j图算法库都能让你在图数据挖掘方面事半功倍。 ## 📊 什么是Neo4j图算法库? Neo4j图算法库是一个专门为Neo4j图数据库设计的算法集合,它提供了40多种经过优

gitblog_00598的博客 838

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Neo4j图算法库完全指南:如何在Neo4j中高效执行图分析

Neo4j图算法库是专为Neo4j图数据库设计的强大工具集,提供了丰富的图分析算法,帮助开发者和数据科学家在图数据中发现隐藏的模式、识别关键节点、检测社区结构以及执行复杂的路径分析。本指南将为您详细介绍如何在Neo4j中高效执行图分析,涵盖从安装配置到实际应用的全过程。 ## 📊 为什么选择Neo4j图算法库? 图算法在图数据分析中扮演着至关重要的角色。无论是社交网络分析、推荐系统构建,还是

gitblog_00788的博客 638

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【Neo4j】第 6 章:节点重要性

在本章中,我们将讨论节点重要性,也称为中心性算法. 正如您将发现的那样,基于给定图形和给定问题的重要性定义,已经开发了几种技术。我们将了解最著名的技术,从度中心性和 Google 使用的 PageRank 算法开始。对于后者,我们将通过一个示例实现并在一个简单的图表上运行它,以充分了解它的工作原理以及何时可以使用它。在发现其他类型的中心性算法(例如中介中心性)之后,我们将在本章结束时解释如何在欺诈检测的上下文中使用中心性算法。在此示例中,我们将首次使用 GDS 中提供的工具从 Cypher 创建投影图,以便

sikh_0529的博客 2434

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: Neo4j 图数据科学应用 - 图目录和图投影(一)
下一篇: Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC (8.2) : 实用路径操作过程
俞博士
俞博士 领域专家: 数据库技术领域 领域专家: 数据库技术领域 业界专家认证 业界专家认证
博客等级 码龄9年 2326粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值