#gStore-weekly | gStore最新版1.2之新增内置高级函数详解(一)

gStore1.2版本新增了七个高级函数,我们第2期将继续介绍的高级函数为:整体/局部集聚系数(clusterCoeff)、鲁汶算法(louvain)、K跳计数(kHopCount)/K跳邻居(kHopNeighbor)三类高级函数。

1 局部/整体集聚系数(clusteringCoeff)

1.1 局部集聚系数

查询结点 u 的局部集聚系数,即所有与它相连的结点之间所连的边的数量(即实际形成的以 u 为顶点的三角形数目),除以这些结点之间可以连出的最大边数(即最大可能形成的以 u 为顶点的三角形数目)。

clusterCoeff(u, directed, pred_set)
  • 参数 u : 变量或结点 IRI

    directed :布尔值,为真表示有向,为假表示无向(图中所有边视为双向) 。将图视为有向时,仅计数 cycle 类型三角形(详见三角形计数的介绍)

    pred_set:考虑的谓词集合(若设置为空 {} ,则表示允许出现数据中的所有谓词)

  • 返回值

    返回值为结点 u 的局部集聚系数,对应的值为双精度浮点数(形式详见以下例子)。

    {"paths":[{"src":"<IRI>","result":0.123}]
    }
    
  • 示例(数据集详见【4 示例数据集】)

    下面的查询为局部集聚系数,构成它的边上关系为喜欢关注

    SELECT (clusterCoeff(<Eve>,false,{<喜欢>,<关注>}) AS ?y) WHERE{}
    

    结果如下

    {"paths":[{"src":"<Eve>","result":0.333333}]
    }
    
1.2 整体集聚系数

查询图的整体集聚系数。

clusterCoeff(directed, pred_set)
  • 参数

    directed :布尔值,为真表示有向,为假表示无向(图中所有边视为双向) 。将图视为有向时,仅计数 cycle 类型三角形(详见三角形计数的介绍)

    pred_set:考虑的谓词集合(若设置为空 {} ,则表示允许出现数据中的所有谓词)

  • 返回值

    返回值为图的整体集聚系数,对应的值为双精度浮点数。

  • 示例(数据集详见【4 示例数据集】)

    返回值为结点 u 的整体集聚系数,对应的值为双精度浮点数(形式详见以下例子)。

    SELECT (clusterCoeff(false, {<喜欢>,<关注>}) AS ?y) WHERE{}
    

    结果如下

    {"paths":[0.272727]
    }
    

2 鲁汶算法(louvain)

基于标签传播查询图中各结点的聚类情况,可用于社区发现等多种应用。

louvain(directed, pred_set, maxIter, increase)
  • 参数 directed : 布尔值,为真表示有向,为假表示无向(图中所有边视为双向)

    pred_set:考虑的谓词集合(若设置为空 {} ,则表示允许出现数据中的所有谓词)

    maxIter: 最大迭代次数,大于等于1的整数

    increase: 模块度增益阈值(0~1)

  • 返回值

    返回值为以下形式,count为划分的社区数量,details为划分的各社区信息,包括社区编号communityId、成员数量menberNum

    {"count": 3,"details": [{ "communityId": "2", "menberNum": 5},{ "communityId": "4", "menberNum": 5},{ "communityId": "5", "menberNum": 4}]
    }
    
  • 示例(数据集详见【4 示例数据集】)

    下面的查询在无向图(图中所有边视为双向)中的各结点的聚类情况,边上的关系可以是喜欢关注,最大迭代次数为1,模块度增益阈值为1查询语句为:

    SELECT (louvain(false, {<喜欢>, <关注>}, maxIter=1,increase=0.01) AS ?x) WHERE{}
    

    结果如下

    {"paths":[{"count":2, "details":[{"communityId":"5", "menberNum":3},{"communityId":"6", "menberNum":3}]}]
    }
    

3 K跳计数(kHopCount)/K跳邻居(kHopNeighbor)

3.1 K跳计数(kHopCount)

查询从结点 u 开始,统计其k层可所访问到的结点个数。

kHopCount(u, directed, k, pred_set)
  • 参数

    u : 变量或结点 IRI

    directed :布尔值,为真表示有向,为假表示无向(图中所有边视为双向)

    k :跳数(仅统计此跳数可达的节点数)

    pred_set:考虑的谓词集合(若设置为空 {} ,则表示允许出现数据中的所有谓词)

  • 返回值

    返回值为以下形式,其中 src 为 u 对应的 IRI ;depth 为所处层数/高度(等于参数k);count 为所处层数访问到的结点总数,类型为整型。

    {"paths":[{ "src": "<IRI>", "depth": 3, "count": 1}]
    }
    
  • 示例(数据集详见【4 示例数据集】)

    下面的查询返回图中的K跳计数,构成它的有向边由喜欢,关注关系3跳内的计数信息:

    SELECT (kHopCount(<Alice>,true,3,{<喜欢>,<关注>}) AS ?y) WHERE{}
    

    结果如下

    {"paths":[{"src":"<Alice>","depth":3, "count":1}]
    }
    
3.2 K跳邻居(kHopNeighbor)

