You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Kelvin Lawrence (Jira)" <ji...@apache.org> on 2021/11/18 17:44:00 UTC

[jira] [Created] (TINKERPOP-2652) Add TextP.regex to the text predicate set

Kelvin Lawrence created TINKERPOP-2652:
------------------------------------------

             Summary: Add TextP.regex to the text predicate set
                 Key: TINKERPOP-2652
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2652
             Project: TinkerPop
          Issue Type: New Feature
          Components: process
    Affects Versions: 3.6.0
            Reporter: Kelvin Lawrence


We have over the years, going back to a discussion thread from January 2018 [https://lists.apache.org/thread/r76r47jjxmomz9hvsx96www6r8qnh60t] had discussions of various text predicates that Gremlin lacks but are commonly found in other query languages such as SPARQL and Cypher. We currently have some TextP predicates, but not a specific regex one. I propose we add TextP.regex and for the reference implementation leverage the Java Pattern and Matcher classes. It may be that other implementations will choose to use a different REGEX engine but at least this will get the support into the Gremlin language. As a first pass, I envision this can be something quite simple along these lines (from a small prototype I put together).

 
{code:java}
         \,,,/
         (o o)
-----oOOo-(3)-oOOo-----
plugin activated: tinkerpop.server
plugin activated: tinkerpop.utilities
plugin activated: tinkerpop.tinkergraph
gremlin> g=traversal().withGraph(TinkerGraph.open())
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> g.addV('test').property('k1','I like llamas')
==>v[0]
gremlin> g.V().has('k1',TextP.regex("l[i|x]ke"))
==>v[0]

gremlin> g.V().has('city',TextP.regex("^Dallas"))                                           
==>v[8]                                                                                     
==>v[186] {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)