尽管Freebase在 2015 年 6 月被弃用,但我对Freebase 的 MQL印象深刻。它直观、简洁、声明性且易于理解/编写。
这些天我正在学习 TinkerPop3 和 gremlin。我认为 gremlin 有很多不错的功能。我想知道是否可以将 Freebase MQL 转换为 TinkerPop3 gremlin。
假设,我有 TinkerPop3 样本数据“The Crew”和以下 MQL:
[{
"type": "person",
"name": null,
"develops": {
"type": "software",
"release_date": null, // release_date is not in the crew data.
// Just added for test
"name": null,
"sort": "-name", // descending sort
"limit": 2 // print only two software
},
"uses": {
"type": "software",
"release_date": null,
"name": null,
"sort": "name", // ascending sort
"limit": 2
}
}]
MQL 上面的意思是“找人”,并为每个人“打印他开发的两个软件和使用的软件”。请记住,上面的 MQL 只是一个测试示例。
我尝试将 MQL 转换为单个 gremlin。但我无法转换它。所以我问你。是否可以?那么如何转换,如果不可能,为什么?(如果可能的话,如果生成的 gremlin 在优化和执行方面是有效的,那就更好了。)
如果单个 gremlin 是不可能的,那么是否有可能组装两个或多个 gremlin 可以生成与 MQL 的输出相同而不会损失性能?
提前致谢。