Neo4j 图数据科学应用 - 图目录和图投影(二)
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 |
---|---|---|
|
String |
Name of the graph. |
|
String |
Name of the database in which the graph has been created. |
|
Map |
Node projection used to create the graph. If a Cypher projection was used, this will be a derived node projection. |
|
Map |
Relationship projection used to create the graph. If a Cypher projection was used, this will be a derived relationship projection. |
|
String |
Node query used to create the graph. If a native projection was used, this will be |
|
String |
Relationship query used to create the graph. If a native projection was used, this will be |
|
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 |
|
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 |
|
Integer |
Number of nodes in the graph. |
|
Integer |
Number of relationships in the graph. |
|
Map |
Node labels, Relationship types and properties contained in the in-memory graph. |
|
Map |
Histogram of degrees in the graph. |
|
Float |
Density of the graph. |
|
Datetime |
Time when the graph was created. |
|
Datetime |
Time when the graph was last modified. |
|
Integer |
Number of bytes used in the Java heap to store the graph. |
|
String |
Human readable description of |
该信息包含有关图的基本统计信息,例如节点和关系计数。结果字段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;
有关这方面的更多详细信息,请参阅管理页面。
Neo4j 图数据科学应用 - 图目录和图投影(二)相关推荐
- Neoj图数据科学库(The Neo4j graph data science library)使用指南
目录 介绍 算法 图目录 版本 安装 支持的Neo4j版本 Neo4j Desktop Neo4j Server Enterprise 版本配置 Neo4j Docker Neo4j Causal C ...
- Neo4j图数据科学及2.0版本新功能介绍
本文转载自DataFunTalk,作者刘洋,Neo4j亚太区高级技术顾问. 导读:本文将探讨Neo4j的图数据科学平台,以及2.0版本的新功能.主要内容包括: Neo4j图数据科学(GDS)的前世今生 ...
- 图数据科学-1.理解图和图数据科学
简介 连通性是最普遍的特征今天的网络和系统. 从蛋白质相互作用到社交网络,从通信系统到电源网格,从零售体验到供应链,网络与即使是适度的复杂度也不是随机的,这意味着连接既不是均匀分布的,也不是静态的. ...
- Neo4J入门笔记[2]---Neo4J GDS 图数据科学库
Neo4J 提供了GDS的库,里面包括了很多算法.GDS的英语全称是Graph Data Science(图数据科学库),其句法流程如下: stream Returns the result of t ...
- 图数据科学-2.使用图形数据现实世界中的科学
当今最紧迫的数据挑战集中在控制nections,而不仅仅是将离散数据制成表格的能力.图数据科学 (GDS) 以发现和利用网络结构驱动了一系列用例,从欺诈预防和针对个性化体验和药物的针对性建议重新利用. ...
- 自定义体温折线图html,科学老师布置体温折线图作业,家长打算交“备孕表”代替...
暑假过半,各位小主的作业完成进度如何?记者听说,有爸妈已经开始为此焦虑,也有老师正在为此郁闷. 孙老师是杭州一所知名公办小学的科学老师,今年教三年级.因为三年级下学期有个单元讲温度计,所以她布置的暑假 ...
- html关系图数据可视化,可视化图表—网络关系图
描述 也称为「网络地图」或「节点链路图」. 这种图表使用节点/顶点和连接线来显示事物之间的连接关系,并帮助阐明一组实体之间的关系类型. 这些节点通常是圆点或小圆圈,但也可以使用图标.节点之间的连接关系 ...
- 负基础学python编程_【数据科学系统学习】Python # 编程基础[二]
在上一篇中我们讲到了函数,如果你想在所编写的别的程序中重用一些函数的话,应该怎么办?正如你可能想象到的那样,答案是模块(Modules).我们这一篇就从模块说起. 模块 为了编写可维护的代码,我们把很 ...
- Neo4j CEO Emil Eifrem 解读图数据平台引领数据库未来十年的发展
Neo4j CEO Emil Eifrem 解读图数据平台引领数据库未来十年的发展 Neo4j CEO Emil Eifrem 解读图数据平台引领数据库未来十年的发展 Here's the table ...
- 开放数字世界中的复杂图数据挑战 —— 以教育与开源场景为例
摘要:开源开放的数字世界开始成为时代的潮流,云原生.数据中台.智能PRA开始成为数字世界中的新一代中流砥柱.随着第四范式的普遍流行,各个行业中的数字化转型都会带了海量的具有无限关联的复杂图数据.本报告 ...
最新文章
- 左牵Uber右联大众,黄教主带领320家车企一统自动驾驶江湖
- 常见Shell命令用法总结
- leetcode51 N皇后
- C#异步编程的实现方式(6)——层次任务
- vue中父子组件通信的坑
- matlab之norm函数
- 安装ElasticSearch过程遇到的坑
- 《天天数学》连载15:一月十五日
- 和jwt应用场景_一文了解web无状态会话token技术JWT
- 操作系统【时间片轮转调度算法 课本例题】
- 收集了 1000 个 iOS 常用的库。原文:https://github.com/iamdaiyuan/ios_top_1000
- iOS TableView实现QQ好友列表(一)
- Unity官方文档解读之如何使用粒子系统创建汽车尾气
- 斯坦福大学自然语言处理第一课“引言(Introduction)”
- 讯为4412蜂鸣器驱动实现
- 转载:欧姆社 漫画学习统计学
- 通过实例彻底理解闭包
- PYTHON实现迅雷、FLASHGET、QQ旋风转真实链接、磁链转种子文件、迅雷快传链接抓取
- Python使用阿里API进行身份证识别
- 雷军考察小鹏汽车,IPO后的小米终于要造车了?