とりあえず、今できたところまでの分を書きました。今回はドキュメントをきちんと書こうと思います。
日本語で書いてもほとんど誰も読んでくれないので、英語で書いて#SWIGで反応をうかがおうと思います。結構しんどいですが。変な英語があっても許してください。
ところで、Herculesの読みは「ハーキュリーズ」です。MIM-3の次はMIM-14という訳です。なんのこっちゃ。
Herculesのversion 0.04を公開しました。変更点配下の通りです。
出来る限り、表記を楽にかけるように工夫しました。とりあえず、AND検索ができます。
// 述語 foaf:name の目的語がリテラル "Tim"であるリソースを全て選択
var results = e.findAll({foaf$name: "Tim"});
alert(results[0].foaf$name().$());
// 述語 foaf:homepage の目的語がURI参照 <http://example.com/alice/>であり、
// かつ、述語 foaf:name の目的語がリテラル "Alice"であるリソースを全て選択
var results = e.findAll({foaf$homepage: ["http://example.com/alice/"], foaf$name: "Alice"});
リテラルとURIの見分けが付かないので、URIは配列として渡す事にしました。<>と見た目がちょっと似てるってことで採用しましたけど、ちょっと微妙かもしれません。