Linked Dataの基盤技術となるRDFへ問い合わせを行う言語、SPARQLには様々な関数が用意されています。今回は使用頻度も高いと思われるSTR関数をご紹介いたします。
STR関数とはダブルコーテーションや言語タグを除いて、純粋な文字列だけを取得するための関数です。
STR関数は以下のように使用します。
(STR(元の変数名) as 純粋な文字列を取得した値を格納する変数名)
実際の使用方法は以下となります。
まずは日本語版DBpediaのSPARQL例にある"全国の地域限定"ゆるキャラ"のサンプルクエリを実行してみます。使用クエリと結果は以下のようになります。
<SPQRQLクエリ>
SELECT DISTINCT ?mascot ?name
WHERE {
?areamascots skos:broader <http://ja.dbpedia.org/resource/Category:地域限定のマスコット> ;
rdfs:label ?areaname .
?mascot dbpedia-owl:wikiPageWikiLink ?areamascots ;
rdfs:label ?name.
}
<実行結果>
ご覧の通り、"name"で表されるrdfs:labelにはダブルコーテーションと@jaという言語タグが表示されています。
ではSTR関数を使用してみましょう。
<SPQRQLクエリ>
SELECT DISTINCT ?mascot (STR(?name) as ?name_str) #nameを純粋な文字列として取得
WHERE {
?areamascots skos:broader <http://ja.dbpedia.org/resource/Category:地域限定のマスコット> ;
rdfs:label ?areaname .
?mascot dbpedia-owl:wikiPageWikiLink ?areamascots ;
rdfs:label ?name.
}
<実行結果>
このようにSPARQLエンドポイントからデータを取得する際に文字列だけ欲しい場合はSTR()を使用して不要な部分は除くことができます。
BI LAB(データ活用研究所)編集室です。 BI、AI、DWHなどデータ活用に関するトレンドやニュースやコラムをほぼ毎日配信しています。押さえておきたい基本知識から、最新ニュース、事例インタビューやお役立ち情報・セミナーレポートまで、データ活用の専門家ならではの視点と情報量でお届けします。
こんにちは、donutです。
気が付けば10月も終盤となりました。早いものですね...朝晩の冷え込みも多くなりつつあるので寒暖差や体調管理には気を付けたいところです。...