Google ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» язык логичСского программирования Logica

Компания Google прСдставила Π½ΠΎΠ²Ρ‹ΠΉ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ язык логичСского программирования Logica, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для манипулирования Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² язык SQL. Новый язык ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ синтаксис логичСского программирования ΠΏΡ€ΠΈ написании запросов ΠΊ Π‘Π”. Π’ настоящСС врСмя Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ SQL-ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Google BigQuery ΠΈΠ»ΠΈ Π² Π‘Π£Π‘Π” PostgreSQL ΠΈ SQLite, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠΊΠ° являСтся ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ планируСтся Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ число ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… SQL-Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΎΠ². Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Python ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

Logica ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ Π² Google языка ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Yedalog ΠΈ прСдоставляСт ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции, нСдоступный Π² ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΌ SQL. Запросы Π² Logica ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π½Π°Π±ΠΎΡ€Π° логичСских ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Logica ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Jupyter Notebook. НапримСр, для формирования сводки пСрсон, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡ‹Ρ… Π² новостях Π·Π° 2020 Π³ΠΎΠ΄, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° языкС Logica для обращСния ΠΊ Π‘Π” 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 | +—————-+—————-+

НаписаниС слоТных запросов Π½Π° SQL ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСобходимости написания Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΡ… многострочных Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ, Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Ρ… для восприятия, ΠΌΠ΅ΡˆΠ°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌΡƒ использованию частСй запроса ΠΈ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‰ΠΈΡ… сопровоТдСниС. Для Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ вычислСний Π² SQL ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСдставлСния ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ гибкости, свойствСнной высокоуровнСвым языкам (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ). Logica позволяСт ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, понятных ΠΈ доступных для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования логичСских Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ протСстированы, связаны с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ сгруппированы Π² ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, доступныС для использования Π² составС Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru