Q语言:新型的数据定义语言
程序员文章站
2022-06-02 18:12:07
...
Q是一个数据语言,目前被限定为一个数据定义语言(DDL)。Q采用JSON/XML模式,其配备了一个专用的用于定义数据的类型系统,和一个称为“信息合约”的理论,用于程序和数据交换语言之间的互操作。
Q可以在很多需要获取数据的地方,比如:
如果要获取医疗系统中一些病人的诊断信息,下面显示了典型的JSON数据格式文档和采用Q语言的获取方式。
下面是Q语言的实现方式:
实现
目前Q语言已经有了一些实现:
Q语言官网:http://www.q-lang.io/
Github地址:https://github.com/blambeau/q-lang
Q可以在很多需要获取数据的地方,比如:
- 要求可靠性和安全性(RESTful)的Web服务、配置文件、数据交换等
- 验证数据输入,比如屏幕输入或HTML表单输入
- 在接收数据时强制低级别类型向高级别转换,消弱交换语言对类型系统的限制(比如JSON没有内置的时间类型),并以安全和几乎透明的方式提升抽象的级别
- 可在RESTful资源定义、NoSQL文档数据库中记录数据类型和模式
- 可在异构环境中映射数据类型,使得数据库、不同的数据交换语言之间的互操作更好、更简单
如果要获取医疗系统中一些病人的诊断信息,下面显示了典型的JSON数据格式文档和采用Q语言的获取方式。
{ "patient": { "id": "27b3ceb0-7e10-0131-c9f1-3c07545ed162", "name": "Marcia Delgados", "dob": "1975-11-03" }, "symptoms": [ "Nausea", "Fever" ], "temperature": 39.5 }
下面是Q语言的实现方式:
Temp = <celsius> Real( f | f >= 33.0 and f <= 45.0 ) { patient : { id : Uuid, name : String( s | s.size > 0 ), dob : Date( d | alive: d.year > 1890 ), }, symptoms : [ String( s | s.size > 0 ) ], temperature : Temp }
实现
目前Q语言已经有了一些实现:
Q语言官网:http://www.q-lang.io/
Github地址:https://github.com/blambeau/q-lang
推荐阅读
-
C语言学习之路之三-----------C语言中的数据类型
-
数据库概论_3标准化的SQL语言_ 数据定义
-
ffmpeg使用C语言sdk实现抽取视频中的视频数据
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
-
Mysql--数据定义语言(DDL)
-
ORACLE官方SQL语言参考之关于用户定义函数的实例讲解
-
Windows10下使用C语言通过ODBC链接MySQL数据库的方法教程
-
C语言的常用的数据类型有哪些_所占字节分别是多少
-
oracle学习笔记(三) DCL 数据控制语言与 DDL 数据定义语言
-
带你了解C语言的数据的存储