2

neo4j 2.0 中的新标签功能应如何处理自动索引。将在用户对象中创建自动索引,例如“名称”,继续为所有对象创建通用名称索引,或者有办法指定它应该仅用于用户类型/标签。

是否应该在某种原子密码事务中创建对象和索引?

示例用例可以是具有唯一不区分大小写的用户名索引的用户对象。

4

2 回答 2

1

neo4j 2.0 中的索引大部分将被隐藏。可以为标签+属性创建索引,以便具有该标签和属性的节点将在该索引中建立索引。

然而,目前还没有要添加的限制(如唯一性),但它正在开发中,也不支持 f.ex。不区分大小写。在此处查看更多信息http://docs.neo4j.org/chunked/preview/query-schema-index.html

于 2013-04-27T20:41:30.037 回答
1

在 2.0 中,标签是一个很棒的功能。我不会推荐自动索引的想法。通过标签上的自定义索引,您可以实现对象的独特创建。流程就像这样首先在标签上创建索引,假设“用户”是标识用户的标签。

create index on :User(username)

现在,您在每个节点上都有一个带有“用户”标签的“用户名”索引。要创建一个唯一节点,您需要在创建时有一些关联。目前没有这样的东西

create unique (n:User {username:"tsartsaris"})

但是你可以使用

CREATE UNIQUE (b)-[:ISUSER]->(m:User {username:"tsartsaris"})

这个独特的创建将使用标签搜索 m:用户和用户名:tsartsaris,如果它不存在,那么它将创建它。如果再次运行代码,它将返回现有节点并且不会创建新节点。如果您使用 2.0 m2,则可以使用合并作为创建唯一节点的方法。

  merge (n:User {username:"tsartsaris"})
  RETURN n

merge 将在你的图表中搜索匹配,如果找到它将返回它,否则将创建节点并返回它。

于 2013-04-28T06:42:01.980 回答