почему индексирование neo4j не может найти узлы, о которых я знаю?

Я создал и проиндексировал свою базу данных графов через localhost: 7474 в neo4j (визуально).

Узлы имеют три свойства: имя, приоритет и ссылку.

и я создал индекс по свойству имени узлов через

добавить или удалить индексы

вкладка localhost: 7474 (как показано на рисунке) введите описание изображения здесь

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

в консоли или браузере данных, когда я пишу этот запрос для красного (есть узел с именем красный), например:

start n=node:name(name="red")
return n; 

Я получаю returned 0 rows.

и когда я набираю этот запрос:

start n=node:node(name="red")
return n;

или этот:

start n=node:Node(name="red")
return n;

Я получаю Indexnode_6 _, _ 7_Nodedoes not exist в консоли или браузере данных.

мой файл базы данных находится по тому же пути, что и файл neo4j default.graphdb (я имею в виду «C: \ Users \ fereshteh \ Documents \ Neo4j»), и я сначала создал индекс, а затем базу данных графа.

Я не знаю, что делаю не так, пожалуйста, помогите мне, я буду очень благодарен.

версия neo4j: 1.9.4


person fereshteh    schedule 30.10.2013    source источник
comment
Какую версию Neo4j вы используете?   -  person Nicholas    schedule 30.10.2013
comment
что мне делать Николай?   -  person fereshteh    schedule 31.10.2013


Ответы (1)


Я считаю, что ваше предположение о том, как настроить индексацию, неверно. Вы можете прочитать здесь для получения дополнительной информации, но в основном есть 3 вещи, которые необходимы для создания / чтения из индекса. Имя индекса, ключ входа и значение записи.

То, что вы указали выше в веб-консоли, - это имя индекса, но в вашем зашифрованном запросе вы указываете ключ входа. Вы либо хотите использовать Автоиндекс узла, либо создать узел в cypher и проиндексируйте его там, но это не вариант в 1.9.4.

person Nicholas    schedule 30.10.2013
comment
мое имя индекса и ключ входа одинаковы (оба имени) (ключ входа является одним из свойств узла, которым является имя), они не должны быть одинаковыми? это проблема? Я не получил своего ответа, что мне делать ? вы имеете в виду, что я должен сначала передать узлы в свой индекс, а затем искать их, я должен сделать это с помощью индекса Node Auto? вы имеете в виду, что просто определить индекс в localhost недостаточно? Я сам должен определить, например, этот индекс будет для этих 10 узлов (по автоматическому индексу, или шифру, или в моей java-программе)? а затем я ищу из этих десяти узлов? Я новичок в neo4j, не могли бы вы полностью рассказать мне, в чем проблема, пожалуйста? - person fereshteh; 31.10.2013
comment
Ссылка, которую вы мне дали выше, касается создания индекса через java api (я видел это раньше), как мне обрабатывать индексацию через localhost: 7474? - person fereshteh; 31.10.2013
comment
Вы не можете этого сделать, если не используете автоматический индекс. Веб-консоль не имеет возможности, как и шифр версии, которую вы используете. Единственный способ - использовать Java API или REST api. - person Nicholas; 31.10.2013
comment
Итак, есть три способа индексирования: 1.Автоматический индекс, 2.java api, 3.rest api, я прав? Я должен следовать одному из этих трех методов? Итак, что это за вкладка в localhost: 7474? вы знаете, что neo4j действительно плохо в документации, объясняет подходы, но не дает полной схемы того, что происходит. - person fereshteh; 31.10.2013
comment
Да, вкладка в веб-консоли предназначена только для их отображения / создания, но она не предлагает многого. - person Nicholas; 31.10.2013
comment
Я использовал REST Api, добавляя узлы в индексы как часть пакета. Кажется, это действительно хорошо работает. - person LameCoder; 06.11.2013
comment
Удаленно это единственный способ. Не забудьте отметить это как ответ, если считаете, что это лучший ответ. - person Nicholas; 06.11.2013