GakuNin RDM Search API (`/api/v1/search/`) 調査メモ

調査日 : 2026-02-24 対象 : GakuNin RDM (GRDM) の Search API ソースコード : RCOSDP/RDM-osf.io(website/search/ ディレクトリ) 開発者ガイド : RCOSDP/RDM-developer-guide 注意 : Search API の公式ドキュメントは確認できませんでした。本稿は API の実際の挙動とソースコードの両方に基づく調査記録です。 概要 GakuNin RDM は OSF (Open Science Framework) のフォークであり、ソースコードは GitHub (RCOSDP/RDM-osf.io) で公開されています。検索機能の実装は website/search/ ディレクトリにあり、主に以下のファイルで構成されています。 ファイル 役割 elastic_search.py インデックスのマッピング定義、ドキュメントの登録・更新 views.py API エンドポイントのハンドラ util.py build_private_search_query() 等のクエリ構築 search.py 上位インターフェース P A O u S t T h o h r t i t z p a s t : i / n r : d m B . e n a i r i e . r a c < . パ j ー p ソ / ナ a ル p ア i ク / セ v ス 1 ト / ー s ク e ン a > r c h / 日本語環境では Elasticsearch の kuromoji_analyzer が使用されています(ソースコードで確認)。 ...

2026年2月24日 · 5 分 · Nakamura

Next.js + next-auth で GakuNin RDM と OAuth2 連携する

はじめに 研究データ管理基盤「GakuNin RDM」と Next.js アプリケーションを OAuth2 で連携する方法を解説します。GakuNin RDM は OSF(Open Science Framework)互換の API を提供しているため、OSF の OAuth2 フローを参考に実装できます。 本記事では、next-auth を使用した実装方法と、アクセストークンの自動リフレッシュ というハマりポイントについて詳しく説明します。 GakuNin RDM とは GakuNin RDM(Research Data Management)は、国立情報学研究所(NII)が提供する研究データ管理サービスです。 URL : https://rdm.nii.ac.jp/ API : OSF 互換 REST API(https://api.rdm.nii.ac.jp/v2/) 認証 : OAuth2(https://accounts.rdm.nii.ac.jp/) 研究者が研究データを安全に保存・共有・公開できるプラットフォームで、学認(GakuNin)認証との連携により、日本の大学・研究機関のユーザーが利用できます。 事前準備 1. OAuth アプリケーションの登録 GakuNin RDM の設定画面から OAuth アプリケーションを登録します。 https://rdm.nii.ac.jp/settings/applications/ にアクセス 「Developer application を登録する」をクリック 以下を設定: Application name : アプリ名 Application homepage URL : http://localhost:3000(開発時) Application description : 説明 Authorization callback URL : http://localhost:3000/api/auth/callback/gakunin 登録後、Client ID と Client Secret が発行されます。 ...

2026年1月6日 · 22 分 · Nakamura

GakuNin RDM Waterbutler API でアップロードしたファイルの詳細画面に遷移する方法

Waterbutler API とは Waterbutler は、Center for Open Science (COS) が開発したファイルストレージ抽象化レイヤーです。OSF (Open Science Framework) および GakuNin RDM で使用されており、様々なストレージプロバイダー(OSF Storage、Amazon S3、Google Drive、Dropbox など)に対して統一的なAPIでファイル操作を行うことができます。 主な機能 ファイルのアップロード・ダウンロード ファイル/フォルダの作成・削除・移動・コピー メタデータの取得 エンドポイント GakuNin RDM : https://files.rdm.nii.ac.jp/v1 OSF : https://files.osf.io/v1 参考リンク Waterbutler GitHub OSF API Documentation 問題 GakuNin RDM の Waterbutler API を使用してファイルをアップロードした後、そのファイルの詳細画面に直接遷移したい場合があります。 しかし、RDM上ではプロジェクトの短縮URL(例:https://rdm.nii.ac.jp/qv3xf/)が表示されるため、アップロードしたファイルの詳細画面URLをどのように構成すればよいかわかりにくい状況でした。 Waterbutler API のレスポンス ファイルアップロード時の Waterbutler API レスポンス例: { } " } d a " " " } " } t i t a , l a d y t " " " i " " " " p t n k p n d m : : e r a i a k o o " i m n t s w v { " : b e d h " n e o u " " " : l " s " t : : : o : f f e { a s i s " " " d " t l " n f / " h o e : f i 6 : t r s t l 7 t a " { - e d " p g , 4 " a h s e 3 , c t : / - a t / 6 p a p / 7 r 8 s f d o 1 : i a v 6 / l c e 0 / e a n 0 f s a a 0 i . 8 n 9 l r 1 c 0 e d 6 e 0 s m 0 - 1 . . 0 2 0 r n 0 0 9 d i 9 2 e m i 0 5 1 . . 0 - d n a 1 1 a i c 0 2 3 i . 9 - " . j e 2 a p 1 9 c d T . v a 1 j 1 3 3 p " - r , 0 v e 8 1 s - / o 4 r u 7 e r . s c z o e i u s p r / " c w , e z s / 9 w g z / p 9 r g v p i r d o e v r i s d / e o r s s f / s o t s o f r s a t g o e r / a 6 g 7 e d / a 6 c 7 a d a a 8 c 1 a 6 a 0 8 0 1 0 6 9 0 0 0 0 0 1 9 0 0 9 0 e 1 1 0 d 9 a e 3 1 " d a 3 " , 解決策:ファイル詳細URLの構成 ファイル詳細画面のURLは以下の形式で構成します: ...

