Python 下 Flask 结合 Neo4j 构建管理系统(二)

Neo4j 简介

Neo4j 是一个高性能的,NOSQL 图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的 Java 持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。

安装

进入Neo4j 下载地址选择社区版进行下载安装。

使用

Neo4j 提供了 Cypher 查询语言对数据库数据进行操作,在使用 Neo4j 之前必须先了解 Cypher,可以参考官方提供了一些例程和开发文档: Intro to Cypher The Neo4j Developer Manual v3.1 第一个介绍了 Cypher 的一些基本概念方便去理解 Cypher 语言,第二个则是一份开发者文档,详细介绍了各操作的含义以及一些示例语句。 在了解 Cypher 后,就可以利用 Neo4j 控制台做一些基本的查询测试: * 首先需要开启服务器: * 在开启服务器后进入 http://localhost:7474 第一次进入需要设置密码 * 在主界面中选择 Jump into code,之后选择 Movie Graph 中的 Create a graph,则可以看到一个 Neo4j 官方提供的构造数据图的代码,点击之后运行即可。

  • 在创建了数据图之后,点击左侧的第一个导航栏,可以看见数据图的各项信息。

  • 查询 这里以查询节点 name 属性为 Audrey Tautou 到节点 title 属性为 As Good as It Gets 且节点关系为 ACTED_IN 间隔不超过 5 的最短路径为例,在输入框中输入如下代码:

    1
    2
    3
    4
    MATCH (you {name:"Audrey Tautou"})
    MATCH (expert {title:"As Good as It Gets"})
    MATCH path = shortestPath( (you)-[:ACTED_IN*..5]-(expert) )
    RETURN path
    运行之后结果如下: