問題タブ [gremlin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
graph - neo4j と gremlin を使用してツリー構造を保存する方法
neo4j
ローカル データベースとGremlin
Javaを使用して、次のディレクトリ ツリー構造を保存したいと考えています。
メソッド StorePath(String path) を定義しました。
私が欲しいもの:パス= "Root\Dir2\Dir4\Dir7"でStorePath(パス)を呼び出すと、データは次のように保存されます
ここで、Root と Dir* は空白のエッジを持つ頂点です。Javaコードで私を助けてください。
graph - Gremlin を使用して、与えられた頂点のリストを避けてグラフ内の最短経路を見つけますか?
指定された頂点のリストを回避しながら、Gremlin を使用して 2 つのノード (頂点) 間の最短パスを見つける必要があります。
私は既に持っています:
v.bothE.bothV.loop(2){!it.object.equals(y)}.paths>>1
私の最短経路を取得します。
私は次のようなことを試みていました:
v.bothE.bothV.filter{it.name!="ignored"}.loop(3){!it.object.equals(y)}.paths>>1
しかし、うまくいかないようです。
助けてください!!!
graph-databases - Gremlin で 2 つの頂点を「結合」する方法は?
Gremlin コンソールで問題が発生しました。これが私のスキーマです。
知っている:
- ID 1 (頂点)
- ID 3 (頂点)
- レーベル: "created" (エッジ)
ID9(エッジ)を取得したい
v = gv(1)
v.outE("作成").id
「作成された」エッジが1つしかない場合にのみ機能します
graph-databases - グレムリンの頂点のIDとマップを取得しますか?
gv(1).id
頂点1のIDを取得します。
gv(1).map
頂点1のプロパティを取得します。
しかし、IDとプロパティを同時に含むハッシュを取得するにはどうすればよいですか?
graph - グレムリンでコマンドを連鎖させる方法は?
次のコマンドは機能します
次のコマンドは機能します
次のコマンドは機能しません
なんで?
java - Gremlinを使用したトラバーサルのためにRESTを介してNeo4jデータベースにアクセスしようとしたときにエラーが発生しました
Neo4jデータベースでGremlinを使用しています。ティンカーグラフデータベースをロードしてグレムリントラバーサルを実行することはできますが、ローカルデータベースをロードしてトラバーサルを実行することはできません。
コンソールのいじくり回すグラフから、次のコマンドを使用していますが、正常に機能します。
Javaコードからでも私はそれを行うことができます。私は次のように同じコマンドを送信します:
しかし、「db / data /」で作成したハードディスクからデータにアクセスしようとすると、コンソールでは正常に機能しますが、Javaコードでは機能しません。
コンソールコマンド:
g = new Neo4jGraph('db / data /'); gVname
期待どおりの出力が得られます。
しかし、Javaコードを介して、次のエラーが発生します:javax.script.ScriptException:java.lang.RuntimeException:java.io.FileNotFoundException
私のJavaコードは次のとおりです。
最終的な文字列scriptURI=SERVER_ROOT_URI + "ext / GremlinPlugin /graphdb / execute_script"; WebResourceリソース=Client.create()。resource(scriptURI); 文字列エンティティ=toJsonNameValuePairCollection( "script"、 "g = new Neo4jGraph('db / data /'); gVname"); ClientResponse応答=resource.accept(MediaType.APPLICATION_JSON).type(MediaType.APPLICATION_JSON).entity(entity .post(ClientResponse.class);
neo4j - DB が空でないのに、Gremlin idx が null を返すのはなぜですか?
私は以下を使用してグラフを開いています:
次に、次を使用して頂点を追加します。
その後、db に (Gephi を使用して) 単一の頂点があることがわかりますが、実行すると:
常に false を返します。何らかの方法でインデックス作成を有効にする必要がありますか? Gremlin には特定の Neo4j バージョンが必要ですか?
ログ情報の追加:
これをGremlin 1.3で試してみました-同じ結果です。だから私はそれが私が欠けているものだと思います。
date - JavaでGremlinPipelineとPipeFunctionsを使用してクエリを実行するにはどうすればよいですか?
グラフモデルでは、子と呼ばれる頂点timeCategory
がyear-vertices
ありmonth-vertices
ますday-vertices
。edge-label
で年、でIS_YEAR
月IS_MONTH
などを識別できます。
次のコードのように、特定の年の範囲のすべての頂点を返すクエリを実行したいと思います。
...これは、すべてのプロパティ値(整数としての年)を出力するのに最適ですが、必要なのは、年プロパティが特定の範囲内にあるすべての頂点のリストです。
2番目の質問は、パイプの値から共通部分を作成することです。
例:年パイプ、月パイプ、日パイプの3つのパイプがあり、パイプには年、月、または日を識別する頂点が含まれています。
すべての出力頂点を1つの特別な日付にすることは可能ですか...
セミコード:allVertices2012-01-01 = yearpipe.out()AND monthpipe.out()AND daypipe.out
確かに、私はいくつかのfor-eachループでいくつかの比較を行うことができますが、(単純な)グレムリンがあるかどうかを知りたいと思いました-それをより良くする方法。
neo4j - リレーションプロパティに基づいてノードを並べ替え/フィルタリングする
次のグラフがあるとします。
node[5]
に隣接するノードを取得するにはどうすればよいweight > 50
ですか?- 重みでソートされた
node[5]
ラベルで隣接するノードを取得するにはどうすればよいですか?"knows"
exception - gremlin-groovy スクリプトで例外の行番号または完全なスタック トレースを取得する
非常にノイズの多いデータベースをトラバースするグレムリン グルーヴィーなスクリプトがあります。エッジやプロパティが欠落しているケースがたくさんあります。エッジまたはプロパティが存在し、例外がスローされないと仮定すると、次のような非常に単純な出力が得られます。
上記のように、スクリプトが致命的な例外に遭遇したときに、スタック ダンプまたは少なくとも行番号を提供して、Java が完全なスタック トレースを出力する方法と同様に、発生した場所をデバッグできるようにしたいと思います。致命的な例外について。
より良いダンプを取得する方法について何か提案はありますか?