Есть ли способ хранить больше информации на Графиках Amazon Neptune Graph? - PullRequest
2 голосов
/ 07 апреля 2020

Я делаю небольшой проект PO C, в котором я хочу представить дорожную сеть деревни, используя график Нептуна в Amazon.

У меня есть пересечения, которые я собираюсь использовать в качестве вершины на этом графике, и улицы как края. Простое представление:

Intersection {
   id: 1089238983,
   name: 'Madrid & 99th'
   labels: ['has_pedestrian_signals', 'four_way_intersection']
}

Street {
   id: 9808787868,
   name: 'Madrid St'
   from_int_id: 1089238983,
   to_int_id: 1089238973, 
   labels: ['has_hospital_on_street', 'is_snow_route', 'is_one_way_street']
}

Дело в том, что AWS документация гласит, что края могут иметь только 1 метку.

Я хочу иметь возможность в конечном итоге выполнять обходы на основе свойств ребер. Я пытался найти способы включить больше данных в график Tinkerpop, но не нашел ничего полезного.

Если есть какие-либо предложения, я буду признателен за это.

1 Ответ

5 голосов
/ 07 апреля 2020

Gremlin поддерживает свойства Edge, как и свойства вершин. http://tinkerpop.apache.org/docs/3.4.6/reference/#addedge -step

// define 'a' and 'b' vertices
g.addE('friendlyCollaborator').from('a').to('b').
                 property(id,23).property('project',select('c').values('name'))

Единственный вызов состоит в том, что выбор свойства ребра является дополнительным прыжком по сравнению с простым чтением метки ребра.

Например:

g.V(1).outE('knows') -> Gets the matching out edge in 2 hops.
g.V(1).outE().hasProperty('knows') -> An added hop to get to your edge.
...