1、概述

WS小世界模型(Watts - Strogatz model)是一种随机图生成模型,其生成的图具有小世界属性,包括较短的平均节点间距离和高集聚系数。该模型由Duncan J. Watts(邓肯 J. 沃茨)和Steven Strogatz(斯蒂文·史楚盖兹)在1998年两人联合发表于《自然》的论文中提出 。Watts在其广受欢迎的科学读物《六度》中使用b来阐述该模型,这之后,该模型也被称为(沃茨)b模型。

WS图拥有以下特征:

  1. 可以生成局部集聚(local clustering)和三元闭合,这点是ER图所不具备的;
  2. 实现集聚的同时保持了ER模型较短的平均节点间距离;
  3. 模型至少能够部分解释许多网络中的“小世界”现象("small-world" phenomena),比如电网、杆线虫(C. elegans)的神经网络、电影演员的社交网络、以及芽殖酵母脂肪代谢的信息交流;
  4. WS模型的主要局限性是会产生不符实际的度分布。相较而言,现实中的网络通常是非齐次的”无标度”网络(scale-free graph),有中心节点的存在和无标度的度分布。关于无标度图请参见后面关于BA网络的章节。

2、过程调用接口

过程接口

CALL apoc.generate.ws(

noNodes,

degree,

beta,

label,

relType

)

参数名

类型

缺省值

可为空?

说明

noNodes

非负长整数

1000

随机生成的节点总数。

degree

非负长整数

4

随机生成的图的每节点平均边/关系数。

beta

[0,1]之间的浮点数

0.5

生成图的b取值。0 – 所有节点的度数都是degree中指定的值;1 – 节点度数的分布则与ER图相似。通常取值0.5。

label

字符串

NULL

节点标签。如果为空则缺省为Person,并且会为每个Person节点生成一个英文名字保存在name属性中。

relType

字符串

NULL

关系类型。如果为空则缺省为FRIENDS_OF。

3、示例

// 8.6 (1) 生成一个有10万节点、30万条边的WS图。
//        使用不同的beta值:0,0.5和1。
//  节点标签为Node,边/关系类型为LINKS。
CALL apoc.generate.ws(100000,4,0,'NodeWS1', 'LINKS1')// 8.6(2) beta = 0.5
CALL apoc.generate.ws(100000,4,0.5,'NodeWS2', 'LINKS2')// 8.6(3) beta = 1
CALL apoc.generate.ws(100000,4,1,'NodeWS3', 'LINKS3')

运行8.6(*)中的查询后,我们可以得到下面的结果:

  • 当beta = 0时,所有节点的度数都是相同的;
  • 当beta = 1时,所有节点的度的分布和ER图一致;
  • 当beta = 0.5时,所有节点的度的分布在平均值附近更集中。

图8.6 WS生成图的节点度数分布

Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.6 - 图生成 小世界模型相关推荐

  1. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.5 - 图生成 / 随机图

    1.概述 图生成过程用来生成不同类型的随机图,以用作算法研究.性能测试等目的.APOC提供下列随机图生成过程. 过程 说明 apoc.generate.er(noNodes, noEdges, 'la ...

  2. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.8 - 图生成 完全图

    1.概述 apoc.generate.complete 本过程生成一个完全图.完全图中,每个节点有到所有其他节点的边.在无向图中,有N个节点的完全图有N x (N – 1) / 2个边.Neo4j在存 ...

  3. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.7 - 图生成 无标度网络

    1.概述 Barabási和Albert(1999)的"富者更富"(Rich get richer)生成模型(BA模型)最被熟知的无标度网络子集的生成模型.它让每个网页根据一个非均 ...

  4. Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(5.5) - 导入JSON数据

    1. 定义 Web API/RESTful API是访问和集成外部数据源又一种常用的接口.目前,很多网站和应用服务都提供类似开放接口供其他应用读取其数据,而这些接口都使用JSON[1]作为数据格式. ...

  5. Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(5.4) - 导出数据到Cypher脚本文件

    APOC提供一系列过程实现将数据库中的数据导出到可执行的Cypher脚本文件.这些过程支持不同的导出逻辑: 导出所有数据 导出查询结果 导出特定标签节点和关系类型 导出一个graph对象 仅导出索引和 ...

  6. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC (8.4) - 集合相关操作

    1.概述 在Cypher查询语言中,集合的使用非常普遍.集合的元素可以是简单类型的值.节点.关系.路径,甚至混合类型.下面的例子是产生集合的一些常用方法: // 返回一个包含从1到10 的整数集合 R ...

  7. 深入学习图数据库语言Gremlin 系列文章链接汇总

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/javeme/article/detai ...

  8. 图数据库入门教程-深入学习Gremlin(1):图基本概念与操作

    前言:Gremlin语言是图数据库最主流的查询语言,是Apache TinkerPop框架下规范的图语言,相当于SQL之于关系型数据库.为了图数据库使用者更好的掌握Gremlin这门图语言,我们对Gr ...

  9. 图数据库hugegraph如何快速导入10亿+数据

    随着社交.电商.金融.零售.物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,亟需一种支持海量复杂数据关系运算的数据库即图数据库.本系列文章是学习知识图谱以及图数据库相关的知识梳理与总结 ...

最新文章

  1. TCP超时与重传机制与拥塞避免
  2. JS获取URL中GET的参数
  3. [洛谷P1438] 无聊的数列
  4. sql server 2008 年累计数_MySQL高阶问题:server层和存储引擎层是如何交互的?
  5. 【NOI2019】斗主地【期望】【组合数学】【下降幂】【插值】
  6. linux修改默认python版本_Linux 升级 Python 并修改默认版本
  7. 5个让IT开发效率提高200%的工具,最后一个很实用,你用过几个
  8. Adaboost\GBDT\GBRT\组合算法
  9. Merry Christmas
  10. 盛大 传奇 的网游启示录
  11. vue 一周日历展示,上一周下一周展示。
  12. 探究京东商城的数据建模
  13. epson l201 l200清零软件 中文版 l111 l101清零软件 L350 L353 清零软件
  14. mybatis + spring + PostgreSQL使用中的问题一例
  15. 3.3Packet Tracer - 实施基本连接
  16. 拼多多员工小便池拉屎,网易智能马桶屏蔽信号,360、搜狐厕所被监控,互联网公司厕所那些事!
  17. Oracle Spatial 空间分析之缓冲区分析
  18. 拒绝凌乱桌面 Type-C接口显示器的魅力,乐得瑞LDR6282 USB-C桌面显示器方案帮你实现
  19. 关于gp和mysql的两点区别
  20. 智慧城市建设多面手 5G智慧灯杆成为关键桥梁

热门文章

  1. backtrader FAQ:什么是一篮子订单Bracket Orders optMaster
  2. YOLOv3 代码详解(2) —— 数据处理 dataset.py解析:输入图片增强、制作模型的每层输出的标签
  3. WIN7 | 网络正常,但网页打不开 | 远程计算机或设备不接受连接
  4. 蜂云软件-会员管理系统的详细功能
  5. springboot多数据源如何配置驼峰映射或配置文件不起作用的问题
  6. K12在线教育App如何实现用户增长?
  7. 大学计算机基础知识手写笔记,清华学霸手写笔记火了,如同“电脑打印版”,学渣快来“瞻仰”...
  8. OBS 插件开发 之 美颜
  9. 【郭东白架构课 模块二:创造价值】17|通用技能(下):架构师如何保障交付与沉淀知识?
  10. DSS 启动关闭脚本