You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Stephen Mallette (Jira)" <ji...@apache.org> on 2021/11/18 18:09:00 UTC
[jira] [Updated] (TINKERPOP-2652) Add TextP.regex to the text predicate set
[ https://issues.apache.org/jira/browse/TINKERPOP-2652?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephen Mallette updated TINKERPOP-2652:
----------------------------------------
Issue Type: Improvement (was: New Feature)
> Add TextP.regex to the text predicate set
> -----------------------------------------
>
> Key: TINKERPOP-2652
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2652
> Project: TinkerPop
> Issue Type: Improvement
> Components: process
> Affects Versions: 3.6.0
> Reporter: Kelvin Lawrence
> Priority: Major
>
> 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)