3. 在目录中列出图表

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

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

表 8. 结果

Name Type Description

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包含有关存储在图中的节点和关系的信息。对于每个节点标签,模式将标签映射到其属性键及其对应的属性类型。同样,模式将关系类型映射到它们的属性键和属性类型。属性类型是IntegerFloatList 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;

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

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

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

    目录 介绍 算法 图目录 版本 安装 支持的Neo4j版本 Neo4j Desktop Neo4j Server Enterprise 版本配置 Neo4j Docker Neo4j Causal C ...

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

    本文转载自DataFunTalk,作者刘洋,Neo4j亚太区高级技术顾问. 导读:本文将探讨Neo4j的图数据科学平台,以及2.0版本的新功能.主要内容包括: Neo4j图数据科学(GDS)的前世今生 ...

  3. 图数据科学-1.理解图和图数据科学

    简介 连通性是最普遍的特征今天的网络和系统. 从蛋白质相互作用到社交网络,从通信系统到电源网格,从零售体验到供应链,网络与即使是适度的复杂度也不是随机的,这意味着连接既不是均匀分布的,也不是静态的. ...

  4. Neo4J入门笔记[2]---Neo4J GDS 图数据科学库

    Neo4J 提供了GDS的库,里面包括了很多算法.GDS的英语全称是Graph Data Science(图数据科学库),其句法流程如下: stream Returns the result of t ...

  5. 图数据科学-2.使用图形数据现实世界中的科学

    当今最紧迫的数据挑战集中在控制nections,而不仅仅是将离散数据制成表格的能力.图数据科学 (GDS) 以发现和利用网络结构驱动了一系列用例,从欺诈预防和针对个性化体验和药物的针对性建议重新利用. ...

  6. 自定义体温折线图html,科学老师布置体温折线图作业,家长打算交“备孕表”代替...

    暑假过半,各位小主的作业完成进度如何?记者听说,有爸妈已经开始为此焦虑,也有老师正在为此郁闷. 孙老师是杭州一所知名公办小学的科学老师,今年教三年级.因为三年级下学期有个单元讲温度计,所以她布置的暑假 ...

  7. html关系图数据可视化,可视化图表—网络关系图

    描述 也称为「网络地图」或「节点链路图」. 这种图表使用节点/顶点和连接线来显示事物之间的连接关系,并帮助阐明一组实体之间的关系类型. 这些节点通常是圆点或小圆圈,但也可以使用图标.节点之间的连接关系 ...

  8. 负基础学python编程_【数据科学系统学习】Python # 编程基础[二]

    在上一篇中我们讲到了函数,如果你想在所编写的别的程序中重用一些函数的话,应该怎么办?正如你可能想象到的那样,答案是模块(Modules).我们这一篇就从模块说起. 模块 为了编写可维护的代码,我们把很 ...

  9. Neo4j CEO Emil Eifrem 解读图数据平台引领数据库未来十年的发展

    Neo4j CEO Emil Eifrem 解读图数据平台引领数据库未来十年的发展 Neo4j CEO Emil Eifrem 解读图数据平台引领数据库未来十年的发展 Here's the table ...

  10. 开放数字世界中的复杂图数据挑战 —— 以教育与开源场景为例

    摘要:开源开放的数字世界开始成为时代的潮流,云原生.数据中台.智能PRA开始成为数字世界中的新一代中流砥柱.随着第四范式的普遍流行,各个行业中的数字化转型都会带了海量的具有无限关联的复杂图数据.本报告 ...

最新文章

  1. 查看CPU是i386架构和x86_64架构
  2. Java魂斗罗1234合集_《魂斗罗》正统续作1234部介绍,别再搞错喽!
  3. Linux下安装mysql遇到的一些问题及解决办法
  4. linux bash命令找不到,Linux下提示命令找不到:bash:command not found
  5. 理解 C++ 的 Memory Order 以及 atomic 与并发程序的关系
  6. 计算机网络知识如何建立数据库,如何将本机的SQL Server数据库上传到网站的数据服务器?...
  7. 模拟计算器进行四则运算(同等优先级)(内测第2届第3题)
  8. iOS开发-OC语言 (七)继承、多态、类别
  9. ecshop 二次开发
  10. matlab仿真光学拍,MATLAB光学干涉实验的仿真研究
  11. win10支持8t 硬盘_详解win10硬盘如何直接安装
  12. 上拉/下拉电阻选值怎么定
  13. 游戏功能模块——新手引导
  14. python爬取电影票房网并保存csv
  15. 海马玩关联android,Android ADB连接海马玩模拟器
  16. FastCAE 添加多语言
  17. C# 求取圆心/球心坐标 ∈ C# 编程笔记
  18. ES7和ES8常见新特性
  19. python中小括号和中括号的区别_Python3中小括号()、中括号[]、花括号{}的区别详解...
  20. 信奥中的数学 数论篇 相关资料汇总(2022.07.07)

热门文章

  1. 笔记本电脑计算机的配置表,笔记本组装配置清单_笔记本电脑配置单及价格
  2. 【7gyy】教大家设置一个类似手机的锁屏界面
  3. Microsoft Windows 2000 professional(集成SP4)简体中文专业版下载
  4. 我的世界服务器如何做无限箱子,我的世界无限箱子制作方法图文攻略
  5. 波士顿房价预测(线性回归、岭回归、决策树)
  6. Android一步步实现无痕埋点(3)-------虎躯一震
  7. JAVA制作QQ空间点赞_仿QQ空间点赞列表的实现【原创】
  8. Qt之快速生成缩略图thumbnail
  9. Codeforces 39H - Multiplication Table(进制转换)
  10. 从 拼多多 到 抖音