Q是一個(gè)數(shù)據(jù)語(yǔ)言,目前被限定為一個(gè)數(shù)據(jù)定義語(yǔ)言(DDL)。Q采用JSON/XML模式,其配備了一個(gè)專用的用于定義數(shù)據(jù)的類型系統(tǒng),和一個(gè)稱為“信息合約”的理論,用于程序和數(shù)據(jù)交換語(yǔ)言之間的互操作。
Q可以應(yīng)用在很多需要獲取數(shù)據(jù)的地方,比如:
如果要獲取醫(yī)療系統(tǒng)中一些病人的診斷信息,下面顯示了典型的JSON數(shù)據(jù)格式文檔和采用Q語(yǔ)言的獲取方式。
{ "patient": { "id": "27b3ceb0-7e10-0131-c9f1-3c07545ed162", "name": "Marcia Delgados", "dob": "1975-11-03" }, "symptoms": [ "Nausea", "Fever" ], "temperature": 39.5 }
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語(yǔ)言已經(jīng)有了一些實(shí)現(xiàn):
原文來自:ITeye