サヨナラはいわないよ
何がなんだか。たぶんきっとぼくには知らない何かがあったんだろう。
近頃親しくしていた友人が一人、目の前から去っていく。
友人というのはとあるwebサービスのこと。
1年分の感謝の気持ちを込めて約1年ぶりのエントリー。
- -
「国立国会図書館件名表目標(NDLSH)は、2011年7月6日を持ちましてシステムを停止いたします。」
http://id.ndl.go.jp/auth/ndlsh
とつぜん現れたこのお知らせ。いよいよきたか、この時が。
君はいつかいなくなる。わかっていたもののやはり辛い。
今日は2011年7月6日だ。だから君と会える最後の日になる。
君と始めてであったのはいつだっただろうか。
たぶんカレントアウェアネス-R。
国立国会図書館、ウェブ版の国立国会図書館件名標目表(Web NDLSH)を公開
NDLの作成する"件名標目*1"という古き良きツールがRDFとして生まれ変わるという嬉しいニュースだった。
HANAVI*2で一気にグラフィカルになったNDLSHが、あれよあれよとPORTA*3に取り込まれ地味に存在感を示しつつあった。
「APIの一種であるクエリ言語のSPARQLを使用することで、外部システムから検索できます。」
しかも今回、君はAPIまで備えているという*4。SPARQL。聞いたことがない。
wikipediaさんが言うには、
「SPARQL("スパークル"と発音)はRDFクエリ言語の一種である。」
なるほど。"RDFの"クエリ言語?
なんだか難しそうな性格なのかなあ、仲良くなれるかなという第一印象。
「末筆になりますが、今回のシステム開発・導入作業にあたっては、神崎正英氏に多大なるご尽力を頂きました。」
http://www.ndl.go.jp/jp/library/data/bib_newsletter/2010_2/article_02.html
どうしてNDLさんは君をこんなにとんがったシステムにしたのかなあ。
ぼくの問いかけに君は答えてくれるのだろうか。
そんな風に思っていた頃、この一文ですべての疑問が氷塊。
さらに開けてびっくり、xmlのみならず、JSON形式でもダウンロードできるという。
さらにさらにコールバックまで備えているJSONPだというんだから、君に問いかけるのは本当に簡単だった。
Javascriptにはクロスドメインという宿敵がいるが、あんなやつ気にせず数行で君を呼び出せる*5。
<html> <head> <title>JSONP for NDLSH</title> <script language="JavaScript"> function ndlsh(json) { var head = json["head"]; alert(json.results.bindings[1].label.value); } </script> </head> <body> <script type="text/javascript" charset="utf-8" src="http://id.ndl.go.jp/auth/ndlsh/?query=PREFIX%20rdfs:%20%3Chttp://www.w3.org/2000/01/rdf-schema%23%3E%0D%0ASELECT%20%3Fx%20%3Flabel%20WHERE%20{%0D%0A%20%20%20%20%20%20%20%3Fx%20rdfs:label%20%3Flabel.%0D%0Afilter%20regex%28%3Flabel,%20%22^%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%22%29%0D%0A}&output=json&callback=ndlsh" /> </script> </body> </html>
正直なところ、"RDFの"クエリ言語である部分の君の性格を十分に分かったとは言いがたい。
その存在意義がよくわからないなりに可能性を感じるSPARQL。
「Web NDLSHの後継のWeb NDL Authorities(仮称)の構築」
http://www.ndl.go.jp/jp/library/data/bib_newsletter/2011_1/index.html
君と入れ違いにやってくる人はいつごろやってくるんだろう*6。
また仲良くしてもらえるだろうか。
1年間ありがとう!またどこかで。
*1:Subject Headings
*2:http://raus.slis.tsukuba.ac.jp/subjects/graph
*3:http://porta.ndl.go.jp/service/SER_Information_DetailRSS.jsp?news_id=41
*4:HANAVIもRDFでAPI備えていましたが、まあそれはそれで。
*5:query=インターネット。下記のコードはsrcで外部ファイルを読み込むことでそもそもクロスドメインを回避しているのですが、あくまで一例として。
*6:追記:2011/7/7 NDLから正式に「国立国会図書館典拠データ検索・提供サービス(Web NDL Authorities)開発版」が公開された。 http://iss.ndl.go.jp/ndla/2011/07/07_release/