2013-06-07 2 views
0

Я новичок в neo4j, и мне действительно нужна помощь.EntityNotFoundException при запуске cypher

Я создал свойства узлов NAME, EMAIL и AGE. Эти узлы имеют отношение: IS_FRIEND_OF с свойством SINCE с другими узлами.

Я дал значения свойства в NAME как «A», «B», «C», «D» и так далее.

Теперь, когда я запускаю запрос в консоли, например: Начать n = node (*), где n.NAME = 'A' return n;

Это дает исключение, как: EntityNotFoundException: свойство «NAME» не существует на узле [0]

Теперь, если добавить свойство NAME = «» на узле [0], а затем огонь то же самое запроса, он обеспечивает правильный вывод. Для небольшого набора данных он может работать, но для более крупных, определяющих каждое свойство для узла [0], похоже, не является хорошим решением.

Это единственное обходное решение или что-то еще и лучше может быть применено?

+0

Вы настроили индексирование? – TFuto

ответ

1
STARTn=node(*) WHERE n.NAME! = "A" RETURN n 

Восклицательный знак будет сделать следующее:

верно, если n.prop = значение, FALSE, если п NULL или n.prop не существует

1

Шифр ​​имеет два специальные операторы: ? и ! для использования в этом случае

Использование? будет оцениваться как истина, если отсутствует n.prop:

START n=node(*) WHERE n.NAME? = "A" RETURN n 

И используя! будет оцениваться как false, если отсутствует n.prop:

START n=node(*) WHERE n.NAME! = "A" RETURN n 
Смежные вопросы