diff --git a/AI/Neo4j/Start.py b/AI/Neo4j/Start.py index 97a58985..f6cfd299 100644 --- a/AI/Neo4j/Start.py +++ b/AI/Neo4j/Start.py @@ -25,7 +25,7 @@ create_subgraph(db, hero_nodes, base_relations) family_nodes = [ Node('英雄', name='张翠山'), Node('英雄', name='殷素素'), - Node('英雄', name='狮王'), + Node('英雄', name='狮王谢逊'), Node('武当', name='张三丰') ] @@ -37,14 +37,16 @@ family_relations = [ (family_nodes[0], '妻子', family_nodes[1]) ] -transactional_create(db, family_nodes, family_relations) +tx_create(db, family_nodes, family_relations) # ================== 第三部分:感情关系 ================== love_nodes = [ - Node('巾帼', name='赵敏'), - Node('巾帼', name='周芷若'), - Node('巾帼', name='小昭'), - Node('巾帼', name='蛛儿') + Node('美女', name='赵敏'), + Node('美女', name='周芷若'), + Node('美女', name='小昭'), + Node('美女', name='蛛儿'), + Node('美女', name='丁敏君'), + Node('美女', name='灭绝师太') ] love_relations = [ @@ -54,10 +56,14 @@ love_relations = [ (hero_nodes[0], 'knows', love_nodes[2]), (love_nodes[3], 'Love', hero_nodes[0]), (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: @@ -67,5 +73,6 @@ def query_relations(db: Graph, rel_type: str) -> None: for rel in matcher.match(r_type=rel_type): print(f"{rel.start_node['name']} -[{rel_type}]-> {rel.end_node['name']}") + query_relations(db, 'hate') -query_relations(db, '情敌') \ No newline at end of file +query_relations(db, '情敌') diff --git a/AI/Neo4j/Util.py b/AI/Neo4j/Util.py index 2865b687..9dc1062c 100644 --- a/AI/Neo4j/Util.py +++ b/AI/Neo4j/Util.py @@ -32,7 +32,7 @@ def create_subgraph(db: Graph, nodes: List[Node], relations: List[Tuple[Node, st ) 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: tx = db.begin() diff --git a/AI/Neo4j/__pycache__/Util.cpython-310.pyc b/AI/Neo4j/__pycache__/Util.cpython-310.pyc index 99de5957..fe0bb290 100644 Binary files a/AI/Neo4j/__pycache__/Util.cpython-310.pyc and b/AI/Neo4j/__pycache__/Util.cpython-310.pyc differ