首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Cypher语句中使用字符串变量的Python Neo4j

在Cypher语句中使用字符串变量的Python Neo4j
EN

Stack Overflow用户
提问于 2017-05-20 04:59:47
回答 1查看 1K关注 0票数 0

显然,我对pythonNeo4j模块中的session.run方法的格式有一些误解。

这样做是可行的:

代码语言:javascript
复制
session.run("statement1"
            "statement2"
             "statement3"
             "statement4", variable list)

但是现在我需要将字符串修改到方法的外部:例如我想要这样做

代码语言:javascript
复制
s1 = "statement1"
s2 = "statement2"
session.run(s1
            s2
            "statement3"
            "statement4", variable list)

这样我就可以用.run方法无法处理的方式修改语句--比如动态地修改标签。

但是我得到一个语法错误

我不明白为什么这不管用。我做错了什么?如何在这样的run命令中引入诸如标签名之类的变量?

谢谢

实际代码如下:

代码语言:javascript
复制
    s1 = "MERGE (a:Animal:Female {tag: {tag}})"
    session.run(s1
             " MERGE (d:Animal:Female {tag: {dam}})"
            "MERGE (s:Animal:Male {tag: {sire}})"
            "MERGE (d)-[:DamTo{dob:{dob}}]->(a)"
            "MERGE (s)-[:SireTo{dob:{dob}}]->(a)" , tag = tag, dob = dob, dam = dam, sire = sire )

错误消息:

代码语言:javascript
复制
" MERGE (d:Animal:Female {tag: {dam}})"
                                      ^
SyntaxError: invalid syntax
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-22 02:16:45

在Python中,相邻的字符串文本自动连接。但是,字符串变量不支持自动连接。

试着改变这个:

代码语言:javascript
复制
         s1
         " MERGE (d:Animal:Female {tag: {dam}})"

对此:

代码语言:javascript
复制
         s1 +
         " MERGE (d:Animal:Female {tag: {dam}})"

其他自动连接应该仍然有效。

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

https://stackoverflow.com/questions/44082089

复制
相关文章

相似问题

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