Google objavlja logični programski jezik Logica

Google je predstavil nov deklarativni logični programski jezik Logica, zasnovan za manipulacijo podatkov in prevajanje programov v SQL. Novi jezik je namenjen tistim, ki želijo uporabljati sintakso logičnega programiranja pri pisanju poizvedb po bazi podatkov. Trenutno je nastalo kodo SQL mogoče izvesti v shrambi Google BigQuery ali v DBMS-jih PostgreSQL in SQLite, za katere je podpora še poskusna. V prihodnosti je načrtovano povečanje števila podprtih narečij SQL. Koda projekta je napisana v Pythonu in objavljena pod licenco Apache 2.0.

Logica nadaljuje z razvojem drugega jezika za obdelavo podatkov, Yedalog, ki ga je razvil Google, in zagotavlja raven abstrakcije, ki ni na voljo v standardnem SQL. Poizvedbe v Logici so programirane v obliki nabora logičnih stavkov. Podpira module, uvoze in možnost uporabe Logice iz interaktivne lupine Jupyter Notebook. Če želite na primer ustvariti povzetek ljudi, ki so najpogosteje omenjeni v novicah za leto 2020, lahko uporabite naslednji program Logica za dostop do baze podatkov GDELT: @OrderBy(Mentions, “mentions desc”); @Limit(omembe, 10); Omembe(oseba:, omembe? += 1) ločeno :- gdelt-bq.gdeltv2.gkg(osebe:, datum:), Substr(ToString(datum), 0, 4) == “2020”, the_persons == Razdeli (osebe, ";"), oseba v_osebah; $ logica mentions.l zažene Omembe +—————-+—————-+ | oseba | število_omemb | +—————-+—————-+ | donald trump | 3077130 | | los angeles | 1078412 | | joe biden | 1054827 | | george floyd | 872919 | | boris johnson | 674786 | | Barack Obama | 438181 | | vladimir putin | 410587 | | bernie sanders | 387383 | | andrew cuomo | 345462 | | las vegas | 325487 | +—————-+——————-+

Pisanje zapletenih poizvedb v SQL povzroči potrebo po pisanju okornih večvrstičnih verig, ki jih ni očitno razumeti, ovirajo ponovno uporabo delov poizvedbe in zapletajo vzdrževanje. Za tipične ponavljajoče se izračune lahko SQL uporablja poglede in funkcije, vendar ne podpirajo uvoznih operacij in ne zagotavljajo prilagodljivosti jezikov na visoki ravni (na primer, ne morete posredovati funkcije funkciji). Logica omogoča sestavljanje programov iz majhnih, razumljivih in večkrat uporabnih logičnih blokov, ki jih je mogoče testirati, povezati z določenimi imeni in združiti v pakete, ki jih je mogoče uporabiti kot del drugih projektov.

Vir: opennet.ru

Dodaj komentar