1

我想要一个 Neo4j 图,其中所有内容都连接到参考节点(node0)。我的想法是将node0连接到“类类型”节点(rootNode),然后将某个类的所有节点连接到它。例如:

node0 --> unique RootUser --> many User

我正在使用 SpringNeo4j,所以我用@NodeEntity. 我不知道如何在 Spring 中将 node0 连接到 RootUser。我试图在 RootUser 类中添加以下内容,但它不起作用(referenceNode 来自neo4jTemplate.getReferenceNode()):

@RelatedTo(type = "partition", direction = Direction.INCOMING)
    private Node referenceNode;

实现这种架构的最佳方式是什么?

4

1 回答 1

1

最终将起作用的是手动将参考节点连接到弹簧数据实体:

RelationshipType relationshipType = ...; // Whatever...

RootUser rootUser = new RootUser();
rootUser.persist();
neo4jTemplate.getReferenceNode().createRelationshipTo(rootUser.getPersistentState(), relationshipType);

您可以尝试为引用节点声明一个类:

@NodeEntity
public class ReferenceNode {
}

@NodeEntity
public class RootUser {
    @RelatedTo(type = "partition", direction = Direction.INCOMING)
    private ReferenceNode referenceNode;

    public void setReferenceNode(ReferenceNode referenceNode) {
        this.referenceNode = root;
    }
}

...并加载并设置参考节点:

ReferenceNode referenceNode = neo4jTemplate.load(neo4jTemplate.getReferenceNode(), ReferenceNode.class);
RootUser rootUser = new RootUser();
rootUser.persist();
rootUser.setReferenceNode(referenceNode);

这是未经测试的,我不确定这neo4jTemplate.load()部分是否有效。

于 2012-11-17T00:31:57.193 回答