def createRelationship(self, start_node: Node, relation_type: str, end_node: Node, relation_properties=None): """创建关系,如果有关系上属性的话就一起创建 :param start_node: 起始结点 :param relation_type: 关系类型 :param end_node: 结束结点 :param relation_properties: 属性字典,如果有传入的话,则在关系上添加多个形如"属性名:属性值"的键值对 :return: 创建好的关系对象 """ new_relation = Relationship(start_node, relation_type, end_node) new_relation.update(relation_properties) self.my_graph.create(new_relation) return new_relation
_str = 'qxy:msgRecord:' + sid + ':' + c + '*' _dates = rds.keys(_str) for key in _dates: _msgs = rds.zrange(key, 0, -1) for msg in _msgs: #c_s_msgs.append(msg) _json_msg = json.loads(msg) if 'extras' in _json_msg.keys(): _json_msg['extras'] = json.dumps(_json_msg['extras']) if 'item' in _json_msg.keys(): _json_msg['item'] = json.dumps(_json_msg['item']) _from = _json_msg['from'] if _from == sid: _chat_relation = Relationship( _snode, "CHAT_" + str(_json_msg['createTime']), _cnode) _chat_relation.update(_json_msg) graph.create(_chat_relation) else: _chat_relation = Relationship( _cnode, "CHAT_" + str(_json_msg['createTime']), _snode) _chat_relation.update(_json_msg) graph.create(_chat_relation) graph.delete_all() ''' s = Node('Servicer') c = Node('Customer', pid = '17830746958') graph.create(s) graph.create(c)
b = Node('Person', name='Bob', age=22, location='上海') c = Node('Person', name='Mike', age=21, location='北京') a.setdefault('time', '---2018---') a['time1'] = '---2018_1---' print(a) r1 = Relationship(a, 'KNOWS', b) r2 = Relationship(b, 'KNOWS', c) r2.setdefault("time", "198708") r1['time'] = '2018' graph.create(a) graph.create(r1) graph.create(r2) r1.update() # graph.delete(a) print("------------> r2 ------------>") print(r2) selector = NodeSelector(graph) print("------------> selector.select( age=21)") persons = selector.select(age=21) print(list(persons)) print("------------> selector.select('Person', age=21)") persons = selector.select('Person', age=21) print(list(persons))