main
黄海 5 months ago
parent 2ecdf51776
commit 9e5d176ccb

@ -25,7 +25,7 @@ create_subgraph(db, hero_nodes, base_relations)
family_nodes = [ family_nodes = [
Node('英雄', name='张翠山'), Node('英雄', name='张翠山'),
Node('英雄', name='殷素素'), Node('英雄', name='殷素素'),
Node('英雄', name='狮王'), Node('英雄', name='狮王谢逊'),
Node('武当', name='张三丰') Node('武当', name='张三丰')
] ]
@ -37,14 +37,16 @@ family_relations = [
(family_nodes[0], '妻子', family_nodes[1]) (family_nodes[0], '妻子', family_nodes[1])
] ]
transactional_create(db, family_nodes, family_relations) tx_create(db, family_nodes, family_relations)
# ================== 第三部分:感情关系 ================== # ================== 第三部分:感情关系 ==================
love_nodes = [ love_nodes = [
Node('巾帼', name='赵敏'), Node('美女', name='赵敏'),
Node('巾帼', name='周芷若'), Node('美女', name='周芷若'),
Node('巾帼', name='小昭'), Node('美女', name='小昭'),
Node('巾帼', name='蛛儿') Node('美女', name='蛛儿'),
Node('美女', name='丁敏君'),
Node('美女', name='灭绝师太')
] ]
love_relations = [ love_relations = [
@ -54,10 +56,14 @@ love_relations = [
(hero_nodes[0], 'knows', love_nodes[2]), (hero_nodes[0], 'knows', love_nodes[2]),
(love_nodes[3], 'Love', hero_nodes[0]), (love_nodes[3], 'Love', hero_nodes[0]),
(love_nodes[1], '情敌', love_nodes[2]), (love_nodes[1], '情敌', love_nodes[2]),
(love_nodes[2], '情敌', love_nodes[3]) (love_nodes[2], '情敌', love_nodes[3]),
(love_nodes[4], '师姐', love_nodes[1]),
(love_nodes[5], '师傅', love_nodes[4]),
(love_nodes[5], '师傅', love_nodes[1]),
] ]
transactional_create(db, love_nodes, love_relations) tx_create(db, love_nodes, love_relations)
# ================== 第四部分:统一查询 ================== # ================== 第四部分:统一查询 ==================
def query_relations(db: Graph, rel_type: str) -> None: def query_relations(db: Graph, rel_type: str) -> None:
@ -67,5 +73,6 @@ def query_relations(db: Graph, rel_type: str) -> None:
for rel in matcher.match(r_type=rel_type): for rel in matcher.match(r_type=rel_type):
print(f"{rel.start_node['name']} -[{rel_type}]-> {rel.end_node['name']}") print(f"{rel.start_node['name']} -[{rel_type}]-> {rel.end_node['name']}")
query_relations(db, 'hate') query_relations(db, 'hate')
query_relations(db, '情敌') query_relations(db, '情敌')

@ -32,7 +32,7 @@ def create_subgraph(db: Graph, nodes: List[Node], relations: List[Tuple[Node, st
) )
db.create(subgraph) db.create(subgraph)
def transactional_create(db: Graph, nodes: List[Node], relations: List[Tuple[Node, str, Node]]) -> None: def tx_create(db: Graph, nodes: List[Node], relations: List[Tuple[Node, str, Node]]) -> None:
"""事务方式创建数据""" """事务方式创建数据"""
try: try:
tx = db.begin() tx = db.begin()

Loading…
Cancel
Save