Gremlin 中的按位运算符
Bitwise operators in Gremlin
Gremlin 是否支持 where()
(如 property & flag > 0
)中的按位运算符?也许像 where(bitIsSet('property', 2))
.
在 apache docs 中找不到任何相关信息,但至少感觉这个基本操作不会在 Gremlin 中实现很奇怪。
否 - 在 Gremlin 中没有类似按位运算符的步骤。如果你的图表支持这样的事情,你当然可以使用 lambda(尽管 CosmosDB 不支持):
gremlin> g.inject([a:-1,b:-1]).filter{(it.get().a & it.get().b) > 0}
gremlin> g.inject([a:00111100,b:00001101]).filter{(it.get().a & it.get().b) > 0}
==>[a:37440,b:577]
it feels at least strange that this basic operation would not be implemented in Gremlin.
是的 - 我想这很简单,但我认为自项目开始以来我从未听说过有人要求该功能。 Gremlin 还缺少一些其他重要的运算符,例如基本的字符串连接和日期运算 - 肯定需要这些运算符。
Gremlin 是否支持 where()
(如 property & flag > 0
)中的按位运算符?也许像 where(bitIsSet('property', 2))
.
在 apache docs 中找不到任何相关信息,但至少感觉这个基本操作不会在 Gremlin 中实现很奇怪。
否 - 在 Gremlin 中没有类似按位运算符的步骤。如果你的图表支持这样的事情,你当然可以使用 lambda(尽管 CosmosDB 不支持):
gremlin> g.inject([a:-1,b:-1]).filter{(it.get().a & it.get().b) > 0}
gremlin> g.inject([a:00111100,b:00001101]).filter{(it.get().a & it.get().b) > 0}
==>[a:37440,b:577]
it feels at least strange that this basic operation would not be implemented in Gremlin.
是的 - 我想这很简单,但我认为自项目开始以来我从未听说过有人要求该功能。 Gremlin 还缺少一些其他重要的运算符,例如基本的字符串连接和日期运算 - 肯定需要这些运算符。