Neo4j简介
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
Neo4j因其嵌入式、高性能、轻量级等优势,越来越受到关注。
图形数据结构
在一个图中包含两种基本的数据类型:Nodes(节点) 和 Relationships(关系)。Nodes 和 Relationships 包含key/value形式的属性。Nodes通过Relationships所定义的关系相连起来,形成关系型网络结构。
在node中使用neo4j,代码示例:
const neo4j = require('neo4j-driver').v1
const db = 地址
const dbuser = 用户名
const dbpassword = 密码
// 连接数据库
const driver = neo4j.driver(db, neo4j.auth.basic(dbuser, dbpassword))
// 具体示例,这里的例子是查询某个node的关系网络
async function f () {
// 查询语句
const statement = [
'match (p1:Person {uid: $uid})',
'call apoc.path.expand(p1, $directedRelationship,"Person",1,$nLayer) yield path as pp',
'return pp'
]
// 变量
params = {
uid: "abc",
directedRelationship: "KNOWS>",
nLayer: 2
}
// 启动查询
const session = driver.session()
const result = await se