使用灯泡将数据加载到Titan中,然后访问它

时间:2015-06-25 09:28:43

标签: python titan gremlin rexster bulbs

我是图形数据库和所有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中创建了一个带有多个顶点的图形,其中一些顶点由 连接 边缘。

我的问题是:

  

如何在Titan中保存? (就像SQL中的提交一样)

     

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

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

请帮助:)我完全失去了所有这些泰坦,格雷姆林,雷克斯特等。 :)

更新:我们的POC项目的要求之一 - 是... python :),这就是为什么我直接跳进灯泡的原因。我绝对会遵循以下建议:)

1 个答案:

答案 0 :(得分:1)

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

  

如何在Titan中保存? (就像SQL中的提交一样)

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

  

我如何以后访问它?我应该能通过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的连接,并且您应该能够查询您的数据。

  

我完全迷失在泰坦,格雷姆林,雷克斯特等所有人中

我对所有新用户的建议(特别是对图表,cassandra,jvm等新用户)的建议是放慢速度。最让人气馁的方法是尝试使用python对雷克斯特的灯泡进行操作,然后使用hadoop将垃圾箱中的gremlin运行到ec2中的cassandra集群 - 并尝试将十亿个边缘图加载到其中。

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

获得图表后,将其设置为Gremlin Server(Rexster替代TP3)。然后考虑如何通过python工具访问它。或许你想出如何将TinkerGraph转换为Titan(也许从BerkeleyDB而不是cassandra开始)。我的观点是更慢地增加你对生态系统不同部分的参与,因为它是压倒性的。