当某些属性包含数组时排序

时间:2015-05-15 19:37:55

标签: neo4j cypher

我有一个数据库,其中相同类型的节点,例如person,可能具有给定属性的单个字符串值或字符串值数组。我希望能够进行搜索,然后通过此属性订购结果。尝试时,我收到以下错误:

KernelException: Don't know how to compare that. Left: ["D'Amico","Damico"] (String[]); Right: "Brindley" (String)

有关如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:3)

如果可以尝试按第一个数组元素排序。

MATCH (n)
RETURN n
ORDER BY coalesce(head(n.foo), n.foo)
如果没有集合,

head(coll)将返回null,然后您只需正常使用该属性。