Nag-publish ang Google ng logic programming language na Logica

Ipinakilala ng Google ang isang bagong declarative logic programming language, Logica, na idinisenyo para sa pagmamanipula ng data at pagsasalin ng mga programa sa SQL. Ang bagong wika ay naglalayong sa mga gustong gumamit ng logic programming syntax kapag nagsusulat ng mga query sa database. Sa kasalukuyan, ang magreresultang SQL code ay maaaring isagawa sa Google BigQuery storage o sa PostgreSQL at SQLite DBMSs, ang suporta kung saan ay eksperimental pa rin. Sa hinaharap, pinlano na palawakin ang bilang ng mga sinusuportahang dialect ng SQL. Ang code ng proyekto ay nakasulat sa Python at nai-publish sa ilalim ng lisensya ng Apache 2.0.

Ipinagpapatuloy ng Logica ang pagbuo ng isa pang wika sa pagpoproseso ng data na binuo ng Google, ang Yedalog, at nagbibigay ng antas ng abstraction na hindi available sa karaniwang SQL. Ang mga query sa Logica ay naka-program sa anyo ng isang hanay ng mga lohikal na pahayag. Sinusuportahan ang mga module, pag-import, at ang kakayahang gumamit ng Logica mula sa interactive na Jupyter Notebook shell. Halimbawa, para makabuo ng buod ng mga taong pinakamadalas na binabanggit sa balita para sa 2020, maaari mong gamitin ang sumusunod na Logica program para ma-access ang GDELT database: @OrderBy(Mga pagbanggit, β€œmentions desc”); @Limit(Mga Pagbanggit, 10); Mga pagbanggit(tao:, binabanggit? += 1) naiiba :- gdelt-bq.gdeltv2.gkg(tao:, petsa:), Substr(ToString(petsa), 0, 4) == β€œ2020”, the_persons == Split (persons, ";"), person in the_persons; $ logica mentions.l run Mentions +β€”β€”β€”β€”β€”-+β€”β€”β€”β€”β€”-+ | tao | mentions_count | +β€”β€”β€”β€”β€”-+β€”β€”β€”β€”β€”-+ | 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 | +β€”β€”β€”β€”β€”-+β€”β€”β€”β€”β€”-+

Ang pagsulat ng mga kumplikadong query sa SQL ay humahantong sa pangangailangan na magsulat ng masalimuot na mga multi-line na kadena na hindi halatang maunawaan, makagambala sa muling paggamit ng mga bahagi ng query, at gawing kumplikado ang pagpapanatili. Para sa mga tipikal na paulit-ulit na kalkulasyon, maaaring gumamit ang SQL ng mga view at function, ngunit hindi nila sinusuportahan ang mga pagpapatakbo ng pag-import at hindi nagbibigay ng flexibility ng mga high-level na wika (halimbawa, hindi mo maipapasa ang isang function sa isang function). Binibigyang-daan ka ng Logica na bumuo ng mga programa mula sa maliliit, nauunawaan, at magagamit muli na mga lohikal na bloke na maaaring masuri, nauugnay sa mga partikular na pangalan, at nakapangkat sa mga pakete na maaaring magamit bilang bahagi ng iba pang mga proyekto.

Pinagmulan: opennet.ru

Magdagdag ng komento