连接Neo4j
g = Graph("http://localhost:7474", auth=("neo4j", "neo4j"))
查询节点
node_matcher = NodeMatcher(g)
node = node_matcher.match("人物").first()
node1 = node_matcher.match("人物").where(name='关羽').first()
查询关系
方式一 查询关系是’兄弟关系‘的所有关系(relationship)一条
relation_1 = g.match_one(r_type='兄弟关系')
print(relation_1)
relation_1['relation'] # 关系relarion中的关系
relation_1.end_node # 关系relation中的尾节点
relation_1.start_node # 关系relation中的头节点
方式二 按条件查询节点与关系
guanyu_node = node_matcher.match("任务", name='关羽').all()
guanyu_relation = RelationshipMatch(g, nodes=guanyu_node ).first()
方式三 使用cypher命令进行查询
gql = "match(x:`人物`{name: '关羽'})-[r:`兄弟`]-(y:`人物`) return *"
res = g.run(gql).data()
# 关系查看
r = res[0]['r']
r['relation'] # 关系类型
list(r.types())[0] # 关系名称(兄弟)
r.start_node # 关系relation中的头节点
r.end_node # 关系relation中的尾节点
# 节点查看
x = res[0]['x']
str(x.labels)[1:] # 查看节点类型
dict(i[k])['name'] # 查看节点名
持续修正更新