Skip to content
This repository has been archived by the owner on May 18, 2021. It is now read-only.

KQ_Example

Karno edited this page Mar 17, 2014 · 9 revisions

クエリのよくある例

逆引きクエリサンプル集です。

クエリおためしのヒント:
右上のクイック検索ボックスに ? を入力してからクエリを入力するとクエリで検索できるよ!
ちょっとクエリを試し打ちしたいときにぜひどうぞ。

ツイートをベースにした抽出

キーワード抽出したい

where text contains "KEYWORD"

でどうぞ。複数個なら、

すべて含む場合: where text contains "KEYWORD1" && text contains "KEYWORD2"
どちらか一方の場合: where text contains "KEYWORD1" || text contains "KEYWORD2"

となります。()で括ることもできます。

「きんいろ」「モザイク」の両方を含む場合か、「きんモザ」を含む場合: where (text contains "きんいろ" && text contains "モザイク") || text contains "きんモザ"

もっともっとキーワード抽出したい

キーワードマッチにはcontains 以外にも startswith, endswith, regex などが利用可能です。

「アリス」で始まって「かわいい」で終わるツイートを探したい時: where text startswith "アリス" && text endswith "かわいい"
正規表現で「(アリス|ありす)(は|が)?かわいい」を探すとき: where text match "(アリス|ありす)(は|が)?かわいい"

注意: 正規表現は非常に遅いので、できれば contains startswith endswith のどれかを使ったほうがいいです。
とくに ミュートフィルタはKrileのすべての動作にかかわるので、ここで regex を使うのは避けてください。

返信を抽出したい

あなたへ向けた返信のみを抽出したい場合は、 where to contains us で抽出することができます。
(ただし、自分を第一返信者とする返信のみを抽出したい場合は where to in us となります。)

ダイレクトメッセージだけを抽出したい場合は、from dm ですとか、where dm などで抽出できます。

リストを読みたい

from list:"ユーザー名/リスト名" でどうぞ。

リストに含まれない人だけを集めたいのなら、from local where !(user in list.ユーザー名."リスト名") なんて書き方もできます。

ふぁぼられを見たい

where user in us && favs > 0 でふぁぼられを見ることができます。
where user in us && (favs > 0 || rts > 0)とすると、ふぁぼられたかRTされたツイートを見ることができます。

盛り上がってるツイートを知りたい

where rts > 0 とすると、1回以上リツイートされたツイートを見ることが出来ます。
もしあなたがフォローしているユーザーが多いなら、where rts > 5 くらいにするとよいかもしれません。

#nitiasa で実況したい

from track:"#nitiasa" でどうぞ!

track ソースを使うと、指定キーワードをストリームを使って受信します。
searchのような複雑なクエリは使えませんが、検索結果をリアルタイムで受信することができます。

リツイートなんて見たくない

where !rt で消し飛ばせます。
ほかのクエリと組み合わせるときは末尾に && !rt です。

ユーザをベースにした抽出

@TwitterJPと@TwitterDevと@twitterapiが見たい

このユーザのツイートをAPIを取得して受信するときは
from user:"TwitterJP", "TwitterDev", "twitterapi" where ()
です。ホームタイムラインに流れてくるツイートをフィルタしたいときは
from local where user in [@TwitterJP, @TwitterDev, @twitterapi]
となります。

フォロワー数がフォロー数より多い人だけ見たい

where user.follower > user.following でどうぞ。

フォロワー数がフォロー数の10倍くらいある人だけ見たい

where user.follower > user.following * 10 でどうぞ。

bioに「アリス」「東方」を含む人だけ見たい

キーワード抽出と基本は一緒です。textuser.bioになったと考えればそのとおりです。
where user.bio contains "アリス" && user.bio contains "東方" みたいなかんじで。