Wiki

Clone wiki

Yukari for Android / Yukari Query

工事中です。 間に合わなかったし気力が尽きたってことです。
年内には…!
(2015.12.22)


Yukari Query Reference

本稿は、Yukari 1.2.1.257 準拠です。
これ以降の更新によって、新規文法の追加や既存文法の引数や動作仕様の変更、非推奨化、削除などが行われている可能性にご注意下さい。

Yukari Queryとは

Yukari Query (以下 YQ) は、ツイートに対してのフィルタリング条件などを記述するための命令文法です。
この文法に従って条件式を記述することで、対応している機能に従来より高い自由度を持った制御を行わせることが出来ます。

文法の参考元としては、SQL、Krile Query、Lispが挙げられますが、実装にあたって紆余曲折を経たこともありエッセンスが混在しているので、特にどの文法さえ知っていれば……といったことは無さそうです。

全体の構成

Yukari Queryは主にSQLに由来した2つの部位を持ちます。
必要の無い場合、各句の一切を省略することが出来、その場合はそれぞれデフォルトの式が書かれているものとして処理されます。
ここではそれぞれの役割のみを説明し、具体的に部位内に記述できる内容は別の章とします。

from (source, ...|*) where (S-Expression)

from 句

ツイートの取得元に着目し、フィルタを行います。
また、これによってREST APIを用いた手動更新の際に使用するAPIを決定します。

from 句のベースはKQです。知っている場合は少し習得しやすいかもしれません。

where 句

from 句によって取得・フィルタされたツイートに対して、表示を許可する条件を記述します。
主にこちらを凝って設定することになることになるでしょう。

where 句のベースはLispです。S式を用いて論理式を作成します。ただ、Common LispやEmacs Lispのような高度な機能は持ちあわせていません。ツイートにフィルタリングを行う条件が書ける最低限のものです。
現時点では四則演算すらも実装されていません。

各句のデフォルト

YQに一部あるいは全部の句が記述されていない場合、デフォルトの式が書かれているものとして処理を続行します。

from 句

from *

where 句

where (t)

Updated