应用motif模式查询

图分析有两种形式:图算法和图模式查询。

GraphFrame集成了图算法和图查询,支持跨图和Spark SQL查询的优化,而不需要将数据移动到专门的图数据库。如下图所示。

简单motif查询

Graph motif是在图中重复出现的子图或模式,表示顶点之间的交互或关系。图查询在图中搜索符合motif模式的结构,找到motif可以帮助用户执行查询来发现图中的结构模式。例如,用户可以使用Motif来分析用户所购买产品的网络关系图,根据表示产品的图的结构属性及其属性和它们之间的关系洞察用户行为(找出经常同时购买的商品)。这些信息可用于推荐和/或广告引擎。

例如,可以搜索这样的模式:A关注了 B,B 关注了 C,但是A并不关注C。找到这样的结果后,就可以把C推荐给A。如下图所示。

Motif的语法形式如下:

g.find("(start)-[pass]->(end)")

其中g为图对象,start为起点,pass为经过的边,end为目标点,顶点用括号()表示,边用方括号[]表示。例如,指定GraphFrames Motif查询模式,用来找到从A到B并且从B到C,但没有从A到C的边的结构,代码如下:

graph.f ......
          

......

抱歉,只有登录会员才可浏览!会员登录


《Flink原理深入与编程实战》