使用Neo4j进行关系挖掘实践

简介: 基于企业和老板的关系数据,使用Neo4j进行关系挖掘实践

使用Neo4j进行关系挖掘实践

介绍

Neo4j是一种图数据库,它可以存储和查询复杂的实体和关系网络。它基于图论的原理,使用节点和边来表示数据和它们之间的联系。

企业和老板关系是一种典型的图数据,它可以用Neo4j来建模和分析。我们可以把企业作为节点,把老板作为节点,把老板拥有或管理企业的关系作为边,把企业之间的合作或竞争关系作为边。这样就构成了一个企业和老板关系图谱。

利用Neo4j,我们可以进行各种关系挖掘,比如:

  • 查询某个企业的最终受益人或者实际控制人
  • 查询某个老板拥有或管理哪些企业
  • 查询某个企业的所有老板或高管
  • 查询某两个老板是否有共同拥有或管理的企业
  • 查询某两个企业是否有合作或竞争的关系
  • 查询与某个老板或企业最相关或最相似的其他老板或企业
  • 老板唯一标识的分配

关系挖掘

下面是一个简单的例子,展示了如何使用Neo4j进行关系挖掘。

假设我们有一个包含以下数据的企业和老板关系图谱:

我们可以使用Cypher语言来编写如下查询:

// 查询马云拥有或管理哪些企业
MATCH (b:Boss {name: "马云"})-[:OWN|MANAGE]->(c:Company)
RETURN b.name, c.name

// 查询阿里巴巴的所有老板或高管
MATCH (b:Boss)-[:OWN|MANAGE]->(c:Company {name: "阿里巴巴"})
RETURN b.name, c.name

// 查询马云和刘强东是否有共同拥有或管理的企业
MATCH (b1:Boss {name: "马云"})-[:OWN|MANAGE]->(c:Company)<-[:OWN|MANAGE]-(b2:Boss {name: "刘强东"})
RETURN b1.name, b2.name, c.name

// 查询阿里巴巴和京东是否有合作或竞争的关系
MATCH (c1:Company {name: "阿里巴巴"})-[r:COOP|COMPETE]->(c2:Company {name: "京东"})
RETURN c1.name, r.type, c2.name

// 查询与马云最相关的其他老板(基于邻居信息)
MATCH (b1:Boss {name:"马云"})-[r1]->(n)<-[r2]-(b2:Boss)
WHERE b1 <> b2
WITH b1, b2, count(n) as common_neighbors
ORDER BY common_neighbors DESC LIMIT 5
RETURN b1.name, b2.name, common_neighbors

// 查询马云实际控股的公司
MATCH
path=(b1:Boss {name:"马云"}})-[r:invest*..9{deleted: 0}]->(c:Company) 
with c,
sum(reduce(s=1.0, i in r | s*toFloat(i.capital_ratio))) as capital_ratio,collect(path) as paths
where capital_ratio>=0.25
return c,paths
...

思考 如何基于现有关系挖掘新的关系

以上的关系挖掘基于已有完整数据,但是目前我们缺失老板的唯一标识,就无法查询某个老板的关系链

现有数据:企业信息、企业和老板的单点关系、企业和企业的单点关系
最终需要实现挖掘新的关系链,增加以老板为入口的查询方式

思路

  1. 通过已存在的企业关系绘制图谱
  2. 将所有有关系的企业进行分组然后根据Boss的姓名进行聚合,从而给每个Boss进行唯一标识的分配。
  3. 将分配好的Boss唯一标识数据灌入图谱,再次进行以上操作用于优化,最终得到新的关系数据
  4. 实测因为数据量过大,所以不能够一次性聚合得到结果,所以采用遍历的方式每次遍历深度为3的关系数据
  5. 实测最终得到新的关系覆盖率达到95%以上,足以满足需求
相关文章
|
3月前
|
存储 NoSQL 算法
使用图数据库进行复杂数据建模:探索数据关系的无限可能
【8月更文挑战第17天】图数据库以其高效的关系查询能力、直观的数据表示方式、灵活的数据模型和强大的可扩展性,在复杂数据建模和查询中展现出了巨大的潜力。随着大数据和人工智能技术的不断发展,图数据库的应用领域也将不断拓展和深化。对于需要处理复杂关系网络和数据关联性的场景来说,图数据库无疑是一个值得深入研究和应用的强大工具。
|
3月前
|
存储 分布式计算 数据可视化
大数据概念与术语简介
大数据概念与术语简介
84 2
|
6月前
|
存储 SQL NoSQL
案例实践:某券商从 Neo4j 迁移至悦数图数据库
许多国内企业在早期使用 Neo4j 作为图相关业务场景的探索基础设施。然而,随着业务发展和环境变化,原有的图数据库已经逐渐无法满足不断发展的特定业务场景需求。如何将 Neo4j 迁移到一款兼具良好扩展性、性能、专业服务能力的图产品,已成为业界普遍关心的问题。本文将为您呈现华东某大型券商从 Neo4j 迁移至悦数图数据库的选型、迁移和提升能力的完整历程,供广大企业参考。
案例实践:某券商从 Neo4j 迁移至悦数图数据库
|
自然语言处理 算法 NoSQL
手把手教学小型金融知识图谱构建:量化分析、图数据库neo4j、图算法、关系预测、命名实体识别、Cypher Cheetsheet详细教学等
手把手教学小型金融知识图谱构建:量化分析、图数据库neo4j、图算法、关系预测、命名实体识别、Cypher Cheetsheet详细教学等
手把手教学小型金融知识图谱构建:量化分析、图数据库neo4j、图算法、关系预测、命名实体识别、Cypher Cheetsheet详细教学等
|
存储 人工智能 数据可视化
手把手教学构建证券知识图谱/知识库(含码源):网页获取信息、设计图谱、Cypher查询、Neo4j关系可视化展示
手把手教学构建证券知识图谱/知识库(含码源):网页获取信息、设计图谱、Cypher查询、Neo4j关系可视化展示
手把手教学构建证券知识图谱/知识库(含码源):网页获取信息、设计图谱、Cypher查询、Neo4j关系可视化展示
|
机器学习/深度学习 算法 数据挖掘
图(关系网络)数据分析及阿里应用
2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,阿里巴巴资深技术专家钱正平为大家分享了大数据技术背景下图数据的应用前景,以及阿里巴巴在图数据的建模、查询和系统优化等方面做出的初步探索。
3857 0
|
新零售 数据挖掘
|
数据挖掘
《数据分析实战:基于EXCEL和SPSS系列工具的实践》一2.3 在分析需求和模型之间搭起桥梁
本节书摘来华章计算机《数据分析实战:基于EXCEL和SPSS系列工具的实践》一书中的第2章 ,第2.3节,纪贺元 著 更多章节内容可以访问云栖社区“华章计算机”公众号查看。 2.3 在分析需求和模型之间搭起桥梁 我们在现实工作中面临的都是实际的需求,这些需求往往乍一看跟数据分析并没有多少关系,例如: 成本上升了,对价格如何影响? 如何降低物流成本? 工厂里面做实验,有的时候成功有的时候失败,原因何在? 来我这里购买的客户有哪些特征? 看到这里,读者可能大致明白了,所谓的数据分析,一开始就没几个人考虑数据,而是首先考虑业务,然后再往数据的地方靠。
1483 0