Возможно, я задаю очевидный вопрос, но плохо знаком с графиками и языком гремлинов и немного застрял.
У меня есть настройка графа, где я могу найти N вершин определенного типа.
Допустим, я нахожу 2 вершины типа X.
Эти вершины имеют ребра для K вершин типа Y.
Я хочу найти вершины типа Y, все из которых имеют связь с 3 вершинами типа X, которые я нашел для типа X. В этой ситуации вершины типа Y могут быть связаны с любой из 3 вершин типа X, но я хочу получить только общие.
Скрипт для создания примера данных `` `
g.addV("X1").property("name", "category1")
g.addV("X2").property("name", "category2")
g.addV("Y").property("name", "y1")
g.addV("Y").property("name", "y2")
g.addV("Y").property("name", "y3")
g.V().has("Y", "name", "y1").addE("isOf").to(g.V().has("X1", "name", "category1"))
g.V().has("Y", "name", "y1").addE("isOf").to(g.V().has("X2", "name", "category2"))
g.V().has("Y", "name", "y2").addE("isOf").to(g.V().has("X1", "name", "category1"))
g.V().has("Y", "name", "y2").addE("isOf").to(g.V().has("X2", "name", "category2"))
g.V().has("Y", "name", "y3").addE("isOf").to(g.V().has("X1", "name", "category1"))
`` `
И что меня интересует, так это поиск вершин "Y", имеющих isOf category1 и category2 и, возможно, больше категорий. Мне нужно исключить вершины Y, которые связаны только с подмножеством указанных категорий.