Google har publicerat det logiska programmeringssprÄket Logica

Google har introducerat ett nytt deklarativt logiskt programmeringssprÄk, Logica, som Àr utformat för att manipulera data och översÀtter program till SQL-sprÄket. Det nya sprÄket riktar sig till de som vill anvÀnda syntaxen för logisk programmering nÀr de skriver databassökningar. För nÀrvarande kan den resulterande SQL-koden köras i Google BigQuery-lagringen eller i databashanteringssystemen PostgreSQL och SQLite, vars stöd fortfarande Àr i experimentellt stadium. I framtiden planeras det att utöka antalet stödda SQL-dialekter. Projektkoden Àr skriven i Python och publicerad under Apache 2.0-licensen.

Logica fortsĂ€tter utvecklingen av ett annat databehandlingssprĂ„k som utvecklats av Google, Yedalog, och erbjuder en abstraktionsnivĂ„ som inte finns i vanlig SQL. FörfrĂ„gningar i Logica programmeras i form av en uppsĂ€ttning logiska pĂ„stĂ„enden. Moduler, importoperationer och möjlighet att anvĂ€nda Logica frĂ„n den interaktiva Jupyter Notebook-miljön stöds. Till exempel, för att sammanstĂ€lla en lista över personer som oftast nĂ€mns i nyheterna under 2020, kan följande programkod i Logica anvĂ€ndas för att frĂ„ga databasen GDELT: @OrderBy(Mentions, "mentions desc"); @Limit(Mentions, 10); Mentions(person:, mentions? += 1) distinct :- gdelt-bq.gdeltv2.gkg(persons:, date:), Substr(ToString(date), 0, 4) == "2020", the_persons == Split(persons, ";"), person in the_persons; $ logica mentions.l run Mentions +—————-+—————-+ | person | 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 | +—————-+—————-+

Att skriva komplexa SQL-frÄgor leder till behovet av att skapa otydliga, fler-radiga kedjor, som Àr svÄra att förstÄ, hindrar ÄteranvÀndning av delar av frÄgan och försvÄrar underhÄll. För typiska, upprepade berÀkningar i SQL kan vyer och funktioner anvÀndas, men de stödjer inte importoperationer och tillhandahÄller inte den flexibilitet som Àr typisk för hög nivÄ sprÄk (till exempel, det Àr omöjligt att överföra en funktion till en annan funktion). Logica möjliggör komposition av program frÄn smÄ, tydliga och lÀtta att ÄteranvÀnda logiska block som kan testas, kopplas till specifika namn och grupperas i paket tillgÀngliga för anvÀndning i andra projekt.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster