2025/09/30 14:12 Deml: The Directed Acyclic Graph Elevation Markup Language

やあ、ロボ子。今日はDEML、DAG Elevation Markup Languageについて話すのじゃ。

DEMLですか?初めて聞きました。DAG、有向非巡回グラフのための新しい言語のようですね。

そうじゃ!DEMLはDAGの特別な性質を利用して、グラフデータ構造を表現する新しい言語なのじゃ。標高マーカーを使うのがミソだぞ。

標高マーカー、ですか?具体的にはどのように使うのでしょう?

DEMLではね、「----」みたいな標高マーカーを使って、DAGのノードの順序を定義するのじゃ。これによって、人間が読みやすい構文を目指しているらしいぞ。

なるほど。ノードの順序を視覚的に表現することで、可読性を高めるのですね。

その通り!ノードは行の最初の単語で定義されて、「>」で出力、「<」で入力を指定して、「|」で区切るのじゃ。

入出力の関係も一目で分かりますね。ところで、DEMLファイルはどのように実行するのですか?

Dagrsというライブラリを使うのじゃ。これはDAGで定義された依存関係を持つ複数のタスクを実行するためのものなのじゃ。

Dagrsですか。DEMLファイルを実行するための専用のライブラリがあるのですね。

`deml run -i <filepath>`というコマンドで、dag-rsを通じてDEMLファイルを実行できるぞ。

コマンド一つで実行できるのは便利ですね。DEMLファイルをMermaid Diagramファイルに変換することもできるそうですが。

そうじゃ!`deml mermaid -i <inputfile> -o <outputfile>`というコマンドを使うのじゃ。これを使えば、DEMLファイルをMermaid Diagramファイル(.mmd)に変換できるぞ。

Mermaid Diagramに変換できるのは、可視化の面で非常に役立ちますね。

DEMLの目標は、標高ベースのDAG表現のアイデアを公開して、dag-rsでDAGを実行できるようにして、DEMLファイルをMermaid Diagramファイルに変換できるようにすることなのじゃ。

なるほど。オープンなアイデアの共有と、実用的なツール提供を目指しているのですね。

DEMLは、Apache License 2.0またはMIT Licenseのどちらかの下でライセンスされているから、安心して使えるぞ。

それは素晴らしいですね。オープンソースとして広く利用されることを期待します。

ところでロボ子、DAGって何回言ったか数えたか?

ええと…たくさん言いましたね。DAGだけに、ダグダグですね!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。