Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object Reuse and Exchange と その実装例について

Similar presentations


Presentation on theme: "Object Reuse and Exchange と その実装例について"— Presentation transcript:

1 Object Reuse and Exchange と その実装例について
黒田 拓(北海道大学大学院理学院数学専攻) 行木 孝夫(北海道大学大学院理学研究院数学部門)

2 発表の概要 OAI-OREについて リソースのaggregation リソースマップによるaggregationの記述
HTTPでの再利用と交換 DML-JPでの実装例

3 OAI-ORE Open Archives Initiative Object Reuse and Exchange
Web上のリソースを集めたものをaggregationと呼 ばれるオブジェクトとして扱う aggregationの情報をリソースマップ(ReM)という 形式で記述する 作成したリソースマップをaggregationと関連付 けて公開する

4 aggregation(のページ)の例 arXiv.orgのある論文

5 (雑誌)Journal of the Mathematical Society of Japan
aggregation(のページ)の例 (雑誌)Journal of the Mathematical Society of Japan

6 aggregation(のページ)の例 (雑誌のリソース) Vol.61, No.1

7 雑誌 : Hokkaido Mathematical Journal
aggregation(のページ)の例 雑誌 : Hokkaido Mathematical Journal

8 aggregation(のページ)の例 Volume: Vol.37(1)

9 aggregation(のページ)の例 Vol.37のある論文

10 リソースのaggregation

11 OREの狙い 既存の(人間向けの)ページ 見やすさ優先 / サイト毎のスタイル
Aggregationとそれを表すページの混同 雑誌のURI = 雑誌についてのWebページのURI リソースマップにaggregationの情報を記述 セマンティックに記述 aggregationとその表現(リソースマップ)を厳密に 区別

12 このようなページのセマンティック版を作りたい
OREの狙い このようなページのセマンティック版を作りたい

13 リソースマップ Aggregationの情報を記述 Aggregateされたリソースの一覧 各種メタデータ 構造はRDFグラフ

14 リソースマップ RDFグラフでaggregationの情報を記述

15 RDFグラフでaggregationの情報を記述
リソースマップ RDFグラフでaggregationの情報を記述 (簡単のためURIを略記)

16 RDFグラフでaggregationの情報を記述
リソースマップ RDFグラフでaggregationの情報を記述 (全体像) 最小限必要な 要素

17 aggregationの中でのメタデータ
リソースマップ aggregationの中でのメタデータ aggregationの中でのリソース間の関係は そのaggregationの中でだけ意味を持つ

18 リソースマップ Proxy aggregationの中で意味を持つメタデータを Proxyを通して記述できる

19 リソースマップ Proxyを使った外部からの参照 あるaggregationに属する事に特別な意味がある

20 リソースマップ Proxyを使った外部からの参照 別のaggregationに由来することを主張

21 リソースマップ ProxyのURI 外部からリソース目当てにアクセスされる アクセスすることでリソースへのリダイレクションが行 う
レスポンスヘッダでaggregationのURIも 例 : OREプロキシURIリゾルバ HTTP/1.x 303 See Other Link: <URI:雑誌-A>; rel="aggregation" Location: URI:論文1

22 リソースマップのシリアライズ リソースマップ(RDFグラフ)を公開用に出力 RDF/XML Atom Entry
RDFa (XHTMLへの埋め込み)

23 リソースマップのシリアライズ サンプル

24 リソースマップのシリアライズ RDF/XMLの場合
<?xml version="1.0" encoding="UTF-8" ?> <rdf:RDF xmlns:ore=" <rdf:Description rdf:about="URI:ReM(RDF/XML)"> <ore:describes rdf:resource="URI:雑誌" /> <dcterms:creator> <foaf:name>ReM作者</foaf:name> </dcterms:creator> <dcterms:modified> T01:30:00Z</dcterms:modified> </rdf:Description>

25 リソースマップのシリアライズ <rdf:Description rdf:about="URI:雑誌">
RDF/XMLの場合 <rdf:Description rdf:about="URI:雑誌"> <ore:isDescribedBy rdf:resource="URI:ReM(Atom)" /> <dc:title>雑誌タイトル</dc:title> <ore:aggregates rdf:resource="URI:論文1"/> <ore:aggregates rdf:resource="URI:論文2"/> </rdf:Description> <rdf:Description rdf:about="URI:論文1"> <dcterms:creator> <foaf:name>執筆者</foaf:name> </dcterms:creator> </rdf:RDF>

26 リソースマップのシリアライズ AtomEntryの場合
<?xml version="1.0" encoding="UTF-8" ?> <entry> <id>tag:atom-entry-id</id> <link rel="alternate" type="text/html" href="URI:HTML"/> <link rel="self" type="application/atom+xml" href="URI:ReM(Atom)"/> <link rel=" href="URI:雑誌"/> <source> <author> <name>ReM作者名</name> </author> <id>tag:atom-feed-id</id> <updated> T01:30:00Z</updated> </source>

27 リソースマップのシリアライズ AtomEntryの場合
<published> T01:30:00Z</published> <updated> T01:30:00Z</updated> <title>雑誌タイトル</title> <link href="URI:ReM(RDF/XML)" rel=" <category term=" T01:30:00Z" scheme=" <link rel=" href="URI:論文1" /> href="URI:論文2" /> <oreatom:triples> <rdf:Description rdf:about="URI:論文1"> <dcterms:creator> <foaf:name>執筆者</foaf:name> </dcterms:creator> </rdf:Description> </oreatom:triples> </entry>

28 HTTPとORE AggregationとそのリソースマップのWeb上での関 連付け

