Googleが論理プログラミング言語Logicaを公開

Google は、データ操作とプログラムの SQL への変換のために設計された新しい宣言型ロジック プログラミング言語 Logica を導入しました。 この新しい言語は、データベース クエリを作成するときにロジック プログラミング構文を使用したい人を対象としています。 現在、結果として得られる SQL コードは、Google BigQuery ストレージ、または PostgreSQL および SQLite DBMS で実行できますが、これらのサポートはまだ実験段階です。 将来的には、サポートされる SQL 言語の数を拡大する予定です。 プロジェクト コードは Python で書かれており、Apache 2.0 ライセンスに基づいて公開されています。

Logica は、Google が開発した別のデータ処理言語である Yedalog の開発を継続し、標準 SQL では利用できないレベルの抽象化を提供します。 Logica のクエリは、一連の論理ステートメントの形式でプログラムされます。 モジュール、インポート、および対話型 Jupyter Notebook シェルから Logica を使用する機能をサポートします。 たとえば、2020 年のニュースで最も頻繁に言及された人物の概要を生成するには、次の Logica プログラムを使用して GDELT データベースにアクセスできます。 @Limit(メンション, 10); Mentions(person:, Mentions? += 1) Different :- gdelt-bq.gdeltv2.gkg(persons:, date:), Substr(ToString(date), 0, 4) == “2020”, the_persons == 分割(人、「;」)、the_persons 内の人; $logicamentions.l run メンション +——————-+——————-+ | 人 | メンション数 | +————-+——————-+ | ドナルド・トランプ | 3077130 | | ロサンゼルス | 1078412 | | ジョー・バイデン | 1054827 | | ジョージ・フロイド | 872919 | | ボリス・ジョンソン674786 | | バラク・オバマ438181 | | ウラジーミル・プーチン | 410587 | | バーニー・サンダース387383 | | アンドリュー・クオモ | 345462 | | ラスベガス | 325487 | +————--+——————-+

SQL で複雑なクエリを記述すると、わかりにくい複雑な複数行のチェーンを記述する必要が生じ、クエリの一部の再利用が妨げられ、メンテナンスが複雑になります。 一般的な反復計算の場合、SQL ではビューと関数を使用できますが、インポート操作はサポートされておらず、高級言語のような柔軟性もありません (たとえば、関数を関数に渡すことはできません)。 Logica を使用すると、小さくて理解しやすく再利用可能な論理ブロックからプログラムを構成し、テストしたり、特定の名前に関連付けたり、他のプロジェクトの一部として使用できるパッケージにグループ化したりできます。

出所: オープンネット.ru

コメントを追加します