SQL喜欢Apache TinkerPop的查询语言



背景:我一直在使用neo4j及其Cypher查询,直到现在,并希望移至Apache TinkerPop来支持多个图形db。


在Cypher查询语言中我要找到我的朋友,我会写这个查询。

MATCH (you {name:"You"})-[:FRIEND]->(yourFriends)
RETURN you, yourFriends

现在,我正在寻找一种类似于我的代码中已经编码的查询语言,以与Gremlin合作

从我看来,gremlin具有一个脚本,例如" g.v(12(.oute('nown nown'(。inv ",但这与SQL语法并不相似,这就是我正在寻找。

注意:我不是在寻找SQL连接,我只是在寻找一个 SQL喜欢脚本

tldr;

您问题的简短答案是,对于启用TinkerPop的数据库,您需要在Gremlin中编写查询,目前没有类似SQL的语言。


详细信息

Gremlin与SQL和Cypher不同,但重要的是Gremlin是一种声明性的语言,而SQL/Cypher是命令语言。在Gremlin中,您定义了要如何穿越图形和SQL/Cypher,您可以定义所需的内容,并且引擎为您优化了遍历。

例如,您上面的密码查询将以Gremlin编写为:

g.V().has('name', 'You')
   .as('you').out('friend')
   .as('yourFriends')
   .select ('you', 'yourFriends')

目前,您需要将Cypher查询转换为Gremlin,以对付任何数量的TP数据库,包括Janusgraph,CosmosDB,DSE Graph,AWS Neptune。>

丹尼尔·库皮茨(Daniel Kuppitz(写了一张景点,教导您如何从对SQL查询进行迁移到编写Gremlin的迁移,可以在此处找到:SQL2Gremlin

相关内容

  • 没有找到相关文章

最新更新