29 HTTPとORE aggregationが集めるのはaggregationでありリソー スマップではない
aggregationのURIからそのリソースマップURIを 取得できるようにする 303 Redirection ハッシュURI

30 HTTPとORE リダイレクション 1. クライアントがaggregationのURIを取得するリ クエストを行う
2. サーバーはクライアントが受け入れられる形式 別に、 aggregationに対応する(X)HTMLページ 適切な形式のリソースマップ のURIへのリダイレクションを返す 3. クライアントがリダイレクト先のリソースを取 得する

31 HTTPとORE リダイレクション サーバーがリダイレクションに対応できる必要が ある 複数の形式でリソースマップを公開できる

32 HTTPとORE ハッシュURI aggregationのURIを URI:ReM#agregation とする 例 URI:ReM URI:aggregation サーバーの実装が簡単 リソースマップが1種類の場合に便利

33 HTTPとORE ハッシュURI リソースマップを増やす場合の対応 可能ならリダイレクションの方法に移行する
aggregation専用のURIを決定する 1つ目のリソースマップで、URI:ReM#aggregation と新しいaggregationのURIが同じリソースを指す 事を記述する

34 HTTPとORE ハッシュURI リソースマップを増やす場合の対応 リダイレクションが使えない場合
aggregationのURIはURI:ReM#aggregationのままに する URI:ReM-2でも記述されている事を1つ目のリソ ースマップに記述する

35 OAI-ORE Open Archives Initiative Object Reuse and Exchange
Web上のリソースを集めたものをaggregationと呼 ばれるオブジェクトとして扱う aggregationの情報をリソースマップ(ReM)という 形式で記述する 作成したリソースマップをaggregationと関連付 けて公開する

36 DML-JPでの実装

37 DML-JPでの実装 DML-JPが機関リポジト リから文献情報を収集 文献毎にメタデータの グラフを作成
条件に合う文献を集め てaggregationとし、リ ソースマップを作成 雑誌 Vol毎 分野毎

38 分野毎にまとめ直す

39 DML-JPでの実装 <eprint> <eprintid>12124</eprintid>
<datestamp> :49:31</datestamp> <lastmod> :49:31</lastmod> <creators> <item> <name>xxxx</name> </item> </creators> <title>XXXXXXX</title> <date>2005</date> <publication>Hokkaido Mathematical Journal</publication> <official_url> <volume>34</volume> <msc> <item>58A30(MSC2000)</item> <item>58A17(MSC2000)</item> </msc> </eprint>

40 DML-JPでの実装 class ResourceMap < NamedGraph::Node
Rubyスクリプト(リソースマップ作成部分) class ResourceMap < NamedGraph::Node restrict "ore:describes"=>[Aggregation, :aggregation], "dcterms:creator"=>Person restrict "dcterms:created"=>Time, "dcterms:modified"=>Time end class Aggregation < NamedGraph::Node restrict "dc:title", "ore:isDescribedBy", "dcterms:created"=>Time, "dcterms:modified"=>Time, "dcterms:creator"=>Person, "rdf:type"=>Term, "ore:aggregates"=>Resource, .....

41 DML-JPでの実装 Rubyスクリプト(リソースマップ作成部分) rem = ORE::ResourceMap.new(" do creator do name "ORE/Atom generator" end created now aggregation " do title "Articles of Category-Code #{c}" name "Aggregation generator" resources.each do |r| aggregates r

42 DML-JPでの実装 AtomEntryの出力例 <?xml version='1.0' encoding='utf-8'?>
<atom:entry xmlns:dcterms=' xmlns:rdf=' xmlns:grddl=' xmlns:atom=' grddl:transformation=' xmlns:foaf=' xmlns:ore=' xmlns:dc=' xmlns:rdfs=' xmlns:oreatom=' <!-- Atom Specific; No ORE Semantics --> <atom:id>tag:example.org:sample</atom:id> <!-- Resource Map Metadata --> <atom:link type='application/atom+xml' rel='self' href=' /> <atom:link rel=' href=' /> <atom:source> <atom:author><atom:name>ORE/Atom generator</atom:name></atom:author> <atom:updated> T17:51:51Z</atom:updated> <atom:title>ORE/Atom of Articles of Category-Code 58</atom:title> </atom:source> <atom:published> T17:51:51Z</atom:published> <!-- Aggregation Metadata --> <atom:title>Articles of Category-Code 58</atom:title> <atom:author><atom:name>Aggregation generator</atom:name></atom:author> <atom:category term=' scheme=' label='Aggregation' /> <atom:category scheme=' term=' T17:51:51Z' /> <atom:category scheme=' term=' T17:51:51Z' /> <!-- Aggregated Resources --> <atom:link rel=' href=' title='XXXXXXX' /> <!-- Additional properties pertaining to Aggregated Resources and Aggregation --> <oreatom:triples> <rdf:Description rdf:about='info:eu-repo/semantics/humanStartPage'> <rdfs:label>humanStartPage</rdfs:label> <rdfs:isDefinedBy rdf:resource='info:eu-repo/semantics/' /> </rdf:Description> <!-- Proxies for aggregated resource --> <rdf:Description rdf:about=' ation'> <ore:proxyFor rdf:resource=' /> <ore:proxyIn rdf:resource=' /> </oreatom:triples> </atom:entry>

43 DML-JP 文献情報から論文のメタデータを抽出 条件に合う論文を集めたaggregationと、そのリ ソースマップを作成
AtomEntry形式で出力 XSLTを使ってRDF/XMLへの変換 未決の問題 公開用URI 各リソースマップ aggregation


Download ppt "Object Reuse and Exchange と その実装例について"

Similar presentations


Ads by Google