Graph Titan Twitter示例是如何工作的?

Graph Titan Twitter示例是如何工作的?,graph,schema,titan,Graph,Schema,Titan,我现在正试着把注意力集中在图形数据上。我发现很难用属性图来思考。在文档页面上,有一个涉及twitter数据的示例。小精灵的密码是: g = TitanFactory.open(conf) // graph schema construction g.makeKey('name').dataType(String.class).indexed(Vertex.class).make() time = g.makeKey('time').dataType(Long.class).make() if(u

我现在正试着把注意力集中在图形数据上。我发现很难用属性图来思考。在文档页面上,有一个涉及twitter数据的示例。小精灵的密码是:

g = TitanFactory.open(conf)
// graph schema construction
g.makeKey('name').dataType(String.class).indexed(Vertex.class).make()
time = g.makeKey('time').dataType(Long.class).make()
if(useVertexCentricIndices)
  g.makeLabel('tweets').sortKey(time).make()
else 
  g.makeLabel('tweets').make()
g.commit()

// graph instance construction
g.addVertex([name:'v1000']);
g.addVertex([name:'v10000']);
g.addVertex([name:'v100000']);
g.addVertex([name:'v1000000']);

for(i=1000; i<1000001; i=i*10) {
  v = g.V('name','v' + i).next();
  (1..i).each {
    v.addEdge('tweets',g.addVertex(),[time:it])
    if(it % 10000 == 0) g.commit()
  }; g.commit()
}
g=TitanFactory.open(conf)
//图模式构造
g、 makeKey('name').dataType(String.class).索引(Vertex.class).make()
time=g.makeKey('time').dataType(Long.class).make()
如果(使用异常项)
g、 makeLabel('tweets').sortKey(time).make()
其他的
g、 makeLabel('tweets')。make()
g、 提交()
//图实例构造
g、 addVertex([名称:'v1000']);
g、 addVertex([名称:'v10000']);
g、 addVertex([名称:'v100000']);
g、 addVertex([名称:'v1000000']);

对于(i=1000;i维基中的示例有点过于简化,旨在传达以顶点为中心的索引的概念。就其本身而言,它可能不是理解一般模式建模的最佳方法。也就是说,我认为该模型仍然具有基本意义(至少从这个角度来看)

如果答案是edge连接了用户发送的不同推文 已发出tweet,则一条边连接多个节点

我不确定你在代码中看到了什么。我看到了4个用户顶点正在做推文(v1000、v10000等)。for循环迭代每个用户并为每个用户添加推文边。每次创建一条边时,都会创建一个新的顶点来表示推文。也许我误解了你的意思,但从这个意义上说,一条边不会连接两个以上的顶点。它只会从用户顶点连接到推文顶点