查询从结点 u 开始,其k层可所访问到的结点。

kHopNeighbor(u, directed, k, pred_set, ret_num)
  • 参数

    u : 变量或结点 IRI,表示源结点

    directed :布尔值,为真表示有向,为假表示无向(图中所有边视为双向)

    k :跳数(仅统计此跳数可达的节点数)

    pred_set:考虑的谓词集合(若设置为空 {} ,则表示允许出现数据中的所有谓词)

    ret_num:整数,选填,默认为100,表示最多返回 ret_num 个结点 IRI (若总结点数不足 ret_num 个,则返回所有结点 IRI )

  • 返回值

    返回值为以下形式,其中 src 为 u 对应的 IRI ;depth 为所处层数/高度(等于参数k);dst为所处层数访问到的结点列表。

    {"paths":[{ "src": "<SRC_IRI>", "depth": 1, "dst": ["<DST_IRI>"]}]
    }
    
  • 示例(数据集详见【4 示例数据集】)

    下面的查询返回图中的K跳邻居,构成它的有向边由喜欢,关注关系3跳内的邻居信息:

    SELECT (kHopNeighbor(<Francis>,true,3,{<喜欢>,<关注>},100) AS ?y) WHERE{}
    

    结果如下

    {"paths":[{"src":"<Francis>","depth":3,"dst":["<Eve>","<Alice>"]}]
    }
    

4 示例数据集

<Alice> <关注> <Bob> .
<Alice> <喜欢> <Bob> .
<Alice> <不喜欢> <Eve> .
<Bob> <关注> <Alice> .
<Bob> <喜欢> <Eve> .
<Carol> <关注> <Bob> .
<Carol> <喜欢> <Bob> .
<Carol> <不喜欢> <Francis> .
<Dave> <关注> <Alice> .
<Dave> <关注> <Eve> .
<Dave> <不喜欢> <Francis> .
<Eve> <喜欢> <Carol> .
<Francis> <喜欢> <Carol> .
<Francis> <不喜欢> <Dave> .
<Francis> <不喜欢> <Eve> .

虚拟网络社交图

虚拟网络社交图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/694731.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React之拖动组件的设计(一)

春节终结束了&#xff0c;忙得我头疼。终于有时间弄自己的东西了。今天来写一个关于拖动的实例讲解。先看效果&#xff1a; 这是一个简单的组件设计&#xff0c;如果用原生的js设计就很简单&#xff0c;但在React中有些事件必须要多考虑一些。这是一个系列的文章&#xff0c;…

Linux CAfile 文件下的/ca-bundle.crt怎么生成的

在配置Linux Nginx SSL证书后&#xff0c;通过服务器访问域名时发现&#xff0c;服务器返回的CA证书是&#xff1a;/etc/pki/tls/certs/ca-bundle.crt 正式我在使用Spring Native安装了Docker自动生成的&#xff0c;而且开启了Docker的自启动&#xff0c;如果你和我一样&#x…

10MARL深度强化学习 Value Decomposition in Common-Reward Games

文章目录 前言1、价值分解的研究现状2、Individual-Global-Max Property3、Linear and Monotonic Value Decomposition3.1线性值分解3.2 单调值分解 前言 中心化价值函数能够缓解一些多智能体强化学习当中的问题&#xff0c;如非平稳性、局部可观测、信用分配与均衡选择等问题…

从零开始学习Netty - 学习笔记 - NIO基础 - 文件编程:FileChannel,Path,Files

3.文件编程 3.1.FileChannel FileChannel只能工作在非阻塞模式下面&#xff0c;不能和selector一起使用 获取 不能直接打开FIleChannel&#xff0c;必须通过FileInputSream&#xff0c;或者FileOutputSetream &#xff0c;或者RandomAccessFile来获取FileChannel 通过FileIn…

互联网高科技公司领导AI工业化,MatrixGo加速人工智能落地

作者&#xff1a;吴宁川 AI&#xff08;人工智能&#xff09;工业化与AI工程化正在引领人工智能的大趋势。AI工程化主要从企业CIO角度&#xff0c;着眼于在企业生产环境中规模化落地AI应用的工程化举措&#xff1b;而AI工业化则从AI供应商的角度&#xff0c;着眼于以规模化方式…

Rust ?运算符 Rust读写txt文件

一、Rust &#xff1f;运算符 &#xff1f;运算符&#xff1a;传播错误的一种快捷方式。 如果Result是Ok&#xff1a;Ok中的值就是表达式的结果&#xff0c;然后继续执行程序。 如果Result是Err&#xff1a;Err就是整个函数的返回值&#xff0c;就像使用了return &#xff…

电脑wifi丢失修复

当你打开电脑突然发现wifi功能不见了&#xff0c;可以先查看一下网卡的状态 在控制面板中找到设备管理器&#xff0c;打开就能找到网络适配器&#xff0c; 我这里是修复过的&#xff0c;wifi丢失后这里可能会显示WALN是丢失的&#xff0c;其他项显示黄色感叹号。 如何修复呢…

Go语言中的TLS加密:深入crypto/tls库的实战指南

