Разбиране на плъгините за Neo4j сървър

В ранните етапи съм на обучение как да използвам Neo4J и току-що започнах да експериментирам със сървъра Neo4J REST. По-конкретно, интересувам се от създаването на сървърни добавки, но документацията тук ме остави с доста въпроси. Първо:

Те дават следния пример:

@Description( "An extension to the Neo4j Server for getting all nodes or relationships")
public class GetAll extends ServerPlugin {
    @Name( "get_all_nodes" )
    @Description( "Get all nodes from the Neo4j graph database" )
    @PluginTarget( GraphDatabaseService.class )
    public Iterable<Node> getAllNodes( @Source GraphDatabaseService graphDb )....{

и кажи:

Make sure that the discovery point type in the @PluginTarget and the @Source parameter   
are of the same type.
  • а) Какво е точка за откриване?
  • б) Какво означават анотациите @PluginTarget и @Source и към какво трябва да сочат?

person drew moore    schedule 13.02.2014    source източник


Отговори (1)


@PluginTarget решава дали вашият сървърен плъгин обогатява съществуващия REST интерфейс в контекста на възли, връзки или на ниво база данни, така че това е опорната точка.

Анотацията @Source се използва за предаване в съответния контекст като параметър във вашето приложение.

Разгледайте примера. Разширението getAllNodes действа в глобален контекст, докато shortestPath се основава на възел.

person Stefan Armbruster    schedule 13.02.2014