Neo4J

Neo4j

2020-08-25  本文已影响0人  Whoami令狐冲

1. 什么是Neo4j?

2. 图形数据结构

3. Neo4j应用场景

  - 3.1.1 用于联机事务图的持久化技术(通常直接实时地从应用程序中访问)。这类技术被称为图数据库,它们和“通常的”关系型数据库世界中的联机事务处理(Online Transactional Processing,OLTP)数据库是一样的。
  - 3.1.2 用于离线图分析的技术(通常都是按照一系列步骤执行)

这类技术被称为图计算引擎。它们可以和其他大数据分析技术看做一类,如数据挖掘和联机分析处理(Online Analytical Processing,OLAP)。

图数据库一般用于事务(OLTP)系统中。图数据库支持对图数据模型的增、删、改、查(CRUD)方法。相应地,它们也对事务性能进行了优化,在设计时通常需要考虑事务完整性和操作可用性。

目前图数据库的巨大用途得到了认可,它跟不同领域的很多问题都有关联。最常用的图论算法包括各种类型的最短路径计算、测地线(Geodesic Path)、集中度测量(如PageRank、特征向量集中度、亲密度、关系度、HITS等)。那么,什么样的应用场景可以很好地利用图数据库?

3.2 目前,业内已经有了相对比较成熟的基于图数据库的解决方案,大致可以分为以下几类。

3.2.2 社交网络图谱

3.2.3 企业关系图谱

4. Neo4j入门

5. springboot 整合 neo4j(采用原生集成方式)

5.1 neo4j对jvm环境要求

5.2 依赖及其配置准备

5.2 neo4j配置驱动连接

```java
            
    
import org.neo4j.driver.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

import static org.neo4j.driver.Values.parameters;

@RestController
@RequestMapping(value = "/neo4j")
public class Neo4jController {


    @Autowired
    private Driver driver;


    @GetMapping(value = "/{id}")
    public Object gertTeacherById(@PathVariable(value = "id") Long id) {
        try (Session session = driver.session()) {
            return session.readTransaction(rt -> {
                Result result = rt.run("match (n) where id(n)=$id return n,m, r", parameters("id", id));
               Record re = result.single();
               final Value v = re.get("n");
               return v.asMap();
            });
        }
    }
}  
```
  1. 总结
    上述讲述了neo4j的感念,常用语法,已经整合java入门demo,
上一篇 下一篇

猜你喜欢

热点阅读