5

グラフの保存に最新のコミュニティ Neo4j (2.2.0-M03) を使用しています。Pythonからアクセスすることに興味があります。公式の Neo4jドキュメントによると、いくつかの代替手段があります。

ドキュメントをチェックし、少し遊んで、この投稿をチェックして理解したところ、Neo4j 2 (およびラベル) をサポートしているのは py2neo だけです。ただし、Neo4j で特定のアルゴリズムを作成して実行したい場合は、電球を介して Gremlin を使用する必要がありますが、これは Neo4j 2 をサポートしていないようです。

ここで、Spreading Activation など、現在 Neo4j にはないカスタム アルゴリズムを使用したいと考えています。Java の Neo4j で直接アルゴリズムを記述し、py2neo を介して暗号コマンドを使用して Python から実行することが唯一の代替手段ですか? 何か不足していますか?

乾杯

PS。引用したすべてのソフトウェアへのリンクを投稿したかったのですが、残念ながら、2 つ以上のリンクを投稿するには、少なくとも 10 の評判が必要です...

4

1 に答える 1

4

これは非常に難しい質問です。neo4j に関する簡単な質問ではなく、設計のガイダンスが必要なようです。拡散活性化をどのように使用しているかによっては、サーバーを変更しないほうがよい場合もありますが、ユース ケースが関係している可能性があるため、わかりません。いつでもneo4jをグラフストアとして使用できることに留意してください。その後、サーバーではなくアプリケーションコードにアクティベーションの拡散などのより高いレベルの概念を配置できます.

質問は、あなたがそれをサーバーに入れたいと思っていることを前提としています。では、オプションは何ですか?大まかに言うと、サーバー プラグインを作成して RESTful API を拡張することができます (これは py2neo では役に立ちません)。一方で、独自のカスタム暗号関数の定義が現在サポートされているとは思わないため、必ずしもcypher 言語自体を変更してから、py2neo バインディングを使用して、凝った新しい cypher 関数を利用します。 他の場所で与えられたアドバイスは、実装された拡散アクティベーションへの管理されていない拡張を検討することをお勧めします。これを行った場合、もう一度言いますが、py2neo がどのように役立つかわかりません。

短期的には、neo4j 自体を変更するのではなく、py2neo を使用する可能性のある Python コードに拡散アクティベーションを配置することを検討する必要があると思います。長期的には、neo4j がサイファー ユーザー定義関数 (UDF) を実行する方法を思いついた場合、それが開発ロードマップにあると私は理解しています (おそらく?)。より多くの要件と詳細。

于 2015-01-30T17:13:08.613 に答える