【问题标题】:Unknown function 'org.neo4j.examples.join' on neo4jneo4j 上的未知函数“org.neo4j.examples.join”
【发布时间】:2018-05-29 10:56:55
【问题描述】:

我正在尝试创建用户定义的过程。

我从这个 github 存储库 https://github.com/neo4j-examples/neo4j-procedure-template 获得了示例项目。我创建了 jar 文件并移至 /var/lib/neo4j/plugins 我收到未知函数错误

如果有人知道,请帮助我 我也重新启动了我的neo4j

neo4j> MATCH (p: Person) WHERE p.age = 36 RETURN org.neo4j.examples.join(collect(p.names)); Unknown function 'org.neo4j.examples.join' (line 1, column 44 (offset: 43)) "MATCH (p: Person) WHERE p.age = 36 RETURN org.neo4j.examples.join(collect(p.names));"

【问题讨论】:

    标签: neo4j


    【解决方案1】:

    如果您查看对此函数的 java 方法的注释,您会看到描述注释,调用它您应该这样做:example.join(...) 而不是 org.neo4j.examples.join。

    这个函数在java包example下,函数名是join,所以给你example.join

    您可以通过在 UserFunction 注释中添加 name 属性来手动定义调用函数的方式。像这样:

    @UserFunction( "test.nodeList" )
    public List<Object> nodeList()
    {
        Result result = db.execute( "MATCH (n) RETURN n LIMIT 1" );
        Object node = result.next().get( "n" );
        return Collections.singletonList( node );
    }
    

    并像这样用密码调用它:

    RETURN test.toSet(['a', 'b'])
    

    【讨论】:

    • 我试过 MATCH (p: Person) WHERE p.age = 36 RETURN examples.join(collect(p.names)); 仍然只有同样的错误
    • 示例中没有S!只需example.join
    • 我的错。抱歉我没看到。感谢您的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 2020-04-30
    相关资源
    最近更新 更多