2025年12月29日 · 5 分 · Nakamura

Google Cloud Vision APIとGakuNin RDMを用いたTEI/XMLファイル作成アプリの試作

概要 Google Cloud Vision APIとGakuNin RDMを用いたTEI/XMLファイル作成アプリを試作しましたので備忘録です。 背景 Google Cloud Vision APIを使ってOCR結果を反映したTEI/XMLファイルを作成する環境が必要になりました。そこでバックエンドとしてGakuNin RDMを用いて、ユーザごとにファイルを管理して、OCRを実行可能な環境を試作しました。 使い方 フォルダの作成 以下にアクセスします。 https://ge-manager.vercel.app/ 画面右上から、GakuNin RDMを使ってログインします。 以下のようにプロジェクト一覧が表示されます。 適当な階層まで下り、フォルダの作成ボタンを押します。 ここでは、「sample」というフォルダを作成します。 そして、「GE Manager」のリンクを押します。 以下のようなページに遷移します。 処理の実行 今回は、「e-codices - Virtual Manuscript Library of Switzerland」の「fragm1a」を使用させていただきます。 https://www.e-codices.unifr.ch/loris/gau/gau-Fragment/gau-Fragment_frag001a.jp2/full/full/0/default/jpg 画像のURLを入力して、アップロードボタンを押します。アップロードされると、以下のような画面に変わります。 次に、「OCR実行」ボタンを押します。正しく完了すると、以下のように表示されます。 次に「TEI/XML作成」ボタンを押します。正しく完了すると、以下のようにTEI/XMLとともに表示されます。 Oxygen XML Editorでダウンロードしたファイルを表示した例です。Google Cloud Vision APIによるOCR結果を確認することができます。 GakuNin RDMのファイル 上記のプロセスで作成された各種ファイルは、GakuNin RDMのフォルダにファイルとして保存されます。 参考: URLを介してアクセス可能な画像ファイルを用意する mdx.jpのオブジェクトストレージを利用して、URLを介してアクセス可能な画像ファイルを用意する。 今回はge-editorというバケットを作成し、以下のようなファイルを用意します。 { } " " ] V S e t { } r a s t " " " } " " i e S E P , A R o m i f r " c e n e d f i D t s " n " e n D i o : t : c c N o u " t i " n r " : " " p : " c 2 g : a : e 0 [ e l [ " 0 - " " " [ : 8 e A : * " - d l " s " 1 i l { ] 3 g 0 t o : e - o w L - 1 r " i e 7 " , s d " , t i , B t u o c r k " e t " , " s 3 : G e t O b j e c t " ] , そして、以下を実行することで、上記のバケットにアップロードされたファイルをダウンロード可能にします。 ...

2025年4月16日 · 2 分 · Nakamura

GakuNin RDMのAPIを用いて、連携したストレージのファイルを検索する

