0

如何在 中创建唯一节点neo4j?我有用户模型,它具有类似UserID, serName, EMailID, Mobile, Address,等的属性Zipcode...

我想为上述用户创建唯一节点。我有UserID, UserName, EMailID,Mobile作为独特的领域。因此,当此处提到的相同UserID或任何字段尝试再次输入时,它应该作为错误返回。

有可能吗?

4

1 回答 1

1

我假设这是针对 neo4j(1.9) 的稳定版本,因为 2.0 确实改变了索引的呈现方式。

您是说您的User节点将具有多个属性,每个属性都是唯一的,这些属性将用作复合键,还是仅将 UserName 用作键?

Neo4j 有一个特殊的类用于执行一种“获取或创建”节点,但它只适用于一个键,因此如果您要创建复合键,则必须执行诸如连接您的键之类的操作。

在此处查找文档。这是一个例子:

public Node getOrCreateUserWithUniqueFactory(String username, GraphDatabaseService graphDb) {
    UniqueFactory<Node> factory = new UniqueFactory.UniqueNodeFactory(graphDb, "users") {
        @Override
        protected void initialize(Node createdNode, Map<String, Object> properties) {
            created.setProperty("username", properties.get("username"));
        }
    };

    return factory.getOrCreate("username", username);
}
于 2013-07-22T11:21:01.057 回答