neo4j 图数据库

图数据库、语法大小写皆可

参考

创建节点

1
2
3
4
# 节点表示: (name:label1:label2 {field: value})
CREATE (Hugo:Person {name:'Hugo Weaving', born:1960})
create (n:Person { name: 'Tom Hanks', born: 1956 }) return n
CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to...'})

创建关系

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 关系表示: (name:label1:label2 {fied, value}), 属性可有可无
# 建立关系 CREATE node1 - [relationship] - node2

# 1. 匹配节点 建立关系
MATCH (a:Person),(b:Movie)
where a.name = 'Hugo Weaving' and b.title = 'The Matrix'
create (a) - [r:ACTED_IN {roles:['Agent Smith']}] -> (r)

# 2. 创建节点并建立关系
CREATE (Hugo:Person {})
CREATE (TheMatrix:Movie {})
CREATE (Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrix)
# 3. 创建节点并建立关系
CREATE (Hugo:Person {})-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrix:Movie {})

1
2
3
4
5
6
# 查节点
MATCH (c:equip {name: 'f35'} ) return c
MATCH (c:equip) where c.name = 'f35' return c

# 查关系
MATCH p=()-[r:ACTED_IN]->() RETURN p LIMIT 25

删除数据

1
2
3
# 关系依赖于节点,删除所有节点关系会自动删除
MATCH (n:Person) DETACH DELETE n
MATCH (n) WHERE id(n) = 3869127 DETACH DELETE n

索引

1
2
3
4
5
6
7
8
9
10
# 查看索引
:schema

# 创建索引
# CREATE INDEX ON :<label>(<field>)
CREATE INDEX ON :Person(name)

# 删除索引
# DROP INDEX ON :<label>(<field>)
DROP INDEX ON :Person(name)

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×