Предполагается, что в качестве одного из свойств есть узлы сотрудников с зарплатой. Каков самый быстрый способ получить узлы сотрудников, чьи зарплаты находятся в топ-5 с использованием Scala-Neo4j Api?Neo4j - извлекающие узлы на основе свойства
ответ
Вы можете указать сотрудникам свою зарплату как собственность. В этом случае вам просто нужно получить индекс, а затем запросить его членов. В Java это выглядит следующим образом:
db.index().forNodes('salaries').query(YOURQUERY)
Вы можете либо использовать метки (если ваше использование Neo4j 2) маркировать узлы как сотрудники и искать только в этих узлах.
Вы также можете установить свойство типа по каждому из ваших сотрудников, установленных на «работник» для поиска во всех узлах (но это займет некоторое время, если у вас есть много узлов)
Другое решением является создание отношения is_a между сотрудниками и суперузел «Employee», но это может в зависимости от вашего использования вызвать проблемы (см. http://www.aleksavukotic.com/2011/07/neo4j-super-nodes-and-indexed.html).
Это несколько различных способов поиска. В некоторых случаях некоторые из них быстрее, вы должны настроить его в соответствии с вашими потребностями. Если вы говорите о запросе, который вы должны выполнить для поиска, то должна быть полезной документация на Cypher и Javadoc.
Какой должен быть мой запрос в этом случае? – yAsH
Какой случай? (эти скобки бесполезны, но я должен набрать определенное количество символов, чтобы добавить мой комментарий) –