grails neo4j如何定义关系及其属性

时间:2014-08-05 10:36:56

标签: grails plugins neo4j

在grails-neo4j插件中,我如何定义节点之间的关系和关系的属性。

我可以将我的节点定义为域类,但如果我想连接节点,即我想以某种形式映射节点的关系,该怎么办。

我发现spring-neo4j框架适用于这种情况,我可以将关系映射到java类,但是没有找到任何grails兼容层。

3 个答案:

答案 0 :(得分:1)

插件不会将域类直接映射到neo4j中的节点或关系。它使用自己的结构,如:

root -> domainClass.name -> relation -> domain class instance

我建议您将域类定义为节点,插件应该正确处理它们。另一种方式:放弃插件>)

答案 1 :(得分:0)

Neo4j Grails插件尚不支持将域类映射为关系。我在我要添加的内容列表中有这个。

你是对的,Spring Data Neo4j已经能够做到这一点。请注意,Spring Data Neo4j和Grails Neo4j插件没有任何共同点(除了他们使用Neo4j持久)。持久层是一个完全独立的代码库。

答案 2 :(得分:0)

现在比最初问这个问题要晚得多-4年后。该插件现在支持将Neo4j关系创建为Grails域类,并且该关系可以具有属性。但是,对这些属性的约束尚不起作用。下面是有效的单向关系的完整代码。

package neo4j.authentication.demo

import grails.neo4j.Relationship
import groovy.transform.CompileStatic

@CompileStatic
class BelongsTo implements Relationship<Car, Owner> {

    String sinceWhen

    String toString() {
        sinceWhen
    }
}