Hercules version 0.05リリース
Herculesのversion 0.05を公開しました。変更点は以下の通りです。
- 制約入り検索を実行できる文脈が増えた
- リテラルとURIのどちらでも渡せる文脈での記法を変更
- OR制約入り検索が可能になった
- クエリ文字列による検索が可能になった
// foaf:name が "Tim" のリソース
var results = e.findAll({"foaf:name": "Tim"});
// foaf:homepage が URI <http://example.com/alice/> かつ、foaf:nameが "Alice" のリソース
var results = e.findAll({"foaf:homepage": e.uri("<http://example.com/alice/>"), "foaf:name": "Alice"});
// foaf:homepage が URI <http://example.com/alice/> もしくは、foaf:nameが "Bob" のリソース
var results = e.findAll({RULE: OR, "foaf:name": "Bob", "foaf:homepage": e.uri("<http://example.com/alice/>")});
// foaf:nameが "Bob" もしくは "Alice"の リソース
var results = e.findAll({"foaf:name": ["Bob", "Alice"]});
// ORの複合
var results = e.findAll({RULE: OR, "foaf:name": ["Bob", "Tim"], "foaf:homepage": e.uri("<http://example.com/alice/>")});
// クエリ文字列での検索(Prefixは自動で付加される)
var results = e.findAllByQueryString("SELECT ?person WHERE {?person a foaf:Person}");
results[0]["person"].load();
必要な機能は大体実装できてきた感じ。あとは述語に対応したメソッドの定義を保証する手段とエラーハンドリングかな。