Я учусь использовать Gremlin в Neo4j.
У меня следующая структура тегов: Спорт -> (связанные) -> Футбол -> (связанные) -> Бельгия.
С каждым тегом у меня связаны каналы. В каждой ленте у меня есть несколько лент новостей (новостей).
Когда я ищу в ленте Sport, я также хочу вытащить все, что связано с футболом и Бельгией (связанные с ним теги).
С Cypher я получаю результат с таким запросом:
START tag = node (106949) MATCH tag- [: FILHA * 1..10] -> fof WITH fof MATCH fof- [: USA] -> каналы RETURN LIMIT 10;
С Gremlin я получаю все теги, связанные с тегом Sport, следующим образом:
x = []; gv (106949) .as ("tagsFilha"). out ("FILHA") .aggregate (x) .loop ("tagsFilha") {it.loops ‹10}. итерация (); х
С помощью Gremlin можно было ловить ленты новостей по тегу (Спорт) следующим образом:
g.v (startNode) .out ("США") .out ("CONTEM") .sort {it.qtde_visualizacoes} ._ () [0..10]
Но указанный выше запрос не вернул новости, связанные со связанным тегом. Пример: Поиск по спорту также получает новости о теге Бельгия (связанный с ним тег).
Может ли кто-нибудь указать мне ссылку?
Благодарность!