2013-08-12 2 views
2

два вопроса об использовании Cypher и новых (2.0) индексов:Neo4j 2.0.0M04, используя Cypher и новые индексы

  1. The only queries that the manual lists для индексов являются DROP/CREATE INDEX ON запросами. Есть ли способ (используя Cypher) для запроса всех существующих индексов? Я знаю, что в консоли вы можете сделать index --indexes, но это только возвращает устаревшие индексы (или так мне кажется). Изменить: еще более полезно, я нашел консольную команду «schema», которая, по крайней мере, дает список индексов.

    Я видел, что можно хотя бы найти all the indexes associated to a label in REST, но я надеялся на способ сделать это в Сайфере.

  2. Запрос START кажется абсолютно неприемлемым, если вы не используете устаревшие индексы и не ссылаетесь на узлы по их идентификатору (что, по-видимому, показало, что документы - плохая идея). Так в neo4j 2.0, есть ли какая-либо польза для START? не

+0

Можете ли вы уточнить, где документы указывают, что использование «START n = node (id)» - это плохая идея? –

+0

Конечно - на [странице руководства для 'START'] (http://docs.neo4j.org/chunked/2.0.0-M04/query-start.html) есть примечание под 14.1.1, в котором говорится, что «Neo4j повторно использует свои внутренние идентификаторы, когда узлы и отношения удаляются, а это означает, что это неверная практика, чтобы ссылаться на них таким образом. Вместо этого используйте приложения, созданные идентификаторами». –

+0

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

ответ

3

По вебинар "Что нового в Neo4j 2.0" (http://watch.neo4j.org/video/72069694) Существует больше не использовать для Start.

+0

Насколько я могу судить, видео, похоже, указывает на то, что «СТАРТ» является необязательным, а не тем, что для него нет необходимости. Но спасибо вам за эту ссылку. Очень полезно получить представление об идиоматических способах использования neo4j. –

+0

Ну, в некоторых случаях, особенно для обращения к устаревшим индексам, вам по-прежнему нужен «СТАРТ», но мы пытаемся добраться до того места, где для него не осталось никаких дел. –

0
  1. В консоли вы можете использовать команду schema для отображения всех активных индексов и ограничений схемы.
  2. Нет, start Команда амортизируется в Neo4j 2.0 и выше.
Смежные вопросы