儘管Freebase已於2015年6月棄用,但我留下了深刻的印象Freebase's MQL。它直觀,簡潔,具有說明性,易於理解/編寫。將Freebase MQL轉換爲TinkerPop3 gremlin?
這些天我正在學習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的輸出相同性能損失?
謝謝先進。
謝謝你有時間。 儘管你的gremlin和MQL一樣工作(頂點9(YOU!)沒有'develop'邊緣,所以v [9]不應該被打印出來) ,map/fold方法很有幫助。非常感謝。 –
你能否回答[這個問題](http://stackoverflow.com/questions/34285006/index-does-not-work-when-using-order-by-in-titan)?如果可以的話,我真的很感激。 –