【问题标题】:How do i get common follower for two brands in neo4j?我如何在 neo4j 中获得两个品牌的共同追随者?
【发布时间】:2016-05-19 18:25:16
【问题描述】:

假设我有这种格式的数据:

 user_name,       name,               TargetBrandName
 Rabiumuhdsanib1, Rabiu muhd sani bkd,GloCare
 KING_habILA,     #KING_BILA JNR,     GloCare
 Habila Ishaku,   NA,                 airtel_care
 Rabiumuhdsanib1, Rabiu muhd sani bkd,
 KING_habILA,     #KING_BILA JNR,     airtel_care

同一个 user_name,name 组合可以有多个 TargetBrandName。 我需要将所有用户名连接到 TargetBrandName 比如……

(user_name,name)-[:FOLLOW]->TargetBrandName

我的目标是获得两个品牌(比如 GloCare 和 airtel_care)的所有普通追随者。

我如何在 neo4j 中实现这一点?

【问题讨论】:

  • user_namename 1:1?也就是说,一个user_name 有一个name ?
  • 是的..user_name 和 name 是 1:1

标签: neo4j cypher


【解决方案1】:

如果您只是在寻找多个关注给定品牌名称的人,我认为这样的内容就足够了(为了清楚起见,我添加了一些标签):

match (b1:Brand {TargetBrandName: 'GloCare'})<-[:FOLLOW]-(u:User)-[:FOLLOW]->(b2:Brand {TargetBrandName: 'airtel_care'})
return u

事实上,如果您不关心返回品牌信息(因为您已经将其嵌入到查询中),您可以省略这些变量:

match (:Brand {TargetBrandName: 'GloCare'})<-[:FOLLOW]-(u:User)-[:FOLLOW]->(:Brand {TargetBrandName: 'airtel_care'})
return u

【讨论】:

  • 它返回“无行”。问题是它没有检测到具有相同user_name,nameuser 作为单个节点。
猜你喜欢
  • 2020-06-30
  • 1970-01-01
  • 2013-09-28
  • 1970-01-01
  • 1970-01-01
  • 2011-09-07
  • 2021-10-23
  • 2021-09-09
  • 1970-01-01
相关资源
最近更新 更多