@spmallette From the old PR:

> I assume you like where this PR is going. if we make `hasKey()` behave 
> uniformly for `Element` and `Property` where does that leave `has(String)`:
> 
> ```
> gremlin> g.V(1).properties().has('name')
> gremlin> g.V(1).properties().hasKey('name')
> ==>vp[name->marko]
> ```
> 
> Should it be deprecated in favor of `hasKey()` or Is there a reason to keep 
> that signature?

What you show is the expected result, checking for a property existence is 
different from checking if the key of a keyed element matches a given value. 
Thus I don't think we can remove/deprecate `has(String)`.

```
gremlin> g.V().has("location")
==>v[1]
==>v[7]
==>v[8]
==>v[9]
gremlin> g.V().properties().hasKey("location").limit(4)
==>vp[location->san diego]
==>vp[location->santa cruz]
==>vp[location->brussels]
==>vp[location->santa fe]
gremlin> g.V().properties().hasKey("location").not(has("endTime"))
==>vp[location->santa fe]
==>vp[location->purcellville]
==>vp[location->seattle]
==>vp[location->aachen]
```

[ Full content available at: https://github.com/apache/tinkerpop/pull/1224 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to