0

我是图形数据库和所有 Titan 生态系统的完全新手,所以请原谅我听起来很愚蠢。我也因缺乏文档而苦恼-_-

我已经安装了泰坦服务器。我使用 Cassandra 作为后端。

我正在尝试使用 Python 将基本的 twitter 数据加载到 Titan 中。为此,我使用灯泡库。可以说,我在朋友列表中有我在 Twitter 上关注的人的列表

我的python脚本是这样的

from bulbs.titan import Graph
# some other imports here

# getting the *friends* list for a specified user here


g = Graph()

# a vertex of a specified user
center = g.vertices.create(name = 'sergiikhomenko')


for friend in friends:
    cur_friend = g.vertices.create(name = friend)
    g.edges.create(center,'follows',cur_friend)

据我了解 - 上面的代码应该在 Titan 中创建了一个带有多个顶点的图形,其中一些顶点由跟随边连接。

我的问题是:

我如何在泰坦中保存它?(就像 SQL 中的提交)

以后怎么访问??我应该能够通过 gremlin shell 访问它吗?如果是,怎么做??

我的下一个问题是关于可视化数据,但我离那里很远:)

请帮助 :) 我完全迷失在这一切 Titan、Gremlin、Rexster 等中。:)

更新:我们的 POC 项目的要求之一是...... python :),这就是我直接跳入灯泡的原因。不过,我肯定会遵循以下建议:)

4

1 回答 1

1

我的回答会有些不完整,因为我无法真正提供有关灯泡的答案,但您确实提出了一些我可以尝试回答的具体问题:

我如何在泰坦中保存它?(就像 SQL 中的提交)

它只是g.commit()在 Java/Groovy 中。

以后怎么访问??我应该能够通过 gremlin shell 访问它吗?如果是,怎么做??

一旦它被提交给 cassandra,就可以使用 Bulbs、gremlin shell、其他一些应用程序等等来访问它。不确定您真正要问的是什么,但我喜欢 Gremlin 控制台这样的事情,所以如果 cassandra 在本地启动,请启动bin/gremlin.sh并执行以下操作:

g = TitanFactory.build()
    .set("storage.backend","cassandra")
    .set("storage.hostname","127.0.0.1")
    .open();

这将使您与 cassandra 建立连接,并且您应该能够查询您的数据。

我完全迷失在这一切 Titan、Gremlin、Rexster 等

我对所有新用户(尤其是那些刚接触图表、cassandra、jvm 等的用户)的建议是放慢速度。泄气的最快方法是尝试对灯泡执行 python 到 rexster 到 gremlin over the titan 到使用 hadoop 托管在 ec2 中的 cassandra 集群 - 并尝试将十亿边图加载到其中。

如果您是新手,请从最新的东西开始:TinkerPop3 - http://tinkerpop.incubator.apache.org/ - 灯泡尚不支持 - 但这没关系,因为您正在学习 TinkerPop,这对于学习整体很重要堆栈和所有 TinkerPop 的实现(例如 Titan)。将 TinkerGraph(不是 Titan)与一小部分数据一起使用,并确保在尝试全面使用之前获得加载该小子集的模式。将 Gremlin 控制台用于与此初始目标相关的所有内容。这是轻松获胜的秘诀。在这种方法下,您可能会在一天内对自己的数据进行一些查询,并了解您需要使用 Titan 完成的大部分操作。

获得 Graph 后,让它在Gremlin Server(TP3 的 Rexster 替代品)中运行。然后考虑如何通过 python 工具访问它。或者,也许您知道如何将 TinkerGraph 转换为 Titan(可能从 BerkeleyDB 而不是 cassandra 开始)。我的观点是要更缓慢地增加你对生态系统不同部分的参与,因为否则它是压倒性的。

于 2015-06-25T13:10:55.727 回答