Google publisearret logyske programmeartaal Logica

Google hat in nije deklarative logika-programmearringstaal yntrodusearre, Logica, ûntworpen foar gegevensmanipulaasje en it oersetten fan programma's yn SQL. De nije taal is rjochte op dyjingen dy't logyske programmearring syntaksis wolle brûke by it skriuwen fan databankfragen. Op it stuit kin de resultearjende SQL-koade wurde útfierd yn Google BigQuery-opslach of yn PostgreSQL en SQLite DBMS's, wêrfoar stipe noch eksperiminteel is. Yn 'e takomst is it plan om it oantal stipe SQL-dialekten út te wreidzjen. De projektkoade is skreaun yn Python en publisearre ûnder de Apache 2.0-lisinsje.

Logica bliuwt de ûntwikkeling fan in oare Google-ûntwikkele taal foar gegevensferwurking, Yedalog, en leveret in nivo fan abstraksje dat net beskikber is yn standert SQL. Queries yn Logica wurde programmearre yn 'e foarm fan in set logyske útspraken. Unterstützt modules, ymporten, en de mooglikheid om Logica te brûken fan 'e ynteraktive Jupyter Notebook-shell. Om bygelyks in gearfetting te generearjen fan 'e minsken dy't it meast yn it nijs foar 2020 neamd wurde, kinne jo it folgjende Logica-programma brûke om tagong te krijen ta de GDLT-database: @OrderBy(Mentions, "mentions desc"); @Limit(Mannen, 10); Mentions(persoan:, neamt? += 1) distinct:- gdelt-bq.gdeltv2.gkg(persoanen:, datum:), Substr(ToString(datum), 0, 4) == “2020”, the_persons == Split (persoanen, ";"), persoan yn 'e_personen; $ logica mentions.l run Mentions +—————-+——————-+ | persoan | mentions_count | +—————-+—————-+ | donald tromp | 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 | +—————-+—————-+

It skriuwen fan komplekse queries yn SQL liedt ta de needsaak om omslachtige multi-line keatlingen te skriuwen dy't net fanselssprekkend binne om te begripen, ynterferearje mei it wergebrûk fan dielen fan 'e query en komplisearje ûnderhâld. Foar typyske repetitive berekkeningen kin SQL werjeften en funksjes brûke, mar se stypje gjin ymportoperaasjes en jouwe gjin fleksibiliteit fan talen op heech nivo (jo kinne bygelyks in funksje net trochjaan oan in funksje). Logica lit jo programma's komponearje út lytse, begryplike en werbrûkbere logyske blokken dy't kinne wurde hifke, ferbûn mei spesifike nammen, en groepeare yn pakketten dy't brûkt wurde kinne as ûnderdiel fan oare projekten.

Boarne: opennet.ru

Add a comment