Я пытаюсь выяснить, какие «фильтрующие» вершины имеют несколько ребер к вершинам с одинаковой меткой. Например, в этом случае «filter: 2» имеет 2 ребра, идущих к вершинам с одинаковой меткой «projectType». Это также верно для «фильтра: 3», так как он имеет 3 ребра, выходящих к вершинам «projectType».
Я пытался выполнить шаг "зацикливание", но всегда получаю сообщение об ошибке из консоли. Я использую AWS Neptune.
Вершины
filter:1, filter
filter:2, filter
filter:3, filter
projectType:1, projectType
projectType:2, projectType
projectType:3, projectType
projectType:4, projectType
city:1, city
city:2, city
city:3, city
Края
filter:1-projectType:1, services, filter:1, projectType:1
filter:2-projectType:1, services, filter:2, projectType:1
filter:2-projectType:2, services, filter:2, projectType:2
filter:3-projectType:2, services, filter:3, projectType:2
filter:3-projectType:3, services, filter:3, projectType:3
filter:3-projectType:4, services, filter:3, projectType:4
filter:1-city:2, services, filter:1, city:2
filter:2-city:1, services, filter:2, city:1
filter:3-city:1, services, filter:3, city:1
Консольный код для создания вершин и ребер
g.addV('filter').property('id','filter:1').as('f1').addV('filter').property('id','filter:2').as('f2').addV('filter').property('id','filter:3').as('f3').addV('projectType').property('id','projectType:1').as('p1').addV('projectType').property('id','projectType:2').as('p2').addV('projectType').property('id','projectType:3').as('p3').addV('projectType').property('id','projectType:4').as('p4').addV('city').property('id','city:1').as('c1').addV('city').property('id','city:2').as('c2').addV('city').property('id','city:3').as('c3').addE('services').from('f1').to('p1').addE('services').from('f2').to('p1').addE('services').from('f2').to('p2').addE('services').from('f3').to('p2').addE('services').from('f3').to('p3').addE('services').from('f3').to('p4').addE('services').from('f1').to('c2').addE('services').from('f2').to('c1').addE('services').from('f3').to('c1')
g.V().hasLabel('filter').as('x').outE().inV().loop('x').{it.loops < 3}.path()
{"requestId": "d63968ad-6c63-41f8-bfff-b31b09077a92", "code": "MalformedQueryException", "detailMessage": "Сбой при разборе запроса в строке 1, позиции символа в 68, сообщение об ошибке:ошибка распознавания токена в: 'it.' "}