java.lang.IllegalArgumentException: 值字符串 [TEXT] 类型不受支持

java.lang.IllegalArgumentException: Unsupported type [TEXT] of value String

我有一个看起来像这样的简单图表(几个对电影发表评论的人)

(p: Person)-[r: review {rating}]->(m: Movie)

我想根据 GDS Node Similarity 中的例子创建一个图表,我使用这个:

 CALL gds.graph.create(
    'myGraph',
    ['Person', 'Movie'],
    {
        review: {
            type: 'review',
            properties: {
                rating: {
                    property: 'rating',
                    defaultValue: 1.0
                }
            }
        }
    }
);

当我尝试这个时,我得到了下一个异常:

Failed to invoke procedure `gds.graph.create`: Caused by: java.lang.IllegalArgumentException: Unsupported type [TEXT] of value String("4"). Please use a numeric property.

我在日志中找不到任何有用的信息,说明我为什么会收到此异常。关于我做错了什么的想法?

问题是“评级”属性 存储为字符串。您可以做的是首先将其转换为浮点数,然后 运行 完全相同的 GDS 查询。

因此,首先将评分 属性 转换为浮点数:

MATCH ()-[r:review]->()
SET r.rating = toFloat(r.rating)

现在重新运行相同的 GDS 查询,它应该可以工作。