概要 以下の記事で、GakuNin RDMのAPIを用いたアプリケーション構築について紹介しました。 本記事では、GakuNin RDMのAPIを用いて、連携したストレージのファイルを検索する方法を紹介します。 実装例 次のような形で、検索APIを実装しました。なお、https://rdm.nii.ac.jp/api/v1/search/file/にクライアントから直接アクセスした際には、CORSによるエラーが発生したため、Next.jsのAPI Routesとして実装しています。 i i i e } m m m x p p p p c c c c c c c c } c } c r o o o o o o o o o o o o ; o ) o e r r r r n n n n n n n n a s h e } n m h } b ; n t t t t t s U s s s s s s s p o i l , s e e , o s u t R t t t t t t t i r g a q } f s t t a " A d t r { { { a L _ t h s u , r i h d C u y n s s か u q o s a a p v : l t e f } o z r o e o t : d N a g y e ら r u f i c p a e i i r i , m e e d r n h a N e u e n s ク l e f z c i r r " g c y l q } : , s : s t o J t e x t t c s エ r s e e U a s c h s : t u , : e r S a x t h S i リ = y e s r m i r t e e e q } o = " n i O t R O e f o パ t = s l s o e : a { r r u , f P { t z N = R e p r u n ラ n = T n a r e y e d f ] q a l f a O - a . e s t v n メ e = p o = = : t " c d : r e i , u n e s w S T t s a s p i e c = ー w u a k e t h : y f e " " " " " " " e a n e a T y i t w p o o r t タ r p r e " { { d i _ { _ a l _ t d j s a a r l i t i " p o r a o n n S i a を U l a s n h _ t d { s u d a i e o c l l y y e , t , e n i i n s s e o w 取 R . r e t v d l s t l s l t s b h l l , z n " : n t s e s n a 得 L s s I = t e e e l r t : l l c ^ o _ _ e t f : g e } s i ( e e n p n s : : i _ " e r 1 o j s _ : e ` i r . } i G t r a I t s s d c 3 n f [ , ^ i " l o c w t " B f e j f o E e r n ( e : o " 0 { g i 4 p , ^ b h i t c a e y s s f r n T g q c t u s / r , , : e " t 1 s o l r h p a ( . o r o ( e . h ( r s / : n l , i " ^ o d u ( p r p j n o m } r t u P u l i r a { d o , 0 l c e a l e a s ( m e S r a r . o d " m : n . s a , p i r r o d " f q e l r l s n m g e ^ 1 ^ r i c a n a " @ r : r ) a . e ? . r : " 1 2 0 d U a $ m ( t n / o v ; m s a . n d 3 _ . 5 . : r t { s ) a e a m R e s e r a i m 0 a 2 " 1 l i a ) ; ) x p e r . a c c i " , l " , 2 t , o c , ; t p " q S g r h c . , u l , 5 r n c / / n u e e c P e a s " " u { / e s a e e s t h a s c v e , , e j s e p x s s ( P r s . e r , s s r i t t i " a a T j r : o T v / - ) o f r m o p s 3 n o e a a n i a s k / i 0 " k r u u { ( l m . e a o , , e " t t a t s g n p n t n ; h h u e . e ; i : e } / " t r g t / x ` [ ; h [ e ( v 2 t , . O f t " 1 : . p u ( p / } 1 . t l " a s , 2 n i l p g e 4 e o t a e a , x n e g [ r c t s x e l c o a ) t [ i h m u ; ] o m / m t " f i f e h ) f t i n ] s ] l t / e " e s a t ) / . u ] " * t " " ; : h " 1 O ; 2 p " 4 t 2 " i 0 , o " " n 0 , s " " , 1 ; 0 1 ) 0 ; ) ; 利用例 以下のURLからお試しいただけます。(利用にあたっては、GakuNin RDMへのログインが必要です。) ...

2025年3月21日 · 11 分 · Nakamura

GakuNin RDMのストレージに、mdx.jpのオブジェクトストレージを追加する

概要 GakuNin RDMのストレージに、mdx.jpのオブジェクトストレージを追加する方法です。 手順 mdx.jp mdx.jpのオブジェクトストレージの利用申請を行い、アクセスキーとシークレットキーを控えます。 GakuNin RDM S3 Compatible Storageを有効にします。 S3互換サービスとしてmdx S3DSを選択して、控えたアクセスキーとシークレットキーを入力します。 バケットの一覧が表示されるので、接続したいバケットを選択します。 結果として、「ファイル」メニューからアクセスできるストレージに、mdx.jpのオブジェクトストレージが追加されます。 今後、ドラッグ&ドロップにより、ファイルのアップロードなどを行うことができます。 まとめ GakuNin RDMとmdx.jpのオブジェクトストレージの接続にあたり、参考になりましたら幸いです。

2025年3月21日 · 1 分 · Nakamura

LEAF WriterとGakuNin RDMを用いたTEI/XMLファイルの編集環境の試作

概要 LEAF WriterとGakuNin RDMを用いたTEI/XMLファイルの編集環境の試作を行いましたので、備忘録です。 参考 以下の記事で、LEAF WriterをNext.jsから使用する方法を紹介しました。 特に、以下のnpmパッケージを使用しています。 https://www.npmjs.com/package/@cwrc/leafwriter 上記で編集対象とするTEI/XMLファイルの入出力にあたり、GakuNin RDMを使用してみます。GakuNin RDMのAPIをJavaScriptから使用する方法について、以下も参考になりましたら幸いです。 使い方 以下がプロトタイプシステムのURLです。(色々と不具合が含まれる点にご注意ください。) https://rdm-leaf-editor.vercel.app/ UIはClaude 3.7 Sonnetに作成してもらっています。 「サインイン」ボタンを押すと、認証画面に進むので、ログインします。 ログイン後、リダイレクトされ、プロジェクトの一覧が表示されます。 TEI/XMLファイルが含まれるディレクトリまで移動します。ファイル名に「.xml」が含まれる場合、「Leaf Writer」の列に「編集」ボタンが表示されます。 LEAF Writerの編集画面に遷移するので、テキストを編集します。作業が完了したら、画面右上の「保存」ボタンを押します。 GakuNin RDMのUIから確認してみると、バージョンごとに保存されていることが確認できます。 実装 GakuNin RDMからのファイルの取得および更新は以下で行っています。 e ) } e ) } x : x : p u a c } i } r p u c a c c c } i } フ o r c P o ) f e フ o r o c o P o o ) f ァ r l c r n m h } ; t ) t ァ r l n c n r n n m h } b ; c c c t イ t : e o s e e , ( h ; u イ t : t e t o s s e e , o ( o o o h ル s m t t a A ! r ` r ル e s e m t t t a A d ! n n n r の a s s i h d u r o フ n の a s n s n i h d u y r s s s o 内 s t T s r o e t e w ァ 内 s t t T t s b r o e t : e t o o w 容 y r o e e d r h s イ a 容 y r : o T e l e d r h s l l を n i k < s : s o p n ル w を n i k y < o s : s o b p e e e n 取 c n e s p : r o e の a 更 c n s e p v b p : r l o r . . e 得 g n t o " i n w 取 i 新 g t n e o o " i o n r e e w す f , : r n G { z s 得 t す f , r : : i = n P { z b s o r r る u i s E a e E に る u i d s U a , e r r r E n s n e T t . r 失 r n n s s > n e T t . T o o r c t g " i o r 敗 e c g t t e " i o e r r r t r > = , o k o し s t , r r { w = , o k x ( ( o i i n ) r ま p i i i n ) t " " r o n { a : ( し o o n n B a : 保 レ ( n g w { た n n g g l w { = 存 ス ` a ` 。 s , o a ` に ポ 保 f i B ス e u = b i B a 失 ン 存 e t e テ . p ( t e w 敗 ス に t a ー t d " [ a a し : 失 c f r タ e a a c f r i ま " 敗 h e e ス x t p o e e t し , し F t r コ t e p n t r た ま i c ー ( F l t c r 。 e し l h $ ド ) i i e h $ e ス r た e ( { : ; l c n ( { s テ r 。 C u a e a t u a p ー o ス o r c $ C t ] r c o タ r テ n l c { o i , l c n ス T ー t , e r n o , e s コ e タ e s e t n { s e ー x ス n { s s e / { s . ド t コ t T p n x t T t : ) ー ( o o t m y o e " ; ド k n ( l p k x , : e s " e e t n e : n ( r $ } . } ) e { ` s c ` ; s r , t o , p e a n o s t t n p u e s o s n e n } t . s ` T s e y t . p a s e t t u a } s t ) ) u ; ; s } ` ) ; 上記で使用するURLは以下です。 ...

