title: tutorial2

JenaCheckをエージェントとして利用する
========================================

* 実行方法について少し詳しく。
* とりあえず前向き推論でループの処理などの例。

ルール

    @prefix : <http://test.org/> .
    (:a :b ?x), le(?x,10), sum(?x,1,?y) -> print(?x), (:a :b ?y), remove(0) .

N3

    @prefix : <http://test.org/> .
    :a :b 1 .

* いちおう後向き推論の例
* Timerの使い方

a3ビルトイン
----------------------------------------

* a3new(a3のkey,a3のURL)
* a3setVisible(a3のkey,0か1)
* a3change(a3のkey,アクションナンバー)
* a3print(a3のkey,'文字列')
* a3read(a3のkey,?x)
* a3yesno(a3のkey,?x)

例

    @prefix : <http://test.org/> .
    -> (:a :b :c) .
    (:a :b :c) -> a3new(:w,'x-res:///jp/ac/do_johodai/j314/sw/jc/vesma9.a3'),
                  a3setVisible(:w,1),
                  a3change(:w,1),
                  a3print(:w,'hello'),
                  a3yesno(:w,?y),
                  a3print(:w,?y),
                  a3read(:w,?z),
                  a3print(:w,?z) .

LIST関係のビルトイン
----------------------------------------

[list.mm](./list.mm)

形態素解析のビルトイン
----------------------------------------

[keitaiso.mm](./keitaiso.mm)

その他のビルトイン
----------------------------------------

* rand_int(1,10,?x)
* read(?x)
* send_n3('http://webservice.com/endpoint',S,P,O[,S,P,O,…])
* bind(?x,値)
* startsWith('abcdefg','abc') -> true
* endsWith('abcdefg','efgg') -> false
* notStartsWith('abcdefg','abc') -> false
* notEndsWith('abcdefg','efgg') -> true

