22

我玩Titan 图形服务器已经有一段时间了。我的感觉是,尽管有大量文档,但缺少从头开始教程

我的最终目标是让泰坦在 cassandra 上运行并使用StartTheShift/thunderdome进行查询。

我见过几种启动 Titan 的方法:

使用 Rexster

从此链接,我能够通过以下步骤运行 Titan 服务器:

  1. 下载rexster-server 2.3
  2. 下载泰坦0.3.0
  3. 将所有文件复制titan-all-0.3.0/libsrexster-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 数据库。

  1. 启动服务器./bin/rexster.sh -s -c rexster.xml
  2. 下载 rexster 控制台并运行它bin/rexster-console.sh
  3. 您现在可以使用g = rexster.getGraph("geograph")

这种方法的问题是您是通过 rexster 而不是 gremlin 连接的,因此您没有自动完成功能。优点是您可以命名您的数据库(此处为地理)。

将 Titan 服务器与 cassandra 一起使用

  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")

这很好用。

将 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')它会在我所在的目录中创建一个名为 graph 的新数据库。如果我在我的目录(已填充)所在的位置执行此操作,我会得到:

    无法实例化实现:com.thinkaurelius.titan.diskstorage.berkeleyje.BerkeleyJEStoreManager

有人可以澄清这些过程,并告诉我我做错了什么。谢谢

4

3 回答 3

6

根据文档TitanFactory.open(),可以使用配置文件的名称或要在其中打开或创建数据库的目录名称。

如果 steven 说的是真的,将有两种方法可以使用 BerkelyDB 后端连接到数据库:

  1. 通过 启动数据库bin/titan.sh。通过 rexster 控制台连接到数据库。

  2. 不要使用bin/titan.sh. 请改用 gremlin 控制台:TitanFactory.open("database-location"). 这将打开数据库。但这没有 rexster 服务器。除了 gremlin 控制台,没有其他东西可以访问数据库。

于 2013-09-20T15:05:13.513 回答
2

对于 Titan Server/BerkeleyDB,您应该尝试通过 RexPro 或 REST 进行连接(Thunderdome 应该通过 REST 进行连接)。您无法打开另一个与 BerkeleyDB 的基于 Titan 的连接,因为 Titan 服务器已经拥有它。

这与 Titan Server/Cassandra 不同,后者通过 RexPro 或 REST 进行连接,但也通过嵌入式 Cassandra 实现通过节俭的连接TitanFactory.open('graph')

于 2013-05-08T01:19:48.943 回答
1

也可以使用以下两个库从 python 访问 Titan:

https://github.com/StartTheShift/thunderdome

https://github.com/espeed/bulbs

Thunderdome 目前是 Titan 专用的,灯泡是通用的。Thunderdome 的 wiki 上给出了 Thunderdome 和 Bulbs 之间的(可能有偏见的)比较:https ://github.com/StartTheShift/thunderdome/wiki/Bulbs-VS-thunderdome

如果需要自动完成,可以使用 iPython 并在 iPython 配置中启用自动完成。

于 2013-06-13T05:59:50.320 回答