Go语言中的TLS加密&#xff1a;深入crypto/tls库的实战指南 引言crypto/tls库的核心组件TLS配置&#xff1a;tls.Config证书加载与管理TLS握手过程及其实现 构建安全的服务端创建TLS加密的HTTP服务器配置TLS属性常见的安全设置和最佳实践 开发TLS客户端应用编写使用TLS的客户端…

[游戏开发][虚幻5]新建项目注意事项

鼠标右键点击Client.uproject文件&#xff0c;可以看到三个比较关键的选项&#xff0c; 启动游戏&#xff0c;生成sln解决方案&#xff0c;切换引擎版本 断点调试 C代码重要步骤 如果你想断点调试C代码&#xff0c;则必须使用使用代码编译启动引擎&#xff0c;你需要做几个操作…

从零开始学习Netty - 学习笔记 - NIO基础 - 网络编程: Selector

4.网络编程 4.1.非阻塞 VS 阻塞 在网络编程中&#xff0c;**阻塞&#xff08;Blocking&#xff09;和非阻塞&#xff08;Non-blocking&#xff09;**是两种不同的编程模型&#xff0c;描述了程序在进行网络通信时的行为方式。 阻塞&#xff08;Blocking&#xff09;&#xff1…

js设计模式:计算属性模式

作用: 将对象中的某些值与其他值进行关联,根据其他值来计算该值的结果 vue中的计算属性就是很经典的例子 示例: let nowDate 2023const wjtInfo {brithDate:1995,get age(){return nowDate-this.brithDate}}console.log(wjtInfo.age,wjt年龄)nowDate 1console.log(wjtInf…

【算法与数据结构】1020、130、LeetCode飞地的数量 被围绕的区域

文章目录 一、1020、飞地的数量二、130、被围绕的区域三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、1020、飞地的数量 思路分析&#xff1a;博主认为题目很抽象&#xff0c;非常难理解。想了好久&#xff0c;要理解…

【蝶变跃升】壹起来|就业辅导系列活动——职业生涯规划和模拟面试

为使困难家庭更深层次了解自己就业现状&#xff0c;明确就业方向&#xff0c;同时提升在面试时的各类技巧。2024年2月17日&#xff0c;由平湖市民政局主办、平湖吾悦广场和上海聘也科技有限公司协办、平湖市壹起来公益发展中心承办的“蝶变跃升”就业辅导系列——职业生涯规划和…

2024新版Java高频面试题+Java八股文面试真题

Java面试题_2024新版Java高频面试题Java八股文面试真题 Java高频面试专题视频课程&#xff0c;瓤括了Java生态下的主流技术面试题&#xff0c;课程特色&#xff1a; 1、全面&#xff0c;jvm、并发编程、mysql、rabbitmq、spring、mybatis、redis、分布式、微服务、数据结构等等…

Flutter学习4 - Dart数据类型

1、基本数据类型 num、int、double &#xff08;1&#xff09;常用数据类型 num类型&#xff0c;是数字类型的父类型&#xff0c;有两个子类 int 和 double 通过在函数名前加下划线&#xff0c;可以将函数变成私有函数&#xff0c;私有函数只能在当前文件中调用 //常用数据…

docker之安装mongo创建运行环境

目录 一、docker pull 最新资源 二、启动mongo镜像 启动命令查看日志拉取低版本镜像成功启动 三、进入mongo容器 进入容器进入mongo环境查询当前所在库切换库至admin随意切换库 并 创建用户登录用户新增文档数据等 五、总结 版本兼容可备份操作 一、docker pull 最新资源…

顺序表详解(如何实现顺序表)

文章目录 前言 在进入顺序表前&#xff0c;我们先要明白&#xff0c;数据结构的基本概念。 一、数据结构的基本概念 1.1什么是数据结构 数据结构是由“数据”和“结构”两词组合而来。所谓数据就是&#xff1f;常见的数值1、2、3、4.....、姓名、性别、年龄&#xff0c;等。…

开发一款招聘小程序需要具备哪些功能?

随着时代的发展&#xff0c;找工作的方式也在不断变得简单&#xff0c;去劳务市场、人才市场的方式早就已经过时了&#xff0c;现在大多数年轻人都是直接通过手机来找工作。图片 找工作类的平台不但能扩大企业的招聘渠道&#xff0c;还能节省招聘的成本&#xff0c;方便求职者进…

C# 使用onnxruntime部署夜间雾霾图像的可见度增强

目录 介绍 模型信息 效果 项目 代码 下载 C# Onnx 使用onnxruntime部署夜间雾霾图像的可见度增强 介绍 github地址&#xff1a;GitHub - jinyeying/nighttime_dehaze: [ACMMM2023] "Enhancing Visibility in Nighttime Haze Images Using Guided APSF and Gradien…

如何修改unity的背景颜色

要在Unity中将背景颜色设为黑色&#xff0c;可以按照以下步骤进行&#xff1a; 1、在Unity编辑器中&#xff0c;选择你想要修改背景颜色的摄像机对象&#xff08;一般是Main Camera&#xff09;。 2、在Inspector面板中&#xff0c;找到"Clear Flags"&#xff08;清…