Gremlin .Net, фильтровать вершины по свойству, содержащему значение
Мне нужно отфильтровать вершины в Azure Cosmos Graph DB по свойству, содержащему значение, я попробовал код ниже, но получаю сообщение об ошибке (Невозможно найти какой-либо метод 'filter')
var g = client.CreateTraversalSource();
var p = new P("containing", text);
var query = g.V().Filter(p).Range<Vertex>(page, pageSize);
var result = await client.ExcuteAsync<IEnumerable<Vertex>>(query);
Есть идеи как этого добиться?
2 ответа
Решение
Это может помочь кому-то еще, мне удалось выяснить это с помощью друга:
var p = new P("containing", text);
var query = g.V().has("propertyName", p).Range<Vertex>(page, pageSize);
var result = await client.ExecuteAsync<IEnumerable<Vertext>>(query);
Если кто-то все еще изучает это, есть предопределенные значения предиката, которые можно использовать в качестве строковых фильтров в классе TextP.
Вышеупомянутое может быть выполнено с помощью следующего:
var query = g.V().has("propertyName", TextP.Containing(text)).Range<Vertex>(page, pageSize);
var result = await client.ExecuteAsync<IEnumerable<Vertext>>(query);