MATCH для имени узла с использованием cypher в Neo4j - PullRequest
0 голосов
/ 03 октября 2019

Мне интересно, можно ли сопоставить узел по его имени. Я не хочу совпадать через свойства, метки или соединения. Я хочу сохранить узел «Время начала» и позже получить его значение. Могу ли я сопоставить этот узел без назначения имени свойства?

Рабочий запрос создания:

CREATE (Start Time:timestamp {name: "Time Stamp", time: 0239213021312 })

Запрос рабочего соответствия:

"MATCH (n: timestamp {name:'Time Stamp'})

Могу ли я также запросить этот узел?

Создать запрос:

CREATE (Start Time:timestamp {time: 0239213021312 })

1 Ответ

1 голос
/ 03 октября 2019

[ОБНОВЛЕНО]

Вы можете найти узел по его собственному идентификатору, , если узел никогда не удаляется, и вы используете тот же экземпляр базы данных neo4j, который сгенерировал этот идентификатор .

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

При условии соблюдения вышеуказанных критериев:

  • Еслиузел уже существует, вы можете получить его собственный идентификатор один раз (как показано ниже), а затем жестко закодировать собственный идентификатор в запросах, которые в нем нуждаются. (В этом случае собственный идентификатор не изменится, даже если впоследствии вы удалите свойство name.)

    MATCH (startTime:timestamp {name: "Time Stamp"})
    RETURN ID(startTime);
    
  • Вы можете получить собственный идентификатор узла во время созданияэто (как показано ниже), а затем жестко закодировать собственный идентификатор в запросах, которые в нем нуждаются. (В этом случае нет необходимости даже указывать свойство name.)

    CREATE (startTime:timestamp {time: 0239213021312})
    RETURN ID(startTime);
    

Если собственный идентификатор, скажем, 123, вы можете получить узелпозже:

MATCH (n)
WHERE ID(n) = 123
...

С другой стороны, если узел может быть удален, то у него должно быть какое-то свойство с уникальным значением, к которому вы можете обратиться.

...