声明式数据结构查询语言

declarative data structure query language

提问人:lsh 提问时间:2/19/2016 最后编辑:Communitylsh 更新时间:7/30/2017 访问量:235

问:

我很难描述一种我认为必须存在并有名称的查询语言。

简单地说,您将要接收的数据描述为值路径和任何转换、约束等的数据结构。

例如,请求:

{:query {:title
         :content
         :fullname (join [:author.firstname :author.lastname] " ")
         :meta {:date-created
                :date-updated
                :date-published}}
 :limit 10
 :order-by :title}

将返回一个结果列表,例如:

[
    {:title "dummy title 1" 
     :content "lorem ipsum" 
     :author "Jane Doe"
     :meta {:date-created 2016-01-01
            :date-updated 2016-01-02
            :date-published 2016-01-02}}

    {:title "dummy title 2" 
     :content "ipsum lorem" 
     :author "John Doe"
     :meta {:date-created 2016-01-01
            :date-updated 2016-01-02
            :date-published 2016-01-02}}

     ...

]

数据日志类型的查询甚至MongoDB查询都有类似的感觉,但是这种类型的查询是否有名称或适合我可以更好地在互联网上搜索的某种设计模式?

MongoDB 与语言无关的数据 日志 数据库

评论


答:

0赞 lsh 3/12/2016 #1

我刚刚遇到了 Facebook 的 GraphQL,它似乎可以达到这个目的。

https://code.facebook.com/posts/1691455094417024/graphql-a-data-query-language/

Python Graphene 库支持 Django。

有一个 repo 包含指向各种实现的链接: https://github.com/chentsulin/awesome-graphql