Получение совпадений на нескольких ярлыках в Amazon Neptune с Gremlin
Реализация Amazon Neptune Gremlin позволяет использовать несколько меток на вершинах (см. https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin-differences.html).
Но как запросить вершины по нескольким меткам?
ГВ ().hasLabel('label1').hasLabel('label2')
было то, что я ожидал, но, похоже, не сработал.
2 ответа
В качестве временной меры вы можете попробовать сделать hasLabel('label1').fold().unfold().hasLabel('label2')
Учитывая семантику Гремлин, это:
g.V().hasLabel('label1').hasLabel('label2')
означает, что вы выполняете операцию "и", поэтому вершины должны иметь "label1" и "label2". Если вам нужна операция "или", в которой вершины могут иметь метку "label1" или "label2", то вам, вероятно, нужно изменить это на:
g.V().or(hasLabel('label1'),hasLabel('label2'))
Не уверен, решит ли это вашу проблему с Нептуном в том, что вы хотите запросить, но именно этого ожидает Гремлин.