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. 左牵Uber右联大众,黄教主带领320家车企一统自动驾驶江湖
  2. 常见Shell命令用法总结
  3. leetcode51 N皇后
  4. C#异步编程的实现方式(6)——层次任务
  5. vue中父子组件通信的坑
  6. matlab之norm函数
  7. 安装ElasticSearch过程遇到的坑
  8. 《天天数学》连载15:一月十五日
  9. 和jwt应用场景_一文了解web无状态会话token技术JWT
  10. 操作系统【时间片轮转调度算法 课本例题】
  11. 收集了 1000 个 iOS 常用的库。原文:https://github.com/iamdaiyuan/ios_top_1000
  12. iOS TableView实现QQ好友列表(一)
  13. Unity官方文档解读之如何使用粒子系统创建汽车尾气
  14. 斯坦福大学自然语言处理第一课“引言(Introduction)”
  15. 讯为4412蜂鸣器驱动实现
  16. 转载:欧姆社 漫画学习统计学
  17. 通过实例彻底理解闭包
  18. PYTHON实现迅雷、FLASHGET、QQ旋风转真实链接、磁链转种子文件、迅雷快传链接抓取
  19. Python使用阿里API进行身份证识别
  20. 雷军考察小鹏汽车,IPO后的小米终于要造车了?

热门文章

  1. 新猿木子李:0基础学python培训教程 Python操作Redis之有序集合类型
  2. linux 卸载二进制包,Ubuntu19.10系统的软件安装与卸载命令
  3. vue3安装全家桶教程
  4. 嵌入式技术学习路线分享
  5. HPUACM暑期集训第二次积分训练赛 C——Simplest
  6. QQ互赞助手pro【每天免费互shua名片赞】2.0系统版本
  7. 全球与中国量身定制生产线市场深度研究分析报告
  8. 什么是微前端及微前端优缺点
  9. 不需要抓包分析、简单粗暴的模拟校园网登录方法——基于python playwright
  10. 如何快速提高自己的领导力?