Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.7 - 图生成 无标度网络
1、概述
Barabási和Albert(1999)的“富者更富”(Rich get richer)生成模型(BA模型)最被熟知的无标度网络子集的生成模型。它让每个网页根据一个非均匀的概率分布与已有网页建立连接,这个概率分布与当前网页的入度数成比例。根据这个过程,拥有更多入度的的网页相较一般网页会吸引更多的链接。这样的机制会产生“幂律”(Power Law)。
和无标度网络相关的另外一个耳熟能详的名词是“长尾效应”。
无标度网络(scale-free network)是一种度分布(即对复杂网络中节点度数的总体描述)服从或者接近幂律分布的复杂网络。尽管许多真实世界的网络被认为是无标度的,然而其证明却往往因为愈发严格的数据分析技术而显得不够充分。由此,许多网络的无标度性还在科学社群中被争讨论中。一些声称是无标度的网络包括:
• 社交网络(Social networks),包括合作网络。两个被广泛研究的示例是演员合演电影的合作网络和数学家合著论文的合作网络。
• 许多种电脑网络,包括互联网和万维网的网图。
• 一些金融网络,如银行间支付网络。
• 蛋白质-蛋白质相互作用网络。
• 语义网络[3]。
• 航空航线网络。
BA图/无标度图拥有以下特征:
- 普遍存在度远高于平均值的节点。度最高的节点通常称为枢纽(hub),被认为在网络中起到特殊作用,尽管这还要看具体在网络的哪个区域。无标度性与网络应对故障的鲁棒性有很大关系。主要的hub节点通常连接着小的hub节点。这些小的hub节点再伴随着度更小的节点,
- 无标度图的层级关系使得网络拥有一定的容错行为。如果错误随机发生,并且大量节点都具有较小的度,那么hub节点受影响的概率微乎其微。即便hub节点出现了错误,因为还有其他hub节点,网络通常不会失去原来的连通性。然而,如果定向选择一些主要的hub节点并把它们从网络中去除,网络便会转为许多相对离散的图。因此,hub节点既是无标度网络的优势又是劣势。
- 随节点度数升高而降低的聚集系数(clustering coefficient)分布。这个分布也服从幂律分布。这表明度数低的节点从属于致密的子图,这些子图再通过hub节点互相连接。试想一个社交网络,它的节点是人,而链接是熟人关系。很容易得出人们倾向于形成社群,也就是互相熟识的团体。
- 在实践中,一个生长中的无标度网络的半径几乎可以被认作是一个定值。
2、过程调用接口
过程接口 |
CALL apoc.generate.ba( noNodes, edgesPerNode, label, relType ) |
参数名 |
类型 |
缺省值 |
可为空? |
说明 |
noNodes |
非负长整数 |
1000 |
是 |
随机生成的节点总数。 |
edgesPerNode |
非负长整数 |
2 |
是 |
每个节点的边的数量的一半。实际生成图时会按照这个数值生成出边和入边,因此会有2倍的边。 |
label |
字符串 |
NULL |
是 |
节点标签。如果为空则缺省为Person,并且会为每个Person节点生成一个英文名字保存在name属性中。 |
relType |
字符串 |
NULL |
是 |
关系类型。如果为空则缺省为FRIENDS_OF。 |
3、示例
// 8.7(1) 生成一个有10万节点、80万条边的BA图。
// 节点标签为NodeBA,边/关系类型为LINKS4。
// 执行时间:1872msCALL apoc.generate.ba(100000,4,'NodeBA', 'LINKS4') // 8.7(2) 统计生成的图中、节点度的分布。MATCH (u:NodeBA)
WITH size ((u) -- ()) AS countOfRels
WITH countOfRels, count(countOfRels) AS cnt
RETURN countOfRels, cnt
ORDER BY countOfRels ASC
运行8.7(1)和8.7(2)中的查询后,我们可以得到下面的结果(图中仅显示到度数<200的节点):
从上图中可以清晰地看到,无标度网络中只有少量节点有很高的度(即边的数量,从而符合幂律、而不是随机分布),而绝大多数节点的度非常少(长尾)。
Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.7 - 图生成 无标度网络相关推荐
- Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.5 - 图生成 / 随机图
1.概述 图生成过程用来生成不同类型的随机图,以用作算法研究.性能测试等目的.APOC提供下列随机图生成过程. 过程 说明 apoc.generate.er(noNodes, noEdges, 'la ...
- Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.6 - 图生成 小世界模型
1.概述 WS小世界模型(Watts - Strogatz model)是一种随机图生成模型,其生成的图具有小世界属性,包括较短的平均节点间距离和高集聚系数.该模型由Duncan J. Watts(邓 ...
- Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.8 - 图生成 完全图
1.概述 apoc.generate.complete 本过程生成一个完全图.完全图中,每个节点有到所有其他节点的边.在无向图中,有N个节点的完全图有N x (N – 1) / 2个边.Neo4j在存 ...
- Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(5.5) - 导入JSON数据
1. 定义 Web API/RESTful API是访问和集成外部数据源又一种常用的接口.目前,很多网站和应用服务都提供类似开放接口供其他应用读取其数据,而这些接口都使用JSON[1]作为数据格式. ...
- Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(5.4) - 导出数据到Cypher脚本文件
APOC提供一系列过程实现将数据库中的数据导出到可执行的Cypher脚本文件.这些过程支持不同的导出逻辑: 导出所有数据 导出查询结果 导出特定标签节点和关系类型 导出一个graph对象 仅导出索引和 ...
- Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC (8.4) - 集合相关操作
1.概述 在Cypher查询语言中,集合的使用非常普遍.集合的元素可以是简单类型的值.节点.关系.路径,甚至混合类型.下面的例子是产生集合的一些常用方法: // 返回一个包含从1到10 的整数集合 R ...
- 深入学习图数据库语言Gremlin 系列文章链接汇总
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/javeme/article/detai ...
- 图数据库入门教程-深入学习Gremlin(1):图基本概念与操作
前言:Gremlin语言是图数据库最主流的查询语言,是Apache TinkerPop框架下规范的图语言,相当于SQL之于关系型数据库.为了图数据库使用者更好的掌握Gremlin这门图语言,我们对Gr ...
- 图数据库hugegraph如何快速导入10亿+数据
随着社交.电商.金融.零售.物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,亟需一种支持海量复杂数据关系运算的数据库即图数据库.本系列文章是学习知识图谱以及图数据库相关的知识梳理与总结 ...
最新文章
- React学习笔记5:React Hooks概述
- 黄东旭:Cloud-Native 的分布式数据库架构与实践
- Qt工程生成xcode工程文件
- C#——《C#语言程序设计》实验报告——Windows桌面编程
- Kendo UI Validator 概述
- 普通电阻触摸屏多点触摸低成本解决方 转载
- 60-170-040-使用-Time-Flink时间系统系列之实例讲解-如何做定时输出
- javascript获取窗口位置、绝对位置、事件位置等
- 创业宝典:未来企业家之路(第5版)
- MAC 用配置设置解决vscode中文乱码问题
- 短信验证码和邮箱验证码
- HDFS的命令行操作
- 万物互联开发平台NSDK
- 《网络媒体教程》自序
- 【愚公系列】2023年06月 网络安全(交通银行杯)-木册木兰
- 讴 mysql 首字母_MYSQL索引
- 02.MICO-HELLOWORLD
- 2019.4.3个人赛
- 机器学习 day3 决策树算法
- 黑盒测试和白盒测试,覆盖率的测试
热门文章
- 计算机二级课程论文摘要,摘要、论文格式概念.doc
- 仿抖音视频自动播放html,vue 仿抖音视频列表(兼容微信内置X5浏览器)
- 高考415分能上计算机网络的学校吗,2021高考415分能上什么学校 可以报哪些学校...
- HAWQ技术解析(十七) —— 最佳实践
- 解决连接数据库Access denied for user ‘root‘@‘localhost‘ (using password: YES)报错问题
- 派生科技:公司相关人员唐军等被采取强制措施
- 转专业2017武汉大学计算机学,武汉大学法学院
- 文创设计结论_文创 !文创 !
- 时间选择器控件默认时间自定义
- 量化交易之回测篇 - 重写vnpy自带的双均线策略