問題タブ [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 に答える
1246 参照

gremlin - 複雑な gremlin-java クエリを作成する

以下に示す関係を使用して、タイタングラフデータベースにモデルを実装しました。

ABは「主な頂点」(たとえばユーザー)、頂点BCはユーザーに関連するいくつかのデータを記述する「重要度の低い頂点」です。

クエリ アルゴリズムの入力はid、頂点のプロパティですA

上記の方法でD接続されているすべての頂点を見つけたいです。さらにとの間の辺Aの性質を覚えておきたい。prop1e1AB

より正確には、 が edge between のプロパティ(エッジにこのプロパティがある場合) であり、がfromのプロパティ(prop1, numberD)であるペアを効率的に取得したいと考えています。prop1A -> BnumberDnumberD

このクエリを効率的に実装する方法がわかりません。

頂点のみを取得するのは簡単ですD( を使用GremlinPipes):

しかし、エッジも取得e1して頂点と一致させる必要がある場合に問題が発生しますD。これらすべてのステップを個別に計算しようとしましたが、非常に非効率的です。

gremlin-java または gremlin-groovy を使用してこれを (おそらく複数のクエリを使用して) 実装する方法について何か提案はありますか? ありがとう!

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

cassandra - 基本的な Titan + Rexster + Cassandra を実際にセットアップするにはどうすればよいですか?

完全に基本的な Titan Rexster Cassandra インスタンスをセットアップしようとしていますが、コードを壊すことができないようです。私は今、それを機能させるために多くのことを試みましたが、機能させることができないようです。どれだけ読んでも、正しく設定できません。

私が欲しいのは、組み込みモードで実行されている Titan-rexster-cassandra インスタンスで、エラスティック検索を含むいくつかのインデックスがあります。私が読んだすべてのものの後、titan-server-0.4.0をダウンロードしてbin/titan.sh startコマンドを実行すると、これが得られるはずです。これにより、サーバーも起動します。ただし、これにインデックスを追加しようとしても、何も起こりません。RexPro に入力しようとすると、何も追加されません。

サーバーを再起動すると、グラフが消えます。に移動すると、グラフの Rexster リストに表示されなくなりましたhttp://localhost:8182/graphs。そのため、私のデータは持続しないか、少なくとも rexster では消えているようです。

これを機能させるために、ほぼすべてを試したように感じます。

  • .properties次のように検索インデックスを含めるように変更します。 storrage.index.search.backend=elasticsearch...
  • 使用する.propertiesファイル (すべて)cassandraを変更するembeddedcassandracassandrathriftstorage.backend
  • この質問に示されているように、特定の構成ファイルを指すように プロパティを使用してサーバーを起動しようとしています。
  • ファイルを調べtitan.shて実際に何が起こっているかを確認し、次にこれらによって示される構成ファイルに移動し、そこで何が起こっているかを確認しました。その上で、上記のような多くのことを試しました。

私はこれに1週間以上、おそらく2週間かそれ以上苦労しており、信仰を失い始めています. neo4j に戻すことを検討していますが、残念ながら Titan のスケーラビリティがどうしても必要です。しかし、私がそれを機能させることができなければ、それは無駄です。私が理解していない、または忘れていた、些細だが本質的なことがいくつかあるように感じます。

完全なゼロから (たとえば、新しい VM などを開始する)、またはそれに近い状態で、伸縮自在な検索インデックスで実行される titan-rexster-cassandra インスタンスを取得するためのガイドを知っている人はいますか? それとも、あなたが素晴らしいなら、そのようなガイドを提供しますか? 私は失われたと感じます :(


キーポイント:

Ubuntu 12.04 (13.10も試しました。同じ問題)

タイタン 0.4.0

目標:持続性を得るには、Elastic Search で頂点名プロパティにインデックスを付け、重みでエッジを取得します。

次のように ruby​​ rexpro に接続します。


DBが持続しない問題を作成するために私が従う手順:

  • WindowsAzure の場合: 新しい小さな (1 コア、1.75 GB RAM) VMUbuntu 12.04 LTSを名前vmname(または任意の名前) で作成します。
  • 準備ができたら、SSH を使用してこの VM にログオンします ( ssh azureuser@vmname.cloudhost.net -p 22)
  • 走る:sudo apt-get update
  • 走る:sudo apt-get install openjdk-7-jdk openjdk-7-jre p7zip-full
  • 走る:mkdir /home/azureuser/Downloads
  • 走る:wget -O /home/azureuser/Downloads/titan-server-0.4.0.zip "http://s3.thinkaurelius.com/downloads/titan/titan-server-0.4.0.zip"
  • 走る:cd /home/azureuser/Downloads/
  • 走る:7z x titan-server-0.4.0.zip
  • 走る:cd /home/azureuser/Downloads/titan-server-0.4.0
  • 走る:sudo bin/titan.sh -c cassandra-es start
  • 走る:sudo bin/rexster-console.sh
  • rexster コンソールで、次を実行g = rexster.getGraph("graph")します。titangraph[cassandra:null]
  • CTRL-C で rexster consloe から
  • 走る:sudo bin/titan.sh stop
  • 走る:sudo bin/titan.sh -c cassandra-es start
  • 走る:sudo bin/rexster-console.sh
  • rexster コンソールで、次を実行しますg = rexster.getGraph("graph")現在、これはグラフではなく null を返します。

シャットダウンして再起動するときに、いくつかの問題があるようです。

シャットダウン時

起動時 #2

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

neo4j - グラフ データベースのメモリの問題

TitanOrientDB、およびNeo4jの 3 つの異なるグラフ データベースのベンチマークを試みています。データベース作成の実行時間を測定したい。テスト ケースとして、このデータセットhttp://snap.stanford.edu/data/web-flickr.htmlを使用します。データはローカルに保存されており、コンピューターのメモリには保存されていませんが、大量のメモリが消費され、残念ながらしばらくするとEclipseがクラッシュすることに気付きました。なぜこうなった?

ここにいくつかのコード スニペットがあります: Titan グラフの作成

OrientDB グラフの作成:

Neo4j グラフの作成:

編集: BatchGraph ソリューションを試しましたが、永久に実行されるようです。それは昨日一晩中実行され、最後にはなりませんでした。私はそれを止めなければなりませんでした。私のコードに何か問題がありますか?

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

gremlin - RexPro 経由で作成された Titan の HashMap を更新できません

Cassandra をデータ ストアとして Titan 0.3.2 を実行しています。また、RexProを介して Titan と対話するためにrexpro-pythonを使用しています。

問題と質問:

この Python コードを実行すると:

結果のノードを Gremlin コンソールで検索できます。

my_dictマップが適切に作成されているように見えます。

my_dictただし、新しいキーと値で更新できません:

コンソールで最初に新しいオブジェクトにリセットmy_dictすると、キーを追加しようとするabcと期待どおりに機能します。

私の質問: my_dictRexPro で作成された頂点で新しい KV ペアを更新するにはどうすればよいですか?


試行された回避策/解決策:

パラメータ化されていないバージョンの Python スクリプトを使用して頂点を作成すると、これと同じ問題が発生します。

また、この問題に関連するかどうかはわかりませんが、コンソールで作成された新しいマップはLinkedHashMap(一方、python/rexpro コードは を作成しましたHashMap) のようです:

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

titan - Titan-all gradle プルが失敗する

私は最新のタイタンを引っ張っています[Windowsとubuntuで]

次のエラーが表示されます。

助けてくれてありがとう。

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

elasticsearch - トークン化されたフィールド全体のTitan ES正規表現クエリ?

Titan 0.4.0 を実行してREGEXおり、ES 文字列検索に最新の演算子を使用しようとしています。

my_keyという名前の ES インデックスのインデックスを作成しましたsearch

次に、頂点を追加します。

動作するREGEXようです...

...しかし、トークン化さ"123""abc"た独立したもののみ:

ただし、完全な値に一致する正規表現を実行しようとすると、頂点が取得されません (以下のいずれも結果を返しません)。

Titan でこの方法でインデックスをクエリする方法はありますか (トークン化/分析された用語のない正規表現)?