Hercules version 0.05リリース

Herculesのversion 0.05を公開しました。変更点は以下の通りです。

// 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();

必要な機能は大体実装できてきた感じ。あとは述語に対応したメソッドの定義を保証する手段とエラーハンドリングかな。