#gStore-weekly | gStore最新版本1.0之宽度优先遍历函数的使用

在内核版本v1.0中,新增了宽度优先遍历函数,查询从结点 u 开始,以宽度优先的遍历顺序,在不同层所访问到的结点个数。

 
  1. bfsCount(u, directed, pred_set)

参数

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

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

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

返回值

返回值为以下形式,其中 src 为 u 对应的 IRI ;depth 为所处层数/高度(默认 depth 为 0 时只访问 u 自身);count 为所处层数访问到的结点总数,类型为整型。

 
  1. {

  2. "paths":[

  3. {

  4. "src":"<Alice>",

  5. "results":[

  6. {"depth":0, "count":1},

  7. ...

  8. ]

  9. }

  10. ]

  11. }

示例数据

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

 
  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> .

上述数据的图如下:

示例:

查询返回以Alice为源节点的有向宽度优先遍历计数,边上的关系可以是喜欢、关注或不喜欢,查询语句为:

 
  1. SELECT (bfsCount(<Alice>, true, {<喜欢>, <关注>, <不喜欢>}) AS ?y) WHERE{}

结果如下:(为方便阅读,省略了字符串最外层的双引号和内部双引号的转义)

 
  1. {

  2. "paths":[

  3. {

  4. "src":"<Alice>",

  5. "results":[

  6. {"depth":0, "count":1},

  7. {"depth":1, "count":2},

  8. {"depth":2, "count":1},

  9. {"depth":3, "count":1},

  10. {"depth":4, "count":1}

  11. ]

  12. }

  13. ]

  14. }



针对gStore有任何问题也可通过加运营同学微信,邀请加入gStore图谱社区咨询。

诚邀大家参加

·gStore-weekly技术文章征集活动·

  相关技术文章,包含但不限于以下内容:系统技术解析、案例分享、实践总结、开发心得、客户案例、使用技巧、学习笔记等。文章要求原创。

  入选周刊即送精美礼品~

欢迎关注北京大学王选计算机研究所数据管理实验室微信公众号“图谱学苑“
实验室官网:https://mod.wict.pku.edu.cn/
微信社区群:请回复“社区”获取

实验室开源产品图数据库gStore:
gStore官网:http://www.gstore.cn/
GitHub:https://github.com/pkumod/gStore
Gitee:https://gitee.com/PKUMOD/gStore

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值