2013-02-26 5 views
4

Я проходил через neo4j docs по адресу tutorials-java-embedded-index. Он описывает концепцию опорного узла. Создан опорный узел пользователя usersReferenceNode, который используется для соединения со всеми пользовательскими узлами, созданными в БД.ли понятие опорного узла в Neo4j все еще используются или устаревшими?

Что это был/является эталонным узлом? Когда я попытался использовать graphDb.getReferenceNode(), он отображается как устаревший метод.

Так есть/будет ли какая-либо необходимость создания опорного узла на всех? Если да, то как и как использовать такой ссылочный узел?

Спасибо.

ответ

2

Один случай использования ссылочного узла, который я вижу, - это удаление определенных узлов. Например, рассмотрим следующий сценарий:

> I have two types of nodes, say ANIMAL and BIRD 
> I have a reference node `animalsReference` linked to all ANIMAL nodes and 
> I have a reference node `birdsReference` linked to all BIRD nodes 

Теперь в будущем предположим, что хочу удалить все узлы BIRD. Здесь я могу использовать «birdReference», чтобы получить все узлы типа BIRD и удалить их все.

Если graphDb.getReferenceNode() устарел, как мы можем выполнить такие задачи (удаление некоторых узлов)?

Также я могу видеть graphDb.getAllNodes() устарел. Итак, каков способ получить все узлы в graphDB?

+2

Это сейчас находится в http://api.neo4j.org/current/org/neo4j/tooling/GlobalGraphOperations.html –

8

Понятие опорного узла является устаревшим из-за конструкции системы. Индексирование должно использоваться для извлечения узлов определенных типов и т. Д. Таким образом, вы можете иметь индекс с именем Animal и индекс с именем Bird, который может хранить узлы этих «типов».

Одной из причин для опорного узла, который удаляется проблема густой узел, который вызывает проблемы, если вы не можете хранить все в памяти на Neo4j. Здесь у вас есть один узел с множеством и многими отношениями. После определенного момента (в зависимости от системы, но обычно в сотнях тысяч) поиск узлов основывается на типах отношений.