Gremlin,加入在ID上加倍VERTEX并在Titan图db中添加EDGE

时间:2014-02-21 17:18:33

标签: join graph gremlin titan edges

拥有这些VERTEX地图

 **a**) ( County, StreetName, GroupName, Type, BaseRecId, Latitude,
          StreetSuffix, Longitude, StreetNumber, Zip, City )
 **b**) ( SalesPrice, SalesRecId, BaseRecId, SalesDate )

PROPERTY BaseRecId 时,我需要创建EDGES(1到多个),从VERTEX a 到VERTEX b strong> MATCHES。

1 个答案:

答案 0 :(得分:0)

首先选择组a的所有顶点,然后选择组b的匹配顶点,最后将它们链接在一起:

g.V().hasNot("BaseRecId", null).hasNot("GroupName", null).as("a").transform({
  g.V("BaseRecId", it.getProperty("BaseRecId")).hasNot("SalesRecId", null)
}).scatter().linkIn("label", "a")

此查询中的假设:

  • 组a中的每个顶点都有一个GroupName
  • 组b中的每个顶点都有一个SalesRecId
  • BaseRecId被编入索引(这是可选的,但会大大加快速度)

这适用于小图表。对于较大的图形,请使用Faunus。