Neo4j PHP OGM库 - 为属性添加唯一索引

时间:2013-07-07 01:23:41

标签: php indexing doctrine-orm doctrine neo4j

道歉,如果这似乎有点开放。使用来自Github的Neo4j的基于Doctrine的PHP包装器,如何在特定属性和节点上定义索引?例如,如果我创建一个属性为"fullName" => "Bob Marley"的节点,我怎样才能为那个我用同一个"User"实体类创建的节点定义一个唯一索引,而不是索引{{ 1}}分配给每个节点,我为每个节点都有唯一的索引,它们将是"Entity\User"属性的值,例如"fullName""Bob Marley"

这背后的原因是将有1,000个节点,我更喜欢通过唯一索引搜索而不是所有用户的相同索引,然后通过fullName进行加密,这似乎是一个额外的步骤,可以通过为每个节点定义唯一索引来消除,或者我错了?提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果您查看最新版本的neo4j 2.0。他们引入了一种新的索引方式。这是基于标签的索引。基本上,您可以为节点的特定属性设置指定标签的索引。这样,对于具有不同不同标签的节点,您将具有单独的索引。 indexing in neo4j 2.0 with cypher

以同样的方式,您可以在指定标签下的属性上添加约束。目前仅支持唯一性约束。 constraints in neo4j 2.0 with cypher

我没有使用Neo4j-PHP-OGM因此无法指出确切的功能,但您可以直接运行cypher查询。或者为他们使用REST API。

indexing in neo4j 2.0 with REST
constraints in neo4j 2.0 with REST