@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]