我是靠谱客的博主 可耐豌豆,最近开发中收集的这篇文章主要介绍Neo4j菜鸟学习文档,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

公司实习需要用到Neo4j,非常不错的图数据库,语法和MySQL相比有较大不同,但是比较容易上手

基本知识

Neo4j的语言也称CQL, 不区分大小写,不管是属性还是关系都支持中文

(a:person),其中() 表示节点,a是节点名,person是节点的标签,标签非常重要,代表了这个节点,不管是a,person都是任意取的

(a:person) -[r:relation] ->(b:item) 表示a和b的关系,person 和item是上面提到的节点标签(注意不要写错,不然关系无法建立,会报错)relation可以表示任何关系,例如 has,母亲,product等

菜鸟实例——师徒四人关系图

参考博客(里面有些错误,下面的代码中已修改):link.

先创建了四个人物节点

CREATE (x_Person:X_Person{name:"唐三藏",age:39})
CREATE (x_Person:X_Person{name:"孙悟空",age:520})
CREATE (x_Person:X_Person{name:"猪八戒",age:512})
CREATE (x_Person:X_Person{name:"沙悟净",age:444})
match (n) return n

建立人物关系 (直接用参考博客中的代码会报warning,just ignore it 不会有影响)

MATCH (a:X_Person),(b:X_Person)
WHERE a.name = '唐三藏' AND (b.name = '猪八戒' or b.name ='沙悟净' or b.name ='孙悟空')
CREATE (a)-[r:师傅] -> (b)
RETURN r
MATCH (a:X_Person),(b:X_Person)
WHERE a.name = '孙悟空' AND (b.name ='沙悟净' or b.name ='猪八戒')
CREATE (a)-[r:师兄] -> (b)
RETURN r
MATCH (a:X_Person),(b:X_Person)
WHERE a.name = '猪八戒' AND (b.name ='沙悟净')
CREATE (a)-[r:师兄] -> (b)
RETURN r

新建武器节点

create (x_w:x_weapon{name:'金箍棒',age:10000})
create(x_w:x_weapon{name:'九齿钉耙',age:2000})
create (x_w :x_weapon{name:'禅杖',age:50000})

建立武器与人物关系

match (a: X_Person),(b:x_weapon)
where a.name = '孙悟空' and b.name = '金箍棒'
create (a) -[r: 武器] -> (b)
return r;
match (a:X_Person),(b:x_weapon)
where a.name = '猪八戒' and b.name ='九齿钉耙'
create (a) -[r:武器] ->(b)
return r
match (a: X_Person),(b:x_weapon)
where a.name = '沙悟净' and b.name = '禅杖'
create (a) -[r: 武器] -> (b)
return r;
match (n) return n

查询语句

match (a:X_Person) -[r:武器]->(b:x_weapon) return a,b
match (a:X_Person) -[r:武器]-> (b:x_weapon) where a.name = '孙悟空' return a,b

下面是一些用到的比较好的博客
链接: link.

最后

以上就是可耐豌豆为你收集整理的Neo4j菜鸟学习文档的全部内容,希望文章能够帮你解决Neo4j菜鸟学习文档所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部