2014-02-21 6 views
0

Имея эти вершинных картыGremlin, присоединиться кратные VERTEX базу на Id и добавить EDGE в Titan графа дб

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

Мне нужно создать КРАЯ (1 ко многим), от VERTEX к VERTEX b, когда НЕДВИЖИМОСТЬBaseRecId MATCHES.

+0

rexster [заводной]> свойства = ГВ ('ИмяГруппы', 'свойство'). Далее() ==> v [14860] rexster [заводной]> продаж = (ГВ 'ИмяГруппы', NULL) .next() ==> v [24012] rexster [groovy]> g.addEdge (свойства, продажи, 'SOLD') ==> e [uIv-3RG-58] [14860-SOLD-> 24012] rexster [groovy]> g.commit() –

ответ

0

Сначала выберите все вершины группы а, то совпадающие вершины группы Ь и, наконец, связать их вместе:

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

Предположения в этом запросе:

  • каждая вершина в группе А имеет GroupName
  • каждая вершина в группе b имеет SalesRecId
  • BaseRecId индексируется (это o ptional, но резко изменит ситуацию)

Это должно работать для небольшого графика. Для больших графиков используйте Faunus.

+0

Он отлично работал, спасибо вам большое! –