HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ИНФО > Мировые новости. Обсуждения.
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 14.04.2021, 00:39
Suicide
Познавший АНТИЧАТ
Регистрация: 24.04.2009
Сообщений: 1,730
С нами: 8973026

Репутация: 3256


По умолчанию

Компания 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 позволяет компоновать программы из небольших, понятных и доступных для повторного использования логических блоков, которые могут быть протестированы, связаны с определёнными именами и сгруппированы в пакеты, доступные для использования в составе других проектов.

 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.