問題タブ [titan]

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.

0 投票する
1 に答える
286 参照

clojure - Titan でのバージョン ノードの作成

グラフ データベースと Titan は初めてです。Titan を Clojure アプリに埋め込んでいます。アプリが起動すると、BerkeleyDB でサポートされている Titan ストアが作成されます。

3つのことを知りたい/やりたい:

  1. このデータベースは新しいものですか? その場合は、バージョン 0 のバージョン ノードを作成します。移行手順を実行して、「スキーマ」を最新バージョンにします。
  2. そうでない場合、バージョン ノードはありますか? そうでない場合は、例外をスローします。
  3. データベースが既存で、バージョン ノードがある場合は、移行手順を実行して「スキーマ」を最新の状態にします。

タイタンでこれを行うにはどうすればよいですか? これに対するベストプラクティスはありますか?

編集:

OK、さらに検討すると、ハードコードされた頂点 ID を使用するのが最も理にかなっていると思います。TitanTransaction.containsVertex(long vertexid) があります。このアプローチに欠点はありますか? 頂点 ID がどのように割り当てられ、その予約範囲が何であるかがわからないので、危険な匂いがします。私はDBをグラフ化するのは初めてですが、Neo4jではルートノードから参照ノードを作成することをお勧めします。ただし、Titan はスーパーノードになるため、ルート ノードの使用をお勧めしません。IDK...

0 投票する
1 に答える
119 参照

titan - Windows Server 2008 の Titan サーバー構成

io-strategy は、titan-server-rexter.xml 構成ファイルで「ワーカー」として設定されます (デフォルトのインストール) 2 番目のセッションの Gremlin クエリは、それで機能しません。

io-strategy を「リーダーフォロワー」として設定しました。それは働いているようです。この構成は本番環境に適していますか?

「worker」構成で 2 番目の gremlin クエリが機能しない (ハングする) のはなぜですか?

ストレージ層は BerkeleyDB です。クライアントは: RexProClient (C#) 問題はそれとは関係ありませんか?

0 投票する
3 に答える
11090 参照

graph-databases - Titan グラフ サーバーを起動して gremlin に接続するにはどうすればよいですか?

しばらくの間、Titan グラフ サーバーで遊んでいます。また、ドキュメントが充実しているにもかかわらず、ゼロから始めるチュートリアルが不足しているように感じます。

私の最終的な目標は、cassandra でタイタンを実行し、StartTheShift/thunderdomeでクエリを実行することです。

Titan を起動するいくつかの方法を見てきました。

レクスターの使用

このリンクから、次の手順でタイタンサーバーを実行できました。

  1. rexster-server 2.3 をダウンロード
  2. タイタン 0.3.0 をダウンロード
  3. からにすべてのファイルをコピーtitan-all-0.3.0/libsするrexster-server-2.3.0/ext/titan
  4. 編集rexster-server-2.3.0/rexster.xmlおよび追加 (a の間):

    /li>

berkeleydb または:

カサンドラ db の場合。

  1. でサーバーを起動します./bin/rexster.sh -s -c rexster.xml
  2. rexster コンソールをダウンロードして実行しますbin/rexster-console.sh
  3. でグラフに接続できるようになりましたg = rexster.getGraph("geograph")

この方法の問題点は、gremlin ではなく rexster 経由で接続しているため、オートコンプリートがないことです。利点は、データベースに名前を付けることができることです (ここでは geograph)。

cassandra で Titan サーバーを使用する

  1. でサーバーを起動します./bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties
  2. と呼ばれるファイルを作成しcassandra.localます

    /li>
  3. タイタングレムリンを起動して接続するg = TitanFactory.open("cassandra-es.local")

これはうまくいきます。

Titan サーバーを BerkeleyDB で使用する

このリンクから:

  1. タイタン 0.3.0 をダウンロード
  2. でサーバーを起動します./bin/titan.sh config/titan-server-rexster.xml config/titan-server-berkeleydb.properties
  3. タイタン グレムリンを起動します。./bin/gremlin.sh
  4. しかし、gremlin でデータベース (グラフ) に接続しようとすると、g = TitanFactory.open('graph')私がいるディレクトリにグラフという新しいデータベースが作成されます。私のディレクトリ (塗りつぶされた) がある場所でこれを実行すると、次のようになります:

    実装をインスタンス化できませんでした: com.thinkaurelius.titan.diskstorage.berkeleyje.BerkeleyJEStoreManager

誰かがこれらのプロセスを明確にして、私が間違っていることを教えてください。ありがとう

0 投票する
2 に答える
964 参照

gremlin - 1 回のクエリで頂点を検索してエッジを作成するにはどうすればよいですか?

特定の頂点から頂点を検索するために gremlin クエリを使用しています。

このクエリは一連の頂点を返しています。今、単純な反復子によって、「v」から返されたすべての頂点へのエッジを作成しています。

私の質問は次のとおり です。
これらの頂点を検索して同じクエリでエッジを作成できるプロセス/クエリ スタイルはありますか?

私はすでにこのクエリを試しました:

しかし、私はエラーが発生しています:

メソッドの署名なし: groovy.lang.MissingMethodException.addEdge()

現在、Gremlin-Groovy ScriptEngine を使用して Java クラスからクエリを実行しています。

前もって感謝します。

0 投票する
2 に答える
2152 参照

graph - さまざまなエッジ方向を通るグレムリン ループ トラバーサル

グラフがあります(下の写真を参照)。私は A からグレムリンを使用し、エッジ「impacts」と「similarTo」に続いてすべてのツリーをループする必要があります。

だから私は次のようなものが必要です:

このクエリの問題は、関係 "similarTo" が、アプリケーションがその時点でどのようにデータを格納しているかに応じて、エッジの外に出たり、エッジの中にあったりすることです (グラフを参照)。一方、「影響」関係にはアウトエッジしか必要ないため、単純に「両方」(gv(A.id).both('impacts', 'similarTo')...) を使用してエッジを取得することはできません。一部の頂点 (たとえば C) で「similarTo」エッジが欠落している可能性もあります。この場合、ループは「影響」関係のみに従う必要があります。

グラフ

最後に、このようなことを試しましたが、間違って使用していると思われ、結果は適切ではありません:

また、トラバース中に方向によってエッジをフィルタリングしようとしましたが、おそらくサポートされていないため、これも機能しません。

助言がありますか?