同僚との話し合いの中で、ODataURLフィルターのメソッドeq trueの呼び出し後に追加する必要があるかどうかについて質問がありました。substringof
http://localhost/Collection/WorkItems()?$filter=substringof('crash',Title)
http://localhost/Collection/WorkItems()?$filter=substringof('crash',Title) eq true
現在、 2012年4月27日に改訂されたODataのABNFに相談しています。filter表現形式を見ると、 boolCommonExpr:が必要です。
filter = "$filter" [ WSP ] "=" [ WSP] boolCommonExpr
その選択肢の1つとしてboolCommonExprリスト。しかし、ABNFにはシンボルboolMethodCallExprの定義はありません!boolMethodCallExpr
だから、私はそれがABNFのバグであり、そこにリストされている正しい代替案がなければならないことを推測しています:boolMethodExprではありませんboolMethodCallExpr:
boolMethodExpr = endsWithMethodCallExpr /
startsWithMethodCallExpr /
substringOfMethodCallExpr /
intersectsMethodCallExpr /
anyMethodCallExpr /
allMethodCallExpr
この場合、メソッドの呼び出しは、URIに含まれていなくても(およびありながら)行われるsubstringofことが許可されています。eq trueeq true
私の理解は正しいですか?