您的位置:首页 > 编程语言 > Python开发

[bigdata-83] python3+图数据库neo4j 电话号码 身份证 黑名单 创建节点 标签 关系 增标记 增关系 查询pattern示例

2017-05-29 17:25 771 查看
#!/usr/bin/env python3
#!-*- coding:utf-8 -*-

from neo4j.v1 import GraphDatabase

uri = "bolt://ttt333:7687"
driver = GraphDatabase.driver(uri, auth=("neo4j", "99999"))

print("先删除所有节点和关系")
tx = driver.session().begin_transaction()
cmd = 'MATCH (n) DETACH DELETE n'
tx.run(cmd)

print("检查是否为空")
cmd = 'MATCH (n) RETURN n'
for i in tx.run(cmd):
print(i)

print("创建一组节点和关系")
cmd = "create (mp1:MP {num:\"18717917666\"})\n " \
"create (id1:ID {id:\"370502198808123255\"}) \n" \
"create (id1)-[:BIND]->(mp1) \n"\
"create (mp1)-[:BIND]->(id1) \n"
tx.run(cmd)
cmd = 'MATCH (n) RETURN n'
for i in tx.run(cmd):
print(i)

print("再创建一组节点和关系")
cmd = "create (mp1:MP {num:\"18717917888\"})\n " \
"create (id1:ID {id:\"370502198808123256\"}) \n" \
"create (id1)-[:BIND]->(mp1) \n"\
"create (mp1)-[:BIND]->(id1) \n"
tx.run(cmd)
cmd = 'MATCH (n) RETURN n'
for i in tx.run(cmd):
print(i)

print("查询")
cmd = "MATCH (n:MP)-[BIND]->(m:ID) WHERE n.num=\"18717917666\" RETURN m"
for i in tx.run(cmd):
print(i)

print("给一个电话增加黑名单")
cmd = "MATCH (n:MP) WHERE n.num=\"18717917888\" \n SET n:Black RETURN n"
tx.run(cmd)
cmd = "MATCH (n:Black) RETURN n"
for i in tx.run(cmd):
print(i)

print("给两个号码增加打电话关系")
cmd = "MATCH (n:MP) WHERE n.num=\"18717917666\" \n " \
"MATCH (m:MP) WHERE m.num=\"18717917888\" \n " \
"create (n)-[:CALL]->(m)"
tx.run(cmd)
cmd = "MATCH (m:MP)-[:CALL]->(n) RETURN m.num, n.num"
for i in tx.run(cmd):
print(i)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