web-dev-qa-db-ja.com

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

Titanグラフサーバー でしばらく遊んでいます。そして、私の感じでは、広範なドキュメントにもかかわらず、ゼロから始めるチュートリアルが不足しています。

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

私はタイタンを始めるいくつかの方法を見てきました:

Rexsterの使用

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

  1. ダウンロード rexster-server 2.
  2. ダウンロード titan 0.3.
  3. すべてのファイルを_titan-all-0.3.0/libs_から_rexster-server-2.3.0/ext/titan_にコピーします
  4. _rexster-server-2.3.0/rexster.xml_を編集し、(aの間に)を追加します。

    _<graph>
        <graph-name>geograph</graph-name>
        <graph-type>com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration</graph-type>
        <graph-read-only>false</graph-read-only>
        <graph-location>/Users/vallette/projects/DATA/gdb</graph-location>
        <properties>
              <storage.backend>local</storage.backend>
              <storage.directory>/Users/vallette/projects/DATA/gdb</storage.directory>
              <buffer-size>100</buffer-size>
        </properties>
        <extensions>
          <allows>
            <allow>tp:gremlin</allow>
          </allows>
        </extensions>
    </graph>
    _

berkeleydbの場合または:

_    <graph>
      <graph-name>geograph</graph-name>
      <graph-type>com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration</graph-type>
      <graph-location></graph-location>
      <graph-read-only>false</graph-read-only>
      <properties>
            <storage.backend>cassandra</storage.backend>
            <storage.hostname>77.77.77.77</storage.hostname>
      </properties>
      <extensions>
        <allows>
          <allow>tp:gremlin</allow>
        </allows>
      </extensions>
    </graph>
_

cassandra db。

  1. _./bin/rexster.sh -s -c rexster.xml_でサーバーを起動します
  2. rexsterコンソールをダウンロードして_bin/rexster-console.sh_で実行します
  3. これで、g = rexster.getGraph("geograph")を使用してグラフに接続できます。

この方法の問題は、グレムリンではなくレックススターを介して接続されているため、オートコンプリートがないことです。利点は、データベース(ここではgeograph)に名前を付けることができることです。

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

  1. _./bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties_でサーバーを起動します
  2. _cassandra.local_というファイルを作成します。

    _storage.backend=cassandrathrift
    storage.hostname=127.0.0.1
    _
  3. titan gremlinを起動し、g = TitanFactory.open("cassandra-es.local")に接続します

これは問題なく動作します。

BerkeleyDBでのtitanサーバーの使用

から このリンク

  1. ダウンロード titan 0.3.
  2. _./bin/titan.sh config/titan-server-rexster.xml config/titan-server-berkeleydb.properties_でサーバーを起動します
  3. タイタングレムリンを起動します:_./bin/gremlin.sh_
  4. しかし、g = TitanFactory.open('graph')を使用してgremlinのデータベース(グラフ)に接続しようとすると、現在のディレクトリにgraphという新しいデータベースが作成されます。これを実行すると、ディレクトリ(入力済み)が表示されます。 :

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

誰かがこれらのプロセスを明確にして、私が間違っていることを教えてもらえますか?ありがとう

22
Mermoz

ドキュメントによると、TitanFactory.open()は、構成ファイルの名前、またはデータベースを開くか作成するディレクトリの名前のいずれかを取ります。

Stevenの言うことが真実である場合、BerkelyDBバックエンドを使用してデータベースに接続する方法は2つあります。

  1. _bin/titan.sh_を介してデータベースを起動します。 rexsterコンソールを介してデータベースに接続します。

  2. _bin/titan.sh_を使用してデータベースを起動しないでください。代わりにgremlinコンソールを使用してください:TitanFactory.open("database-location")。これにより、データベースが開きます。しかし、これにはrexsterサーバーがありません。データベースにアクセスできるのはgremlinコンソールだけです。

6
Tim Ludwinski

Titan Server/BerkeleyDBでは、RexProまたはREST(ThunderdomeはREST経由で接続する必要があります)を介して接続を試みる必要があります。TitanServerがすでに所有しているため、BerkeleyDBへの別のTitanベースの接続を開くことはできません。 。

これは、RexProまたはRESTを介して接続が行われるTitan Server/Cassandraとは異なりますが、TitanFactory.open('graph')を介して節約を介して接続を可能にする組み込みCassandraを介しても行われます。

2

次の2つのライブラリを使用して、python)からTitanにアクセスすることもできます。

https://github.com/StartTheShift/thunderdome

そして

https://github.com/espeed/bulbs

サンダードームは現在タイタン固有であり、電球は一般的です。 ThunderdomeとBulbsの(おそらく偏った)比較は、Thunderdomeのwikiに記載されています: https://github.com/StartTheShift/thunderdome/wiki/Bulbs-VS-thunderdome

オートコンプリートが必要な場合は、iPythonを使用して、iPython構成でオートコンプリートを有効にすることができます。

1
Phob