什么是Neo4j

https://db-engines.com/en/ranking
Neo4j是一个开源的 无Shcema的 基于java开发的 图形数据库,它将结构化数据存储在图中而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎。程序数据是在一个面向对象的、灵活的网络结构下,而不是严格、静态的表中,但可以享受到具备完全的事务特性、企业级的数据库的所有好处。

Neo4j 模块构建

节点、属性、关系、标签、数据浏览器
节点
节点是图表的基本单位。 它包含具有键值对的属性
属性
属性是用于描述图节点和关系的键值对
Key =值
其中Key是一个字符串
值可以通过使用任何Neo4j数据类型来表示
关系
关系是图形数据库的另一个主要构建块。 它连接两个节点,如下所
image.png
这里Emp和Dept是两个不同的节点。 “WORKS_FOR”是Emp和Dept节点之间的关系。因为它表示从Emp到Dept的箭头标记,那么这种关系描述的一样Emp WORKS_FOR Dept每个关系包含一个起始节点和一个结束节点。这里“Emp”是一个起始节点。“Dept”是端节点。由于该关系箭头标记表示从“Emp”节点到“Dept”节点的关系,该关系被称为“进入关系”到“Dept”节点。并且“外向关系”到“Emp”节点。像节点一样,关系也可以包含属性作为键值
标签
Label将一个公共名称与一组节点或关系相关联。 节点或关系可以包含一个或多个标签。 我们可以为现有节点或关系创建新标签。 我们可以从现有节点或关系中删除现有标签。从前面的图中,我们可以观察到有两个节点。左侧节点都有一个标签:“EMP”,而右侧节点都有一个标签:“Dept”。这两个节点之间的关系,也有一个标签:“WORKS_FOR”
注: -Neo4j将数据存储在节点或关系的属性中。

Neo4j的主要应用场景

社交媒体和社交网络

当使用图形数据库为社交网络应用程序提供动力时,可以轻松利用社交关系或根据活动推断关系。查询社区聚类分析,朋友的朋友推荐,影响者分析,共享和协作关系分析等

推荐引擎和产品推荐系统

图形驱动的推荐引擎通过实时利用多种连接,帮助公司个性化产品,内容和服务。内容和媒体推荐,图形辅助搜索引擎,产品推荐,专业网络,社会推荐。

身份和访问管理

使用图形数据库进行身份和访问管理时,可以快速有效地跟踪用户,资产,关系和授权。查询访问管理,资产来源,数据所有权,身份管理,互连组织,主数据,资源授权

金融反欺诈多维关联分析场景

通过图分析可以清楚地知道洗钱网络及相关嫌疑,例如对用户所使用的帐号、发生交易时的IP地址、MAC地址、手机IMEI号等进行关联分析。