2025年3月21日 · 15 分 · Nakamura

GakuNin RDM(OSF)のAPIで、フィルタを使う

概要 GakuNin RDM(OSF)のAPIで、フィルタを使う方法の備忘録です。 対象データ 以下のようなファイル構造を持つ「NII Storage」を対象にします。 APIでは、以下のようなURLでアクセスできるものを対象にします。 https://api.rdm.nii.ac.jp/v2/nodes/wzv9g/files/osfstorage/ JSONデータの例は以下です。 { } " ] " } d { } { } { } , l " " " " " } a " " " } " } " } , " " " } " } " } , " " " } " } " } i f l p n m " " t i t a " " " " " " " " " " " " } " " " , r " } " } " } " } " } " } , l " " " " " " " " i t a " " " " " " " " " " " " } " " " , r " } " } " } " } " } " } , l " " " " " " " " i t a " " " " " " " " " " " " } " " " , r " } " } " } " } , l " " " " " " n i a r e e t p a d y t g c n k p s p m l d d e " } " , t c c e p " } " } , v " } , c " } , m " } , n " } " } , t " } " } i i m u d d r h s d y t g c n k p s p m l d d e " } " , t c c e p " } " } , v " } , c " } , m " } , n " } " } , t " } " } i i m u d d r h s d y t g c n k p s p m l d d e " } , t c c e p " } " } , f " } , n " } " } , t " } " } i i m u d n s k r s e x t o e " " p t u h a i a i r a a a a x h " " , d a u u l a l " } , d " " e l " } o l " } e l " } o l " } , d " " a l " } , d " " n n o p e o e t e " p t u h a i a i r a a a a x h " " , d a u u l a l " } , d " " e l " } o l " } e l " } o l " } , d " " a l " } , d " " n n o p e o e t e " p t u h a i a i r a a a a x h " " a u u l a l " } , d " " i l " } o l " } , d " " a l " } , d " " n n o p e e e s s t v t a t r : : e r i e m n t z o t s t t t a m s o g r r a r i r " " a i t r i r " " m i r " " t i r " " d i r " " a i t r i r " " } a t i k f v l l w n m l : e r i e m n t z o t s t t t a m s o g r r a r i r " " a i t r i r " " m i r " " t i r " " d i r " " a i t r i r " " } a t i k f v l l w n m l : e r i e m n t z o t s t t t a m s g r r a r i r " " a i t l i r " " d i r " " a i t r i r " " } a t i k f v l l w l " t " " " " a _ " i d c e d h e v e t e e r s d h w s r r t e n e h m t d y s n e h m m n e h m a n e h m e n e h m t d y g n e h m " t y d s o e o e n d l f " i d c e d h e v e t e e r s d h w s r r t e n e h m t d y s n e h m m n e h m a n e h m e n e h m t d y g n e h m " t y d s o e o e n d l f " i d c e d h e v e t e e r s d h s r r t e n e h m t d y e n e h m e n e h m t d y g n e h m " t y d s o e o e _ f : " : : : : l p [ " : b " k " " " " i r _ _ _ a h 5 a n " e e i n k l r e a " p i k l r e e k l r e d k l r e " k l r e a " p e k l r e t a p " " " " a t l e " " " : b " k " " " " i r _ _ _ a h 5 a n " e e i n k l r e a " p i k l r e e k l r e d k l r e " k l r e a " p e k l r e t a p " " " " a t l e " " " : b " k " " " " i r _ _ _ a h 5 a " e e i n k l r e a " p s k l r e " k l r e a " p e k l r e t a p " " " " a t f " : " a 6 u : o : : : : d i t m c " e " 2 l : n n o t s a e t " : e o s a e t n s a e t a s a e t : s a e t " : e t s a e t y " e : : : : d e o r : : 6 u : o : : : : d i t m c " e " 2 l : n n o t s a e t " : e o s a e t n s a e t a s a e t : s a e t " : e t s a e t y " e : : : : d e o r : : 6 u : o : : : : d i t m c " e " 2 : n n o t s a e t " : e " s a e t : s a e t " : e t s a e t y " e : : : : d e o : { n n n { : g 7 " t u e a o o r : s : 5 o t t n _ " t f a : " n " t f a t " t f a t " t f a " t f a : " " " t f a p : " " " a " 7 " t u e a o o r : s : 5 o t t n _ " t f a : " n " t f a t " t f a t " t f a " t f a : " " " t f a p : " " " a " 7 " t u e a o o r : s : 5 t t n _ " t f a : " : " t f a " t f a : " " " t f a p : " " " l n u u u e c f e " t " " " 9 r l u d e " 6 a [ _ _ s f : e " " " : s : e " " s : e " " a : e " " { : e " " " : : : e " " e : " { " " : : d : " " d f e " t " " " 7 r l u d e " 6 a [ _ _ s f : e " " " : s : e " " s : e " " a : e " " { : e " " " : : : e " " e : " { " " : : d : " " d f e n t " " " n r l u d e " 6 [ _ _ s f : e " " " : : e " " { : e " " " : : : e " " e : " { " " : : d " u l l l 3 " e i s u " I f / 5 " i c i a { : " " d ] u v h o d : : { 6 " d : : " d : : _ d : : d : : { w d : : " { w h h " h h a i s b " 0 f / 9 " i c i a { : " " d ] u v h o d : : { 6 " d : : " d : : _ d : : d : : { w d : : " { w h h " h h a i s u " t f u " i c i a { : n " ] u v h o d : : { 6 { d : : d : : { w d : : " { w h h e h l l l l , : 5 l " n : M i 6 2 : z h f t e : s , s e i l { " 7 " : { " : { " r { " { " z " { { " : " z t t " " : " t t 8 l " 4 : 1 i 6 3 : z h f t a : s , s e i l { " 7 " : { " : { " r { " { " z " { { " : " z t t " " : " t t c l " l : e 6 l : z h f t u : , s e i l { " 7 " { " { " z " { { " : " z t t " " r t l , , , b e : g G l 7 1 e e i e { 5 " e r p d : " { 4 f : " { : " { e : " { : " { v n : " { n v t t h h h t t 4 e : 5 . l 7 9 e e i e { 3 " e r p d : " { 4 f : " { : " { e : " { : " { v n : " { n v t t h h h t t a e : l s l 7 l e e i e { l e r p d : " { 4 f : " { : " { v n : " { n v t t h h " t , 1 0 s d n _ e c 0 " d d e d 7 " : r s s e h } 0 i { h } { h } c h } h } 9 o h " o 9 p p t t " t p p 7 s m n x e d 7 " d d e d 8 " : r s s e h } 0 i { h } { h } c h } h } 9 o h " o 9 p p t t " t p p 9 s , n t d d , " d d e d l n r s s e h } 0 i h } h } 9 o h " o 9 p p t t : p 0 b " { 3 u 8 " e 7 o _ " d " 1 5 _ i " r { t 3 l { t { t o { t { t g d { t n d g s s t t h t s s 4 " { p u m " a , o _ " d " 2 8 _ i " r { t 3 l { t { t o { t { t g d { t n d g s s t t h t s s 9 " { u " e a o _ " d " , u _ i " r { t 3 l { t { t g d { t n d g s s t t s 2 , " l 2 , 5 , s p : " : 9 e 0 c o : " t 4 e t t r t t " e t o e " : : p p t p : : 1 , " l l , 8 s p : " : 4 3 0 c o : " t 4 e t t r t t " e t o e " : : p p t p : : 1 , l , r c s p : " : l c o : " t 4 e t t " e t o e " : : p p " : f , l 6 b f a : 2 2 a n : p a s p p d p p , s p d " / s s t s / 6 , l " 4 f a : b d a n : p a s p p d p p , s p d " / s s t s / 6 l " a f a : l a n : p a s p p , s p d " / s s h / e , 9 0 s t n " b 8 n " { s 4 " s s s s s " s e , / : : p : / 0 , , 7 s t n " 2 1 n " { s 4 " s s s s s " s e , / : : p : / 0 , , 9 s t n n n " { s 4 " s s " s e , / : : t / 4 . b t h u " 2 3 2 _ : { : 8 : : " : : : " a f / s r a 0 4 t h u " 2 f 8 _ : { : 8 : : " : : : " a f / s r a 0 9 t h u n u _ : { : 8 : : : " a f / t a 7 p 2 o " l 2 0 0 1 c / 3 / / : / / / p i / : d p 0 1 o " l 2 0 4 a c / 3 / / : / / / p i / : d p 0 1 o " l u l c / 3 / / / p i / p p 4 n f r : l 0 2 1 8 o 1 / b / / / / / i l f f m m i 9 6 r : l 0 2 9 6 o 5 / b / / / / / i l f f m m i 9 6 r : l l l o 1 / b / / / i l f f s i 0 g e a , 2 5 0 7 m a d a a { a a a . e i i / f . . 0 0 a , 2 5 4 e m a d a a { a a a . e i i / f . . 0 0 a , l , m a d a a a . e i i : . 0 " 4 g " 5 - 3 0 m p c p p p p p r s l l r r n r 0 0 g " 5 - 7 5 m p c p p p p p r s l l r r n r 0 0 g " , m p c p p p r s l l r 1 , 7 e / - 0 a 6 e i 2 i i i i i d . e e d . i d 1 0 e / - 0 1 2 e i 2 i i i i i d . e e d . i d 1 0 e / e i 2 i i i d . e e / d 0 4 " I 0 3 7 7 n . 0 . . . . . m r s s m r i m 0 9 " 0 0 3 8 a n . 0 . . . . . m r s s m r i m 0 9 " t n . 0 . . . m r s s f m f 0 , M 3 - e a t r 0 r r r r r . d . . . d . . 9 0 , 1 3 - 4 5 t r 0 r r r r r . d . . . d . . 9 0 , e t r 0 r r r . d . . i . 7 0 G - 1 9 5 " d 1 d d d d d n m r r n m a n e 0 . - 1 2 2 " d 1 d d d d d n m r r n m a n e 0 s " d 1 d d d n m r r l n 5 1 _ 1 0 9 3 : m 0 m m m m m i . d d i . c i 0 1 x 1 9 d 5 : m 0 m m m m m i . d d i . c i 1 1 t : m 0 m m m i . d d e i 3 0 8 0 T 5 a . 8 . . . . . i n m m i n . i 4 0 m 9 T 1 9 . 8 . . . . . i n m m i n . i d 0 / . 8 . . . i n m m s i c f 2 T 0 5 a t n b n n n n n . i . . . i j . 5 9 l T 0 0 7 t n b n n n n n . i . . . i j . 9 9 " t n b n n n . i . . . . 0 7 6 0 3 9 a r i 8 i i i i i a i n n a i p a 4 e " 1 8 4 e r i 8 i i i i i a i n n a i p a 8 e , r i 8 i i i a i n n r a " 5 9 3 : 7 b u i a i i i i i c . i i c . / c " 0 , 3 : 6 b u i a i i i i i c . i i c . / c " 1 u i a i i i c . i i d c , 3 . : 2 c 0 e . 9 . . . . . . a i i . a w . , 4 : 4 a a e . 9 . . . . . . a i i . a w . , d e . 9 . . . . a i i m . c p 2 2 e f , a 5 a a a a a j c . . j c z j 5 2 6 2 c , a 5 a a a a a j c . . j c z j 9 , a 5 a a a j c . . . j 0 n 2 : a 1 c " c c c c c p . a a p . v p 4 4 : a 6 c " c c c c c p . a a p . v p 8 c " c c c p . a a n p " g : 5 e f . , . . . . . j c c j 9 / " : 4 b f . , . . . . . j c c j 9 / / . , . . . j c c i / , " 5 1 a 0 j j j j j j v p . . d p g , 2 4 e a j j j j j j v p . . d p g " j j j j v p . . i v , 1 . 3 0 p p p p p p 2 j j o / / 2 7 . 6 1 p p p p p p 2 j j o / / 2 , p p p p 2 j j . 2 . 7 9 d / / / / / / v p p w r f / . 6 2 e / / / / / / v p p w r f / / / / / v p p a / 7 5 c a v v v v v v f 1 / n e i f 8 3 3 b v v v v v v f 1 / n e i f v v v v f 1 / c f 5 0 b a 2 2 2 2 2 2 i v l n l i 6 6 2 8 2 2 2 2 2 2 i v l n l i 2 2 2 2 i v . i 0 5 b e / / / / / / l r 1 1 d e l 8 1 8 a / / / / / / l r 1 1 d e l / / / / l r 1 1 j l 5 5 f f f f n f n n e e / a e s e 0 0 4 1 f f n f n n e e / a e s e f n n n e e / / p e 5 0 " b i i o i o o s s r r d r / s 7 7 " 3 i i o i o o s s r r d r / s i o o o s s r r / s 0 Z , 9 l l d l d d / o e e / ? o / 8 Z , 7 l l d l d d / o e e / ? o / l d d d / o e e v / Z " 5 e e e e e e 6 u s s u u s 6 Z " e e e e e e e 6 u s s b u s 6 e e e e 6 u s s 1 6 " , 1 s s s s s s 7 r o o n r f 7 " , d s s s s s s 7 r o o 4 r f 7 s s s s 7 r o o / 7 , 9 / / / / / / c c u u g l s c , 6 / / / / / / d c u u 5 l s d / / / / d c u u r d d 6 6 w 6 w w e e r r d = t e e 6 6 w 6 w w a e r r m = t a 6 w w w a e r r e a 6 7 7 z 7 z z 5 s c c 3 h o 5 1 7 7 z 7 z z 8 s c c p h o 8 7 z z z c s c c s c 0 4 c v c v v b / e e / t r b e 4 d v d v v 4 / e e / t r 4 4 v v v a / e e o a b 0 e 9 e 9 9 0 w s s " t a 0 6 0 a 9 a 9 9 7 w s s " t a 7 0 9 9 9 9 w s s u 9 0 3 5 g 5 g g b z / / , p g b 4 3 8 g 8 g g 4 z / / , p g 4 3 g g g 9 z / / r 9 6 4 b / b / / 2 w w s e 2 b 4 4 / 4 / / 1 w w s e 1 4 / / / 1 w w c 1 4 a 0 c 0 ? " f 9 z z : f 9 a 7 c 7 ? " 6 9 z z : 6 a f ? " 6 9 z z e 6 8 4 b o b f , e g v 6 e c 4 4 o 4 f , 0 g v 6 0 4 i f , 0 g v s 0 3 8 2 m 2 o 4 / 9 9 / 7 4 0 8 1 m 1 o 0 / 9 9 / 7 0 8 l o 0 / 9 9 / 0 1 3 f m f r 7 p g g r c 7 e 3 6 m 6 r 0 p g g r d 0 3 e r 0 p g g w 0 4 b e e e m 4 r / d e 4 2 b 0 e 0 m 9 r / d a 9 b s m 9 r / z 9 0 d 4 n 4 a 0 p p m 5 0 c d 0 n 0 a 0 p p m 8 0 d / a 0 p p v 0 3 c 7 t 7 t 0 v r r . b 0 1 c 0 t 0 t 0 v r r . 4 0 c o t 0 v r r 9 0 e 2 4 s 4 = 1 i o o n 0 1 a 2 9 s 9 = 1 i o o n 7 1 2 s = 1 i o o g 1 6 0 0 / 0 j 0 d v v i b 0 0 0 0 / 0 j 0 d v v i 4 0 0 f j 0 d v v / 0 7 0 0 ? 0 s f e i i i 2 f b 0 0 ? 0 s 9 e i i i 1 9 0 s s 9 e i i p 9 1 1 1 f 1 o 7 r d d . f 7 4 1 1 f 1 o e r d d . 6 e 1 t o e r d d r e 6 0 0 o 0 n 5 s e e a e 5 9 0 0 o 0 n 0 s e e a 0 0 0 o n 1 s e e o 1 6 8 f r f " 3 / r r c 4 3 c 8 9 r 9 " 4 / r r c 0 4 8 r " d / r r v d 2 b 7 m 7 , c o s s . 7 c f b e m e , 5 o s s . 0 5 b a , 9 o s s i 9 c 8 5 a 5 0 s / j 4 0 7 8 0 a 0 4 s / j 9 4 8 g 8 s / d 8 f a 3 t 3 / f o p 0 / 4 a 4 t 4 / f o p 0 / a e / f o e / b 9 c = c " s s s / 0 " 6 9 5 = 5 " s s s / 0 " 9 / " s s s r " c 5 0 j 0 , t f f d 1 a 5 4 j 4 , t f f d 1 5 6 , t f f s f / / s / o s s o 0 7 / / s / o s s o 0 / 7 o s s / 6 ? v o m r t t w f 7 ? v o m r t t w 9 ? d r t t o f f e n e a o o n 7 7 f e n e a o o n e f a a o o s 4 o r & t g r r l 5 d o r & t g r r l 0 o c g r r f 1 r s f a e a a o 3 0 r s f a e a a o 4 r a e a a s f m i i d / g g a c a m i i d / g g a 5 m 9 / g g t " a o l a 6 e e d 0 " a o l a 6 e e d 4 a 9 6 e e t n t t 7 / / / " t n t t 7 / / / " t 1 7 / r = s e a c 6 6 u , = s e a d 6 6 b , = 6 d 6 6 a j / r _ e 7 7 n j / r _ a 7 7 4 j 0 a 7 7 g s ? % r 5 c c g s ? % r 8 d d 5 s 0 c d d e o f 5 e b e e d o f 5 e 4 a a m o 0 a a a / n o B c 0 5 5 3 n o B c 7 8 8 p n 9 9 c c 6 " r t o b b b / " r t o 4 4 4 / " 0 9 a a 7 , m a r 2 0 0 ? , m a r 1 7 7 ? , 0 1 9 9 d a r d f b b d a r d 6 4 4 d 1 6 9 9 a t g s e 2 2 i t g s 0 1 1 i 0 0 1 1 c = e / 4 f f r = e / 0 6 6 r 9 0 6 6 a j t ? 7 e e e j t ? 0 0 0 e e 0 0 0 9 s % f 4 4 4 c s % f 9 0 0 c 1 9 0 0 9 o 5 o 0 7 7 t o 5 o 0 0 0 t d 0 0 0 1 n D r 0 4 4 % n D r 0 9 9 % 9 0 9 9 6 " = m 1 0 0 2 " = m 1 0 0 2 8 1 0 0 0 , u a 0 0 0 6 , b a 0 0 0 6 / 0 0 0 0 n t f 1 1 m 4 t 9 1 1 m ? 9 1 1 0 g = 7 0 0 o 5 = e 0 0 o f e 0 0 9 d j 5 f f d m j 0 9 9 d o 1 9 9 0 3 s 3 7 7 e p s 4 e e e r d e e 0 " o c 5 5 = " o 5 0 0 = m 9 1 1 1 , n 0 3 3 r , n 4 4 4 r a 8 d d 0 " " c c e " " 5 5 e t / 9 9 9 , , 0 0 n , , 4 4 n = " 8 8 e " " d " " d j , / / 1 , , e , , e s " " d r r o , , 9 " " n 8 , , " / , ? k i n d = f o l d e r " , 検索例 JSON:APIに準拠しているので、filterパラメータを使用します。 ...

