Linked Dataのための研究者URIとコンテントネゴシエーション機構

Last update 2014-12-15

概要

次世代Webに備えて、Architecture of the World Wide Webや Cool URIsに示されるWebのアーキテクチャとセマンティックウェブに対応しています。すべての現実のオブジェクトはURIで表現されることになります。URIは、必要であればその対象の適切なドキュメントへ転送(dereference)されます。

研究者リゾルバーにおける研究者という概念は、明確に研究者のドキュメントと区別されないといけません。ここでは、研究者の概念を”研究者エンティティ”、研究者のドキュメントの概念を”ジェネリック研究者ドキュメント”と呼ぶことにします。これらを示すURIは適切に研究者リゾルバーによって処理されます。研究者URIはジェネリック研究者ドキュメントURIへ転送されます。ジェネリック研究者ドキュメントへのアクセスは、コンテントネゴシエーションの結果、適切な内容が返されます。

研究者URIとジェネリックドキュメント

下図は、研究者リゾルバーが研究者エンティティURIとジェネリック研究者ドキュメントをどのように処理しているかを示しています。

 

Researcher Name Resolver, URI 303 Redirection and Content Negotiation

 

研究者リゾルバーでは、研究者エンティティURIはプレフィックスのURL文字列とサフィックスの13桁の数字で構成されます。この13桁の数字は研究者リゾルバーIDと呼ばれ、登録されている研究者に割り当てられたものです。

たとえば、研究者リゾルバーIDが”1000012345678”であれば、研究者のURIは次のように表現されます。

 

http://rns.nii.ac.jp/nr/1000012345678

 

URIにアクセスすると、研究者リゾルバーは、リクエストをその研究者のジェネリック研究者ドキュメントへリダイレクトします。これは、"303リダイレクト"と”Cool URIs”では呼ばれています。同一の研究者リゾルバーIDでは、ジェネリック研究者ドキュメントのURIは次のように表されます。

 

http://rns.nii.ac.jp/d/nr/1000012345678

 

ジェネリック研究者ドキュメントURIが"Location"ヘッダに記述されて、”303 See Other”のステータスコードとともにHTTPのレスポンスを得ることになります。その後、ジェネリック研究者ドキュメントへアクセス可能になります。そして、研究者リゾルバーはリクエストに対してコンテントネゴシエーションします。現在の研究者リゾルバーは、3種類のフォーマット、すなわち、HTMLによる英語メニューの研究者リゾルバードキュメント、日本語メニューの研究者リゾルバードキュメント、RDF/XMLによるRDF研究者ドキュメントを用意しています。リクエスト時に、 "Accept"や"Accpet-Language" ヘッダをつけることで、ドキュメントフォーマットを指定できます。コンテントネゴシエーションの結果、研究者リゾルバーは"Content-Location"ヘッダにそのタイプのドキュメントのURIを格納して、適切なドキュメントを返します。これらのドキュメントタイプのURIは、ジェネリック研究者ドキュメントURIをプレフィックスとして、コンテントタイプに応じて、".en.html"、".ja.html"、".rdf"をサフィックスとして表現されています。

 

下図は、 "303リダイレクト"と "コンテントネゴシエーション"を行うシーケンスダイアグラムを示します。

 

Researcher Name Resolver URI Redirection Sequence

 

たとえば、研究者リゾルバーIDが"1000010332769"である研究者を知っている、すなわち、研究者エンティティURIが "http://rns.nii.ac.jp/nr/1000010332769"である研究者を知っていたら、次のようなUNIXコマンドで研究者リゾルバーの応答を確認できます。

 

$ curl -H "Accept: application/rdf+xml" -L -I "http://rns.nii.ac.jp/nr/1000010332769"

 

 

また、以下のコマンドでドキュメントを取得できるのを確認できます。

 

$ curl -H "Accept: application/rdf+xml" -L "http://rns.nii.ac.jp/nr/1000010332769"

 

RDFによって記述された研究者ドキュメントが概念的に示しているものは何か?

