2015-07-29 5 views
2

Если мы хотим найти информацию о человеке с помощью personName в neo4j, нам нужно пройти через все nodes, которые с labelperson. Но в relational database мы можем сделать это, перейдя на person table и найдем запись. Итак, как этот поиск работает в neo4j? Я имею в видуКак работает поиск в neo4j?

1) Является ли это первым находит все узлы с labelperson и чем поиски в этих nodes в соответствии с personName

ИЛИ

2) Ищет каждый node по пути он встречает, чем если label - person, чем чеки для personName. Если не спички, чем идет к другому node и так далее ..

ответ

5

Если есть индекс схемы на этикетке :Person и собственности personName (CREATE INDEX ON :Person(personName)) следующее высчитывать заявление будет сделано с помощью простого индекса поиска:

MATCH (n:Person{personName:'John'}) RETURN n 

Если индекс не существует, Neo4j будет перебирать все узлы с меткой Person и фильтровать их по их свойству (что как-то сопоставимо с полным сканированием таблицы в реляционном мире).

+0

Не могли бы вы рассказать мне, как этот индекс работает в neo4j –

+4

, он подробно объясняется в руководстве Neo4j, поэтому RTFM. –

Смежные вопросы