2025年3月19日 · 39 分 · Nakamura

GakuNin RDM APIをつかってみる

概要 GakuNin RDMでは、以下でAPIが公開されています。このAPIの使用例について備忘録です。 https://api.rdm.nii.ac.jp/v2/ 参考 GakuNin RDMはOSF(Open Science Framework)をベースに構築されており、APIに関するドキュメントは以下で確認することができます。OpenAPIに準拠しています。 https://developer.osf.io/ PATの取得 PAT(パーソナルアクセストークン)を取得します。 ログイン後、以下のURLから作成することができます。 https://rdm.nii.ac.jp/settings/tokens/ 利用 以下のようなスクリプトにより、プログラムからもアクセスすることができます。 a c c e s s _ t o k e n = x x x i i f l l a # u # # r r m m r o o c r e e p p o a a c ア l フ w s s o o m d d e ッ ァ i p p r r _ _ s プ = イ t o u h } o t t d d d s ロ ル h n r e n o o o _ ー f を s l a s r o t t t t ド ' 開 o e , d e e s e e e o U h き p e ' . q n n n k R t 、 e = r A j u v v v e L t P n s u s e ( ( n に p U ( r = t o s i v " ク s T f e { h n t m e . = エ : リ i q o ( s p r / リ / ク l u r ) o b e o パ / エ e e i r o n s ラ a ス _ s z t s v . メ p ト p t a e " e ー i で a s t l = ) n タ . ア t . i o T v を r ッ h g o a r i 追 d プ , e n d u r 加 m ロ t ' _ e o . ー ' ( : d ) n n ド r o . i b f t g i ' ' e e . ) B n t a e v ( c a a " . s r a j e c p f r c / i e v l { s 2 e a s / : c _ n c t o e o d s k e s e s _ n / t " ' o ) k e n } ' 参考までに、Authorizationヘッダーが未指定の場合、以下の結果が返却されました。 ...

