- 演習には「templete」フォルダにあるコードを利用すること
- 回答例は「こちら」を参照
演習課題2-4で作成したプログラム(Ex2-4.html)を利用してSPARQLクエリ
SELECT ?s ?sLabel
WHERE{
?s ?p "#INPUT#"@ja.
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja". }
}
の#INPUT#
を,
大阪府
京都府
兵庫県
のような1行ごとに1単語を記入したテキストに置き換えて,連続で実行するプログラムを作成しなさい.【Ex4-1.htmlとする】
- ヒント:入力したデータ(単語のリスト)を「単語ごとに分割」するには,split関数を使うとよい(参考)
→「改行コード(\n)」を区切りとして分割すればよい. - ヒント:SPARQLクエリを「リストにある単語の数」だけ繰り返す.結果を表示する際に,前までのクエリの結果に「追記する」必要があるので注意.
演習課題4-1で作成したプログラム(Ex4-1.html)を改良してSPARQLクエリ
select DISTINCT ?s ?sLabel ?o ?oLabel
{
?s rdfs:label|skos:altLabel "#INPUT#"@ja.
?s ?p ?o.
?prop wikibase:directClaim ?p .
?prop rdfs:label|skos:altLabel "#PROP#"@ja.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],ja,en". }
}
の#INPUT#
と#PROP#
を,
君の名は。,監督
ドラゴンボール,登場人物
天気の子,声優
大阪電気通信大学,所在地
寝屋川市,人口
のような1行ごとにカンマ区切りで記入したテキストに置き換えて,連続で実行するプログラムを作成しなさい.【Ex4-2.htmlとする】
- ヒント:split関数による分割を,複数回,組み合わせて用いる.