有没有办法根据属性值的类型匹配Neo4j / Cypher中的节点?我正在寻找这样的东西:
MATCH (n:Person)
WHERE NOT(n.id_number isa STRING)
RETURN n
我能想到的最接近的是
MATCH (n:Person)
WHERE NOT(n.id_number = toString(n.id_number))
RETURN n
虽然这仍然很快,但根据PROFILE,它不使用索引,而我认为isa
样式的查询可以使用索引。
答案 0 :(得分:2)
使用apoc.meta.type
过程返回值的类型名称,例如INTEGER,FLOAT,STRING,BOOLEAN,RELATIONSHIP,NODE,PATH,NULL,UNKNOWN,MAP,LIST。
参考:https://community.neo4j.com/t/data-type-of-a-property/1309/2
答案 1 :(得分:0)
除了您的解决方法之外,Cypher无法按属性值类型匹配节点。