首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RedisGraph -展开一批查询

RedisGraph -展开一批查询
EN

Stack Overflow用户
提问于 2020-08-17 17:24:08
回答 2查看 601关注 0票数 1

我想用Python在RedisGraph中执行一批查询,以加快大知识图的创建。

Neo4J 中,Neo4J Python可以使用展开命令并允许并行查询。在这个片段中,您可以看到Python如何支持展开-- run方法将batch作为参数。batch是一个字典列表。每个字典都有head_idtail_idproperties作为键。

代码语言:javascript
复制
with session.begin_transaction() as tx:  # In this transaction relationships are inserted in the database
    cypher_query = 'UNWIND $batch as row ' \
    'MATCH (head:Node) WHERE head.id = row.head_id ' \
    'MATCH (tail:Node) WHERE tail.id = row.tail_id ' \
    'CREATE (head)-[rel:RELATIONSHIP]->(tail) ' \
    'SET rel += row.properties'

     tx.run(cypher_query, batch=batch)

RedisGraph中,解卷也是可用的(因为它是一个Cypher命令)。但是,我不知道如何在Python中传递一个批处理:

代码语言:javascript
复制
cypher_query = 'UNWIND $batch as row ' \
        'MATCH (head:Node) WHERE head.id = row.head_id ' \
        'MATCH (tail:Node) WHERE tail.id = row.tail_id ' \
        'CREATE (head)-[rel:RELATIONSHIP]->(tail) ' \
        'SET rel += row.properties'
r = redis.StrictRedis()
r.execute_command('GRAPH.QUERY', graph_name, cypher_query)  #No batch can be passed!!

你知道解决办法吗?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-18 12:41:10

下面是RedisLabs开发团队的答案:

github.com/RedisGraph/RedisGraph/issues/1293

到目前为止,这个特性是不支持的,但将在将来引入。

票数 1
EN

Stack Overflow用户

发布于 2020-08-17 18:19:41

redisgraph-py自述文件显示了如何通过其query()方法传递参数的示例

..。params ={‘宗旨’:“愉快”}查询=“匹配”(p:person)-v:visited {->(c:country)返回p.name、p.age、v.purpose、c.name“结果=redis_graph.query(查询,参数).

如果您确实需要使用execute_command(),则可以查看已实现

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63455736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档