Hatena::Groupweb

vantguarde

 | 

4.17

SPARQLメモとFOAF

| 16:40

引き続きSPARQLのお勉強。今日は名前を抜き出してみます。

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT ?name
WHERE {
  ?p a foaf:Person ;
    foaf:name ?name ;
}
ORDER BY ?name

ORDER BYは続く変数で結果をソートする為のキーワード。

で、こう帰ってくる。

<sparql ...>

  <head>
    <variable name="name"/>
  </head>

  <results>

    <result>
      <binding name="name">
        <literal>Another Friend</literal>
      </binding>
    </result>

    <result>
      <binding name="name">
        <literal>My Friend</literal>
      </binding>
    </result>

    <result>
      <binding name="name">
        <literal>vant</literal>
      </binding>
    </result>

  </results>
</sparql>

はい、3つでてきました。元のFOAFにはぼく、My Friend, Another Friendの3人の情報(名前)があるので、3つ帰ってきます。

では、「あるFOAFファイルがあって、そのメインとなる人」の情報のみを返したい場合どうするか?

おとといのFOAFを見るに、どうやら僕がその人らしい。ただ、あのFOAFでは「僕のFOAF」だと確実にいうことが出来ないんです。もしかしたらMy Friendがメインかもしれないし、Another Friendがメインかもしれない。

これはFOAFにおいて、個人の情報とそれを記述したファイルとの間につながりがないことで引き起こされる問題です。

 | 
Contact: @vant / lepetitcroissant@gmail.com.