Marko A. Rodriguez created TINKERPOP-1554:
---------------------------------------------

             Summary: has(propertyKey) should have a corresponding step in 
Gremlin-Java.
                 Key: TINKERPOP-1554
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1554
             Project: TinkerPop
          Issue Type: Improvement
          Components: process
    Affects Versions: 3.2.3
            Reporter: Marko A. Rodriguez


Currently {{has('name')}} compiles to {{filter(values('name'))}}. This is bad 
for a few reasons:

1. Its slower than a direct step.
2. Its nested traversals which increases reasoning time of strategies.
3. Its not clear from bytecode what it going on.

I propose:

{code}
public class HasPropertyStep<S extends Element> implements FilterStep<S> {

  private String propertyKey;

  public boolean filter(final Traverser.Admin<S> traverser) {
    return traverser.get().properties(propertyKey).hasNext();
  }

}
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to