Индексация меток Py2Neo

У меня есть набор данных, содержащий слова и документы, связанные с этими словами. Я хотел бы установить на них ярлыки, чтобы разделить их на эти две категории. Я смог создать ярлыки, выполнив следующие действия:

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. Есть ли в API py2neo способ обеспечить уникальность индекса метки?
  3. Есть ли лучший способ сделать все это. Документация немного нечеткая

person drowningincode    schedule 16.04.2014    source источник


Ответы (1)


Ответы:

  1. Нет, потому что нет необходимости явно добавлять узел в индекс схемы — они включаются автоматически при наличии метки.
  2. Py2neo не имеет специальных функций для поддержки управления уникальными ограничениями.
  3. Вместо этого вы можете использовать Cypher (http://docs.neo4j.org/chunked/stable/query-constraints.html#constraints-create-uniqueness-constraint)
person Nigel Small    schedule 16.04.2014