Neptune with Tinkerpop > 如何转义 $ 符号?
Neptune with Tinkerpop > How to escape $ symbol?
试图添加包含 $
的 属性
gremlin> g.V('some-node-id').property("money", "10 $")
groovysh_parse: 1: illegal string body character after dollar sign;
solution: either escape a literal dollar sign "$5" or bracket the value expression "" @ line 1, column 72.
').property("money", "10 $")
所以我转义了$
符号
gremlin> g.V('some-node-id').property("money", "10$")
{"requestId":"xyz","code":"MalformedQueryException","detailedMessage":"Query parsing failed at line 1, character position at X, error message : token recognition error at: '$'"}
Type ':help' or ':h' for help.
尝试基本的转义,效果很好
gremlin> g.V('some-node-id').property("money", "10\"")
==>v[some-node-id]
加倍逃脱$
,因为海王星已经疯了
gremlin> g.V('some-node-id').property("money", "10\$")
groovysh_parse: 1: illegal string body character after dollar sign;
solution: either escape a literal dollar sign "$5" or bracket the value expression "" @ line 1, column 72.
').property("money", "10\$")
^
我的查询有什么问题?
感谢您报告此问题。这也已在 Amazon Neptune 论坛中得到解答 https://forums.aws.amazon.com/thread.jspa?messageID=862849
此问题的解决方法是在要添加 $ 符号的字符串周围使用单引号。例如:
gremlin> g.addV("Animal").property(id,"simba")
==>v[simba]
gremlin> g.V('simba').property('money','3')
==>v[simba]
gremlin> g.V().has('money','3')
==>v[simba]
gremlin> g.V('simba').property('new_money','123 ')
==>v[simba]
但是,我知道在转义 $ 后它也应该与双引号一起使用。这是我们解析器中的一个错误,我们正在积极进行修复。
此外,我应该注意到该错误仅影响以 groovy 语言编写的客户端,这些客户端将查询作为字符串发送,例如小鬼控制台。 GLV (Java/Python/DotNet/JS) 和其他“$”字符不是保留字符的基于字符串的客户端将正常工作。
此致,
迪维
试图添加包含 $
gremlin> g.V('some-node-id').property("money", "10 $")
groovysh_parse: 1: illegal string body character after dollar sign;
solution: either escape a literal dollar sign "$5" or bracket the value expression "" @ line 1, column 72.
').property("money", "10 $")
所以我转义了$
符号
gremlin> g.V('some-node-id').property("money", "10$")
{"requestId":"xyz","code":"MalformedQueryException","detailedMessage":"Query parsing failed at line 1, character position at X, error message : token recognition error at: '$'"}
Type ':help' or ':h' for help.
尝试基本的转义,效果很好
gremlin> g.V('some-node-id').property("money", "10\"")
==>v[some-node-id]
加倍逃脱$
,因为海王星已经疯了
gremlin> g.V('some-node-id').property("money", "10\$")
groovysh_parse: 1: illegal string body character after dollar sign;
solution: either escape a literal dollar sign "$5" or bracket the value expression "" @ line 1, column 72.
').property("money", "10\$")
^
我的查询有什么问题?
感谢您报告此问题。这也已在 Amazon Neptune 论坛中得到解答 https://forums.aws.amazon.com/thread.jspa?messageID=862849
此问题的解决方法是在要添加 $ 符号的字符串周围使用单引号。例如:
gremlin> g.addV("Animal").property(id,"simba")
==>v[simba]
gremlin> g.V('simba').property('money','3')
==>v[simba]
gremlin> g.V().has('money','3')
==>v[simba]
gremlin> g.V('simba').property('new_money','123 ')
==>v[simba]
但是,我知道在转义 $ 后它也应该与双引号一起使用。这是我们解析器中的一个错误,我们正在积极进行修复。
此外,我应该注意到该错误仅影响以 groovy 语言编写的客户端,这些客户端将查询作为字符串发送,例如小鬼控制台。 GLV (Java/Python/DotNet/JS) 和其他“$”字符不是保留字符的基于字符串的客户端将正常工作。
此致,
迪维