Google veröffentlicht die Logik-Programmiersprache Logica

Google hat mit Logica eine neue deklarative Logik-Programmiersprache eingeführt, die für die Datenmanipulation und die Übersetzung von Programmen in SQL konzipiert ist. Die neue Sprache richtet sich an diejenigen, die beim Schreiben von Datenbankabfragen die logische Programmiersyntax verwenden möchten. Derzeit kann der resultierende SQL-Code im Google BigQuery-Speicher oder in PostgreSQL- und SQLite-DBMS ausgeführt werden, deren Unterstützung noch experimentell ist. Zukünftig ist geplant, die Anzahl der unterstützten SQL-Dialekte zu erweitern. Der Projektcode ist in Python geschrieben und unter der Apache 2.0-Lizenz veröffentlicht.

Logica setzt die Entwicklung einer anderen von Google entwickelten Datenverarbeitungssprache, Yedalog, fort und bietet eine Abstraktionsebene, die in Standard-SQL nicht verfügbar ist. Abfragen werden in Logica in Form einer Reihe logischer Anweisungen programmiert. Unterstützt Module, Importe und die Möglichkeit, Logica über die interaktive Jupyter Notebook-Shell zu verwenden. Um beispielsweise eine Zusammenfassung der in den Nachrichten für 2020 am häufigsten erwähnten Personen zu erstellen, können Sie mit dem folgenden Logica-Programm auf die GDELT-Datenbank zugreifen: @OrderBy(Mentions, „mentions desc“); @Limit(Erwähnungen, 10); Erwähnungen(Person:, Erwähnungen? += 1) eindeutig :- gdelt-bq.gdeltv2.gkg(Personen:, Datum:), Substr(ToString(Datum), 0, 4) == „2020“, the_persons == Split (Personen, „;“), Person in the_persons; $ Logica Mentions.l run Mentions +—————-+—————-+ | Person | Erwähnungen_Anzahl | +—————-+—————-+ | Donald Trump | 3077130 | | Los Angeles | 1078412 | | Joe Biden | 1054827 | | George Floyd | 872919 | | Boris Johnson | 674786 | | Barack Obama | 438181 | | Wladimir Putin | 410587 | | Bernie Sanders | 387383 | | Andrew Cuomo | 345462 | | Las Vegas | 325487 | +—————-+—————-+

Das Schreiben komplexer Abfragen in SQL führt dazu, dass umständliche mehrzeilige Ketten geschrieben werden müssen, die nicht offensichtlich zu verstehen sind, die Wiederverwendung von Teilen der Abfrage beeinträchtigen und die Wartung erschweren. Für typische sich wiederholende Berechnungen kann SQL Ansichten und Funktionen verwenden, diese unterstützen jedoch keine Importvorgänge und bieten nicht die Flexibilität von Hochsprachen (Sie können beispielsweise keine Funktion an eine Funktion übergeben). Mit Logica können Sie Programme aus kleinen, verständlichen und wiederverwendbaren logischen Blöcken zusammenstellen, die getestet, mit bestimmten Namen verknüpft und in Paketen gruppiert werden können, die als Teil anderer Projekte verwendet werden können.

Source: opennet.ru

Kommentar hinzufügen