neo4j:在查询中有一个看起来像数学运算的字符串
可能是个愚蠢的问题,但我想不出来: 节点的属性为:1-4567655 我假设这个问题neo4j:在查询中有一个看起来像数学运算的字符串,neo4j,cypher,Neo4j,Cypher,可能是个愚蠢的问题,但我想不出来: 节点的属性为:1-4567655 我假设这个问题 MATCH (t:Ticket {number:"1-4567655"}) return t 失败原因neo4j计算1减去4567655,当然不匹配。如果这是原因,我如何查询该属性呢?我试过了 MATCH (t:Ticket {number:toString(1-556264051)}) RETURN t 但这也不起作用。有人知道如何搜索这个吗 谢谢 如果执行此查询: MATCH (t:Ticket {nu
MATCH (t:Ticket {number:"1-4567655"}) return t
失败原因neo4j计算1减去4567655,当然不匹配。如果这是原因,我如何查询该属性呢?我试过了
MATCH (t:Ticket {number:toString(1-556264051)}) RETURN t
但这也不起作用。有人知道如何搜索这个吗
谢谢 如果执行此查询:
MATCH (t:Ticket {number:"1-4567655"}) return t
Neo4J肯定会而不是进行计算,并最终得到字符串-4567654(如果您进行了计算,您将得到该字符串)。不,您实际上是在指定一个值为“1-4567655”的常规字符串。因此,如果此查询未返回任何结果,最可能的原因是您没有具有该编号的票证
节点
你可以用Neo4j做简单的数学题。查询返回10-2
给出答案8。运行时返回1-556264051代码>我得到了-556264050
。在上面使用toString
也可以。所以再一次,我认为您的数据库实际上缺少一个Ticket
节点,该节点有一个具有该值的number属性
number
属性是否可能是另一种类型(长或双精度)而不是字符串
例如,我这样做:
create (t:Ticket {number: 1});
如果您尝试将其与:match(t:Ticket{number:“1”})匹配,则返回t
您将一无所获。因为字符串“1”
和数字1
不是一回事
尝试更改查询以查找数字(而不是字符串),我打赌这会有所帮助。如果您执行此查询:
MATCH (t:Ticket {number:"1-4567655"}) return t
Neo4J肯定会而不是进行计算,并最终得到字符串-4567654(如果您进行了计算,您将得到该字符串)。不,您实际上是在指定一个值为“1-4567655”的常规字符串。因此,如果此查询未返回任何结果,最可能的原因是您没有具有该编号的票证
节点
你可以用Neo4j做简单的数学题。查询返回10-2
给出答案8。运行时返回1-556264051代码>我得到了-556264050
。在上面使用toString
也可以。所以再一次,我认为您的数据库实际上缺少一个Ticket
节点,该节点有一个具有该值的number属性
number
属性是否可能是另一种类型(长或双精度)而不是字符串
例如,我这样做:
create (t:Ticket {number: 1});
如果您尝试将其与:match(t:Ticket{number:“1”})匹配,则返回t
您将一无所获。因为字符串“1”
和数字1
不是一回事
尝试更改查询以查找数字(而不是字符串),我打赌这会有所帮助。如果您执行此查询:
MATCH (t:Ticket {number:"1-4567655"}) return t
Neo4J肯定会而不是进行计算,并最终得到字符串-4567654(如果您进行了计算,您将得到该字符串)。不,您实际上是在指定一个值为“1-4567655”的常规字符串。因此,如果此查询未返回任何结果,最可能的原因是您没有具有该编号的票证
节点
你可以用Neo4j做简单的数学题。查询返回10-2
给出答案8。运行时返回1-556264051代码>我得到了-556264050
。在上面使用toString
也可以。所以再一次,我认为您的数据库实际上缺少一个Ticket
节点,该节点有一个具有该值的number属性
number
属性是否可能是另一种类型(长或双精度)而不是字符串
例如,我这样做:
create (t:Ticket {number: 1});
如果您尝试将其与:match(t:Ticket{number:“1”})匹配,则返回t
您将一无所获。因为字符串“1”
和数字1
不是一回事
尝试更改查询以查找数字(而不是字符串),我打赌这会有所帮助。如果您执行此查询:
MATCH (t:Ticket {number:"1-4567655"}) return t
Neo4J肯定会而不是进行计算,并最终得到字符串-4567654(如果您进行了计算,您将得到该字符串)。不,您实际上是在指定一个值为“1-4567655”的常规字符串。因此,如果此查询未返回任何结果,最可能的原因是您没有具有该编号的票证
节点
你可以用Neo4j做简单的数学题。查询返回10-2
给出答案8。运行时返回1-556264051代码>我得到了-556264050
。在上面使用toString
也可以。所以再一次,我认为您的数据库实际上缺少一个Ticket
节点,该节点有一个具有该值的number属性
number
属性是否可能是另一种类型(长或双精度)而不是字符串
例如,我这样做:
create (t:Ticket {number: 1});
如果您尝试将其与:match(t:Ticket{number:“1”})匹配,则返回t
您将一无所获。因为字符串“1”
和数字1
不是一回事
尝试更改查询以查找数字(而不是字符串),我敢打赌这会有所帮助。太棒了。看来我在这里缺乏知识。当我尝试不带引号的查询时,票证是find-现在可以了。当我想查询另一个属性时,例如like状态,我仍然需要查询like。数字的属性不是字符串吗?如果是这样的话,在创建该属性时如何将其定义为字符串以避免这种情况?我只使用set t.number=csvLine[1]。也许我也需要设置类型?感谢您的帮助,非常感谢。通过CSV导入时,如果您想保证这是一个字符串,请使用toString()。太棒了。看来我在这里缺乏知识。当我尝试不带引号的查询时,票证是find-现在可以了。Wh