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
Ejemplo n.º 2
0
        _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)

Ejemplo n.º 3
0
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))