Gremlin graphdb中多个日期范围的减法
我试图学习graphdb,并将其功能与关系数据库进行比较。考虑以下问题: 我有两个日期范围列表:输入日期和输出日期: 日期范围中的日期:Gremlin graphdb中多个日期范围的减法,gremlin,graph-databases,amazon-neptune,Gremlin,Graph Databases,Amazon Neptune,我试图学习graphdb,并将其功能与关系数据库进行比较。考虑以下问题: 我有两个日期范围列表:输入日期和输出日期: 日期范围中的日期: 2000年1月1日至2025年12月31日 2026年1月1日至2030年12月31日 2030年2月1日至2033年12月31日 日期范围: 2/1/2005-12/31/2020 2024年1月1日至2026年12月31日 我要做的计算是从日期范围内的日期中减去所有的日期范围,这意味着我想知道日期范围内描述的所有日期范围,而日期范围内没有描述。注意
- 2000年1月1日至2025年12月31日
- 2026年1月1日至2030年12月31日
- 2030年2月1日至2033年12月31日
- 2/1/2005-12/31/2020
- 2024年1月1日至2026年12月31日
- 2000年1月1日至2005年1月31日
- 2021年1月1日至2023年12月31日
- 2027年1月1日至2030年12月31日
- 2030年2月1日至2023年12月31日
这个问题有没有图形解决方案?扩展我的评论作为答案
这可能不是在Gremlin中容易完成的计算类型。有一些谓词,例如
在
内、不在
内和在
之间,可用于检查值是否在某个范围内,但不存在与生成序列
等价的谓词。有一个math
步骤提供了科学计算器功能,但我认为一般来说,这种计算最好在应用程序中完成
Gremlin允许在查询中包含内嵌代码(lambdas/closures),但许多图形数据库引擎不允许这样做,因为允许将任意代码作为图形遍历的一部分可能会暴露任何数量的风险。即使这是允许的,我觉得这个操作最好在应用程序中完成,而不是试图提出一个查询来完成它
在更简单的情况下,您可以使用以下方法测试日期范围内的值:
gremlin> g.addV('test').property('date',1599830201421)
==>v[60867]
gremlin> g.V().hasLabel('test').has('date',between(1599830201402,1599830212143))
==>v[60867]
这可能不是在Gremlin中容易完成的计算类型。有一些谓词,例如
在
内、不在
内和在
之间,可用于检查值是否在某个范围内,但不存在与生成序列
等价的谓词。有一个math
步骤,但我认为一般来说,这个计算最好在应用程序中完成。