問合せモジュールは,Bokehモデル集合において指定された条件を満たす事例を探索する機能を提供する.
EQ
述語は属性値がある値に等しいかどうかをテストする.
構造と EQ 述語は辞書として使う EQ キーワードとして比較する値とする.
# matches any models with .size == 10 dict(size={ EQ: 10 })
GEQ
属性値がある値以上であるかどうかをテストするための述語.
構造と GEQ 述語は辞書として使う GEQ キーワードとして比較する値とする.
# matches any models with .size >= 10 dict(size={ GEQ: 10 })
GT
属性値がある値より大きいかどうかをテストするための述語.
構造と GT 述語は辞書として使う GT キーワードとして比較する値とする.
# matches any models with .size > 10 dict(size={ GT: 10 })
IN
述語は属性値がある集合にあるかどうかをテストする.
構造と IN 述語は辞書として使う IN キーワードとして,および検査する値リスト.
# matches any models with .name in ['a', 'mycircle', 'myline'] dict(name={ IN: ['a', 'mycircle', 'myline'] })
LEQ
属性値がある値以下であるかどうかをテストするための述語.
構造と LEQ 述語は辞書として使う LEQ キーワードとして比較する値とする.
# matches any models with .size <= 10 dict(size={ LEQ: 10 })
LT
述語は属性値がある値より小さいかどうかをテストする.
構造と LT 述語は辞書として使う LT キーワードとして比較する値とする.
# matches any models with .size < 10 dict(size={ LT: 10 })
NEQ
述語は属性値がある値に等しくないかどうかをテストする.
構造と NEQ 述語は辞書として使う NEQ キーワードとして比較する値とする.
# matches any models with .size != 10 dict(size={ NEQ: 10 })
OR
他のクエリ述語との選言を形成する.
構造1つ OR …を使うことで辞書を作って表現する OR キーとして,他のクエリーリストを値とする:
# matches any Axis subclasses or models with .name == "mycircle" { OR: [dict(type=Axis), dict(name="mycircle")] }
find
Bokehモデル集合を調べ,aセレクタにマッチする任意のモデルを生成する.
obj (Model) -- テストの対象
selector (JSON-like) -- 問い合わせセレクタ
context (dict) -- 呼び出し可能なクエリ属性を提供するためのKwargs
模型 --クエリに一致するオブジェクト
クエリは、MongoDBスタイルクエリセレクタと同様のセレクタとして指定される。 match() それがそうです。
match()
サンプル
# find all objects with type Grid find(p.references(), {'type': Grid}) # find all objects with type Grid or Axis find(p.references(), {OR: [ {'type': Grid}, {'type': Axis} ]}) # same query, using IN operator find(p.references(), {'type': {IN: [Grid, Axis]}}) # find all plot objects on the 'left' layout of the Plot # here layout is a method that takes a plot as context find(p.references(), {'layout': 'left'}, {'plot': p})
match
所与のBokehモデルが所与のセレクタに一致するかどうかをテストする。
対象がマッチすればTrue,そうでなければFalseとなる.
bool
一般に、セレクタの形式は、以下のようになる。
{ attrname : predicate }
Where a predicate is constructed from the operators EQ, GT, etc. and is used to compare against values of model attributes named attrname.
attrname
例:
>>> from bokeh.plotting import figure >>> p = figure(plot_width=400) >>> match(p, {'plot_width': {EQ: 400}}) True >>> match(p, {'plot_width': {GT: 500}}) False
特別処理の選択キーが2つあります。1つ目は“type”でisinstanceチェックを実行します
>>> from bokeh.plotting import figure >>> from bokeh.models import Axis >>> p = figure() >>> match(p.xaxis[0], {'type': Axis}) True >>> match(p.title, {'type': Axis}) False
一つもあります 'tags' 属性、その属性 Model オブジェクトは,これがユーザが提供する値のリストである.♪the 'tags' セレクタキーは、このタグリストを問い合わせるために使用されてもよい。セレクタ内の任意のラベルがオブジェクト上の任意のラベルと一致する場合、オブジェクトは一致する:
'tags'
Model
>>> from bokeh.plotting import figure >>> p = figure(tags = ["my plot", 10]) >>> match(p, {'tags': "my plot"}) True >>> match(p, {'tags': ["my plot", 10]}) True >>> match(p, {'tags': ["foo"]}) False