0

我有一个包含单词和与这些单词相关的文档的数据集。我想在它们上设置标签以将它们分为这两个类别。我可以通过这样做来创建标签:

if not "Social Words" in graph_db.node_labels:
    neo4j.Schema.create_index(graph_db.schema, "Social Words", "word")

if not "Documents" in graph_db.node_labels:
    neo4j.Schema.create_index(graph_db.schema, "Documents", "url")

问题是我需要在“word”和“url”字段上强制执行唯一性。我正在添加节点和标签,如下所示

doc,= graph_db.create({"url": url})
doc.add_labels("Documents")

我的问题是:

  1. 有没有办法通过使用 get_or_create 将节点添加到标签索引
  2. py2neo api 是否有办法在标签索引上强制执行唯一性
  3. 有没有更好的方法来完成这一切。文档有点模糊
4

1 回答 1

1

答案:

  1. 不,因为不需要显式地将节点添加到模式索引中 - 当标签存在时,这些节点会自动包含在内。
  2. Py2neo 没有支持唯一约束管理的特定功能。
  3. 您可以为此使用 Cypher ( http://docs.neo4j.org/chunked/stable/query-constraints.html#constraints-create-uniqueness-constraint )
于 2014-04-16T23:07:02.397 回答