2024年10月26日 · 3 分 · Nakamura

GakuNin RDMとZoteroを接続する

概要 GakuNin RDMとZoteroを接続する機会がありましたので、備忘録です。 以下のように、指定したZoteroのコレクションおよびフォルダを連携することができます。 方法 GakuNin RDMの/addons/において、Zoteroの「プロフィールからアカウントをインポート」リンクをクリックして、プロジェクトとZoteroアカウントを接続します。 その後、まずライブラリに設定を行います。 次にフォルダを指定します。 上記において、Changeや変更といったボタンを押して、それぞれ設定する必要がありました。 まとめ GakuNin RDMとZoteroの連携にあたり、参考になりましたら幸いです。

2024年10月25日 · 1 分 · Nakamura

Archivematicaにmdx.jpのオブジェクトストレージを追加する

概要 Archivematicaにmdx.jpのオブジェクトストレージを追加する機会がありましたので、備忘録です。 背景 以下の記事で、Amazon S3をArchivematicaの処理対象およびAIPの保存先に設定する方法を記載しました。 今回は、この手順をベースとしつつ、mdx.jpのオブジェクトストレージを接続してみます。 設定方法 以下のように設定します。 S3 Endpoint URLには、https://s3ds.mdx.jpを設定します。 Access Key ID to authenticateとSecret Access Key to authenticate withには、以下で得られるアクセスキーと秘密鍵を使用します。 結果 結果、以下のように、mdx.jpのオブジェクトストレージを入出力ストレージとして利用できるようになりました。これにより、AIPやDIPをmdx.jpのオブジェクトストレージに保存することができます。 補足 以下の記事で記載した方法を参考に、GakuNin RDMとmdx.jpのオブジェクトストレージを接続することができます。 これにより、GakuNin RDM上でAIPやDIPの確認が可能となります。これにより、GakuNin RDMのBinderHubを用いたAIPの分析や可視化が可能となります。 可視化例として、ArchivematicaのMETSファイルを人間に優しい方法で探索可能とするMETSFlaskの応用などが考えられます。 まとめ Archivematica, GakuNin RDM, mdx.jpなどの連携にあたり、参考になりましたら幸いです。

2024年10月25日 · 1 分 · Nakamura