下図に示すように、RDF研究者ドキュメントは研究者の情報を記述しています。最初の図はRDFにおける研究者情報の一部を示しています。図では、円はURIを示しており、ボックスはリテラルを示しています。 "http://rns.nii.ac.jp/nr/1000012345678"は研究者URIを示し、RDFドキュメントにおける中心的な概念です。研究者URIは3つの観点から記述されています。すなわち、研究者名と所属(Researcher Name and Affiliation)、別名(Other Names)、識別子(Identities)です。研究者の名前は、"foaf:firstName"と"foaf:lastName"で記述されます。日本人の名前の場合は、姓と名が漢字で書かれ、また多くの場合、発音したヨミがあわせて記述されます。よって、ここでは付加的にヨミを記述します。研究者の所属機関名、部局名、職名もあわせて記述します。もしある研究者が研究論文に記述するなどの目的に別名を持っている場合は、RDFの空白ノードを介して、"owl:sameAs" を述語にして、別名を記述していきます。空白ノードは、"rns:Researcher" クラスをタイプとします。研究者の識別子もまた表現します。当然、研究者リゾルバーIDも識別子の一つです。その他の重要な識別子は科研費の研究者番号です。研究者リゾルバーIDが、登録研究者という意味で、多くの場合科研費のデータベースKAKENに依存しているからです。

 

 

RDF researcher document concept (Researcher Name)

 

 

研究者情報における別の重要な観点は、外部リンクです。次の図では、2種類の外部リンク、すなわち、ダイレクトリンクと検索リンクがあります。研究者がWeb上の外部のデータベースに自身のページを保持していたり、外部のサービスのURIを保持していたら、研究者のURIは"owl:sameAs" の述語でリンクされます。これらのリンクは、同じ人物のネットワークを構築します。一方で、検索リンクは同一の人物に完全に関係するという訳ではありませんが、便利であるとはいえるでしょう。さながら、多くの人がサーチエンジンで人を捜すようなものです。名前と所属の文字列は、この検索リンクに挿入されています。

 

 

RDF Researcher Document Description (External Links)

研究者ドキュメントのRDF/XMLフォーマット

以下のRDF/XMLのテキストは、すべての要素が入った例です。そういう意味で実在の例ではありませんが、説明する上で十分でしょう。

 

 

 

 

要素の記述は以下です。


Element (ordered in example) Description
rns:Researcher/@rdf:about
リソースが研究者リゾルバーにおける”Researcher”タイプであることの宣言
  dcterms:abstract
    rns:Document
研究者リゾルバーのドキュメントタイプ
      dcterms:title
このドキュメントのタイトル
      dcterms:hasFormat/@rdf:resource
研究者ドキュメントがこのフォーマットでリソースを持つ
  foaf:lastName[/@xml:lang="ja"]
研究者の姓(日本語)
  foaf:firstName[/@xml:lang="ja"]
研究者の名(日本語)
  rns:lastNameYomi[/@xml:lang="ja"]
研究者の姓のヨミ(日本語)
  rns:firstNameYomi[/@xml:lang="ja"]
研究者の名のヨミ(日本語)
  foaf:lastName[/@xml:lang="en"]
研究者の姓(ローマ字)
  foaf:firstName[/@xml:lang="en"]
研究者の名(ローマ字)
  owl:sameAs
同一人物である(研究者が別名を持っているとき、rns:Researcherが別名を関連づけられた別のrns:Researcherにつけられる)
    rns:Researcher
研究者リゾルバーのResearcher タイプ(このコンテキストでは、別名が記述される)
      foaf:lastName[/@xml:lang="ja"]
研究者の別姓(日本語)
      foaf:firstName[/@xml:lang="ja"]
研究者の別名(日本語)
      rns:lastNameYomi[/@xml:lang="ja"]
研究者の別姓のヨミ(日本語)
      rns:firstNameYomi[/@xml:lang="ja"]
研究者の別名のヨミ(日本語)
      foaf:lastName[/@xml:lang="en"]
研究者の別姓(ローマ字)
      foaf:firstName[/@xml:lang="en"]
研究者の別名(ローマ字)
  rns:institution
所属機関
  rns:department
所属部局
  rns:title
所属機関における職名
  rns:researcherNumber
研究者の研究者リゾルバーID(このサービスの研究者識別子)
  kaken:researcherNumber
T研究者の科研費研究者番号(外部サービス識別子)
  owl:sameAs/@rdf:resource

同一人物(外部サービスにおける)rdf:resoruce属性の値は、外部サービスの研究者のURIとなる。対象とするサービスとしては、KAKEN、CiNii、researchmap、J-Global、ResearcherID、 ORCID、 大学の研究者ディレクトリです。

  rdfs:seeAlso/@rdf:resource
外部サービスで参考となる研究者のリンク。rdf:resoruce属性の値は、日本語と英語で、研究者名と付加的に所属機関名で構成された検索のURLとなっています。外部サービスとして、 Google、Google Scholar、 CiNii、reseachmap、J-Global 、WebcatPlusを含みます。

 

 

上記の例のノードグラフは以下です。(クリックで拡大)

 

RDF example node graph