Google publicē loģiskās programmēšanas valodu Logica

Google ir ieviesusi jaunu deklaratīvās loģikas programmēšanas valodu Logica, kas paredzēta datu manipulācijām un programmu tulkošanai SQL. Jaunā valoda ir paredzēta tiem, kas vēlas izmantot loģiskās programmēšanas sintaksi, rakstot datu bāzes vaicājumus. Pašlaik iegūto SQL kodu var izpildīt Google BigQuery krātuvē vai PostgreSQL un SQLite DBVS, kuru atbalsts vēl ir eksperimentāls. Nākotnē plānots paplašināt atbalstīto SQL dialektu skaitu. Projekta kods ir rakstīts Python un publicēts saskaņā ar Apache 2.0 licenci.

Logica turpina citas Google izstrādātas datu apstrādes valodas Yedalog izstrādi un nodrošina abstrakcijas līmeni, kas nav pieejams standarta SQL. Logica vaicājumi ir ieprogrammēti loģisku priekšrakstu kopas veidā. Atbalsta moduļus, importēšanu un iespēju izmantot Logica no interaktīvā Jupyter Notebook apvalka. Piemēram, lai ģenerētu ziņās visbiežāk pieminēto cilvēku kopsavilkumu par 2020. gadu, GDELT datubāzei var piekļūt ar šādu Logica programmu: @OrderBy(Mentions, “minions desc”); @Limit(pieminējumi, 10); Minējumi(persona:, piemin? += 1) atšķirīgi :- gdelt-bq.gdeltv2.gkg(personas:, datums:), Substr(ToString(datums), 0, 4) == “2020”, the_persons == Sadalīts (personas, ";"), persona in the_persons; $ logica mins.l palaist Piemin +—————-+—————-+ | persona | pieminēšanas_skaits | +—————-+—————-+ | donalds trumpis | 3077130 | | Losandželosa | 1078412 | | Džo Baidens | 1054827 | | Džordžs Floids | 872919 | | boriss Džonsons | 674786 | | Baraks Obama | 438181 | | Vladimirs Putins | 410587 | | bernijs Sanders | 387383 | | Andrew Cuomo | 345462 | | Lasvegasa | 325487 | +—————-+—————-+

Sarežģītu vaicājumu rakstīšana SQL rada nepieciešamību rakstīt apgrūtinošas vairāku rindu ķēdes, kuras nav acīmredzami saprotamas, traucē vaicājuma daļu atkārtotu izmantošanu un apgrūtina apkopi. Tipiskiem atkārtotiem aprēķiniem SQL var izmantot skatus un funkcijas, taču tie neatbalsta importēšanas darbības un nenodrošina augsta līmeņa valodu elastību (piemēram, jūs nevarat nodot funkciju funkcijai). Logica ļauj izveidot programmas no maziem, saprotamiem un atkārtoti lietojamiem loģiskiem blokiem, kurus var pārbaudīt, saistīt ar konkrētiem nosaukumiem un grupēt pakotnēs, kuras var izmantot kā daļu no citiem projektiem.

Avots: opennet.ru

Pievieno komentāru