Google Logica логикалық бағдарламалау тілін шығарады

Google деректерді өңдеуге және бағдарламаларды SQL тіліне аударуға арналған Logica атты жаңа декларативті логикалық бағдарламалау тілін енгізді. Жаңа тіл дерекқорға сұраныстарды жазу кезінде логикалық бағдарламалау синтаксисін пайдаланғысы келетіндерге арналған. Қазіргі уақытта алынған SQL кодын Google BigQuery жадында немесе PostgreSQL және SQLite ДҚБЖ-да орындауға болады, оларды қолдау әлі де эксперименттік болып табылады. Болашақта қолдау көрсетілетін SQL диалектілерінің санын кеңейту жоспарлануда. Жоба коды Python тілінде жазылған және Apache 2.0 лицензиясы бойынша жарияланған.

Logica басқа Google әзірлеген деректерді өңдеу тілі Yedalog тілін дамытуды жалғастырады және стандартты SQL-де жоқ абстракция деңгейін қамтамасыз етеді. Logica-дағы сұраныстар логикалық мәлімдемелер жиыны түрінде бағдарламаланады. Интерактивті Jupyter Notebook қабығынан модульдерді, импорттауды және Logica пайдалану мүмкіндігін қолдайды. Мысалы, 2020 жылғы жаңалықтарда ең жиі айтылған адамдар туралы қысқаша мәліметті жасау үшін GDELT дерекқорына кіру үшін келесі Logica бағдарламасын пайдалануға болады: @OrderBy(Ескертулер, “ескертулер азайту”); @Limit(Ескертулер, 10); Ескертулер(адам:, ескертеді? += 1) ерекше :- gdelt-bq.gdeltv2.gkg(адамдар:, дата:), Substr(ToString(күн), 0, 4) == “2020”, the_persons == Бөліну (адамдар, ";"), тұлғалардағы адам; $ logica mentions.l іске қосу Ескертулер +—————-+—————-+ | адам | ескертулер_саны | +—————-+——————-+ | Дональд Трамп | 3077130 | | Лос-Анджелес | 1078412 | | Джо байден | 1054827 | | Джордж Флойд | 872919 | | Борис Джонсон | 674786 | | Барак Обама | 438181 | | Владимир Путин | 410587 | | Берни Сандерс | 387383 | | Эндрю Куомо | 345462 | | лас-Вегас | 325487 | +—————-+—————-+

SQL-де күрделі сұрауларды жазу түсініксіз, сұрау бөліктерін қайта пайдалануға кедергі келтіретін және техникалық қызмет көрсетуді қиындататын ауыр көп жолды тізбектерді жазу қажеттілігіне әкеледі. Әдеттегі қайталанатын есептеулер үшін SQL көріністер мен функцияларды пайдалана алады, бірақ олар импорттау операцияларын қолдамайды және жоғары деңгейлі тілдердің икемділігін қамтамасыз етпейді (мысалы, функцияны функцияға бере алмайсыз). Логика шағын, түсінікті және қайта пайдалануға болатын логикалық блоктардан бағдарламалар құруға мүмкіндік береді, оларды тексеруге, белгілі бір атаулармен байланыстыруға және басқа жобалардың бөлігі ретінде пайдалануға болатын пакеттерге топтастыруға болады.

Ақпарат көзі: opennet.ru

пікір қалдыру