My apologies, I just saw that I didn't include a link in that email.  The
proposal is here:

https://github.com/apache/tinkerpop/blob/proposal_3/docs/src/dev/future/proposal-3-remove-closures.asciidoc

Dave

On Tue, Feb 14, 2023 at 7:09 AM David Bechberger <d...@bechberger.com>
wrote:

> Hi All,
>
> There are a number of useful operations that Gremlin users often wish to
> perform that are not provided today in the form of traversal steps or
> predicates (P/TextP). For historical reasons these functions were omitted
> and users were able to accomplish these tasks by specifying anonymous code
> blocks or “closures” to perform these tasks. For example, below is an
> example of how you can achieve a case-insensitive search for any cities
> that contain “Miami”.
>
> g.V().hasLabel('city').
>
> has('name',filter{it.get().toLowerCase().contains('Miami'.toLowerCase())})
>
> While this is a powerful fallback mechanism in Gremlin to handle use cases
> where there is no functionality within the Gremlin language to meet the
> requirements. However, for a variety of reasons such as security and
> performance, many/most remote providers of TinkerPop do not allow users to
> execute closures as part of a query. This leaves users with a problem, as
> the mechanism provided to solve these sorts of use cases is not allowed. I
> have come up with a proposed framework for removing the need for closures
> by adding the most commonly requested functions as new Gremlin steps.
> Below is a proposal to highlight this and propose a first set of these
> steps for string manipulation, list manipulation, and data manipulation.
>
> What are your thoughts on this approach?
> Any items we missed?
> Concerns?
>
> Thanks,
> Dave
>

Reply via email to