【问题标题】:Bitwise operators in GremlinGremlin 中的位运算符
【发布时间】:2020-10-12 08:50:23
【问题描述】:
Gremlin 是否支持where() 中的位运算符(如property & flag > 0)?也许像where(bitIsSet('property', 2))。
在apache docs 中找不到任何相关信息,但至少感觉奇怪的是,这个基本操作不会在 Gremlin 中实现。
【问题讨论】:
标签:
gremlin
bitwise-operators
azure-cosmosdb-gremlinapi
【解决方案1】:
不 - 在 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]
在 Gremlin 中没有实现这个基本操作至少感觉很奇怪。
是的 - 我想这很简单,但我认为自项目开始以来我从未听说过有人要求提供该功能。 Gremlin 还缺少一些其他重要的运算符,例如基本的字符串连接和日期操作 - 这些肯定是需要的。