暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

#gStore-weekly | gStore最新版本1.0之三角形计数函数的使用

图谱学苑 2022-09-29
323

在内核版本v1.0
中,新增了三角形计数函数,即返回图中三角形数量。

  1. triangleCounting(directed, pred_set)

参数

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

directed
 : 布尔值,为真表示有向,为假表示无向(图中所有边视为双向)。若为有向则仅计数 cycle 类型三角形

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

返回值

返回值为以下形式:

  1. {

  2. "paths": [2]

  3. }

示例数据

为了更好的演示三角形计数函数功能,使用以下的数据作为示例数据:

  1. <Alice> <关注> <Bob> .

  2. <Alice> <喜欢> <Bob> .

  3. <Alice> <不喜欢> <Eve> .

  4. <Bob> <关注> <Alice> .

  5. <Bob> <喜欢> <Eve> .

  6. <Carol> <关注> <Bob> .

  7. <Carol> <喜欢> <Bob> .

  8. <Carol> <不喜欢> <Francis> .

  9. <Dave> <关注> <Alice> .

  10. <Dave> <关注> <Eve> .

  11. <Dave> <不喜欢> <Francis> .

  12. <Eve> <喜欢> <Carol> .

  13. <Francis> <喜欢> <Carol> .

  14. <Francis> <不喜欢> <Dave> .

  15. <Francis> <不喜欢> <Eve> .

上述数据的图如下:

示例一:

下面的查询询问该图中有向三角形的数目,且构成它的边只能由喜欢不喜欢关系标记,SPARQL查询语句为:

  1. select (triangleCounting(true, {<喜欢>,<不喜欢>}) as ?y) where {}

结果如下,即该图中构成它的边只能由“喜欢”和“不喜欢”关系标记的有向三角形的数目为2,分别为 Bob -> Eve -> Carol -> Bob 、Carol -> Francis -> Eve -> Carol :

  1. {

  2. "paths":[2]

  3. }

如果希望查询无向三角形数目,则使用下面的查询:

  1. select (triangleCounting(false, {<喜欢>,<不喜欢>}) as ?y) where {}

结果如下(每个有向三角形均为无向三角形,而相比有向的情形多了 Alice -> Bob -> Eve <- Alice):

  1. {

  2. "paths":[3]

  3. }




针对gStore有任何问题也可通过加运营同学微信,邀请加入gStore图谱社区咨询。
诚邀大家参加
·gStore-weekly技术文章征集活动·
  相关技术文章,包含但不限于以下内容:系统技术解析、案例分享、实践总结、开发心得、客户案例、使用技巧、学习笔记等。文章要求原创。
  入选周刊即送精美礼品~
文章转载自图谱学苑,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论