2017-07-10 17 views
2

私はMavenを設定し、FullTextIndex(https://github.com/neo4j-contrib/neo4j-rdf/blob/master/src/main/java/org/neo4j/rdf/fulltext/FulltextIndex.java)のようなサンプルプラグインを実行するように管理しました。Neo4jで簡単なプラグインを作成する方法は?

まだ私は自分で簡単な機能を作成するのに苦労しています。私は、IDでノードを見つけてそのプロパティを返すことができるJava関数を持っていたいと思います。

私はCypherでこれを行うことができますが、目標はNeo4jのプラグインのロジックを理解することです。

ので、プラグインをインポートした後、私は入力することができる必要があります:

INPUT ID

call example.function(217) 

出力e。 g。

name = Tree, age = 85, label = Plant, location = Munich 

ありがとうございます!

答えて

1

、ユーザ定義の手順は、$NEO4J_HOME/pluginsディレクトリに置かれます簡単な.jarファイルです。論理的には、新しいユーザー定義プロシージャーを作成するには、このjarファイルを生成する必要があります。 configuring a new maven project、またはNeo4j Procedure Templateというリポジトリを使用してください。

ユーザー定義プロシージャーは、メソッドが@Procedureと注釈された単純なJavaクラスです。プロシージャがデータベースに書き込む場合は、mode = WRITEを定義する必要があります(ケースではありません)。

IDでノードを取得してプロパティを返すには、データベースにクエリする必要があります。これを行うには、@Contextアノテーションを使用して、JavaクラスにGraphDatabaseServiceクラスを注入する必要があります。

GraphDatabaseServicegetNodeById()メソッドとgetProperties()の返されたNodeのメソッドを使用する必要があると私は考えています。

1

あなたが探しているものはUser Defined Functions/Proceduresです。

https://neo4j.com/developer/procedures-functions/#_extending_cypher

http://neo4j.com/docs/developer-manual/current/extending-neo4j/procedures/#user-defined-procedures

あなたはまた、現実の生活の中で使用されるそのような例の何百も含まれていAPOCで見ることができます:のNeo4jドキュメントの専用のセクションがあります。 Neo4jで

https://github.com/neo4j-contrib/neo4j-apoc-procedures

関連する問題