C# Neo4j中是否有ulong类型以及如何进行比较
我使用c#中的Neo4jClient在Neo4j中保存了一些tweet。我的节点包含一个属性,我不知道它是什么类型!我使用c#类创建节点,c#中的属性类型是ulong! 我只需要比较一下这个属性,比如:C# Neo4j中是否有ulong类型以及如何进行比较,c#,neo4j,neo4jclient,C#,Neo4j,Neo4jclient,我使用c#中的Neo4jClient在Neo4j中保存了一些tweet。我的节点包含一个属性,我不知道它是什么类型!我使用c#类创建节点,c#中的属性类型是ulong! 我只需要比较一下这个属性,比如: match n where n.StatusID = 627574605738311700 return n 或 但是两个查询都返回0结果,这是错误的,我只是复制了这个值,它应该存在 如何比较此类值?neo4j无符号64位整数 因此,在分配给NeN4J属性时,应该考虑将C语言的ULUN值转换为
match n where n.StatusID = 627574605738311700 return n
或
但是两个查询都返回0结果,这是错误的,我只是复制了这个值,它应该存在
如何比较此类值?neo4j无符号64位整数
因此,在分配给NeN4J属性时,应该考虑将C语言的ULUN值转换为字符串。这样,在Cypher中进行比较仍然可以正常工作(只要您比较的值也是字符串)。
您从这个查询中得到了什么?:匹配n WHERE HAS(n.StatusID)返回n.StatusID LIMIT 1
@cybersam我为这个查询得到了0个节点!!!因此,您没有任何具有StatusID
属性的节点!您用于创建节点的代码似乎没有达到预期效果。需要注意的一点是:如果尝试创建StatusID值太大(对于带符号的64位整数)的节点失败,您的代码会怎么做?是否有任何方法将属性转换为字符串?是的,您可以使用该函数转换现有属性,与中一样,设置n.foo=TOSTRING(n.foo)
。但是,在您的情况下,这没有帮助,因为您首先无法创建任何属性太大的节点。你真的需要使用字符串属性值从头开始创建neo4j DB。我不知道如何创建,但当我在neo4j web界面中获取一个节点时,StatusID属性设置为正确的值!!!很好,但是您没有使用web界面来创建其他节点——您遇到问题的节点——对吗?此外,即使在使用web界面时,如果您试图创建一个StatusID
值为18446744073709551615
(最大的ulong
值)的节点,您也会看到一个错误。是的,我想您是对的,ulong值已损坏!我应该从头开始创造!double和int呢?(nullable int)neo4j是否支持这种类型?
match n where n.StatusID = '627574605738311700' return n