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

GakuNin RDMとDydraを連携したRDFメタデータ管理システムの開発

はじめに 本記事では、GakuNin RDM(Research Data Management)とDydra RDFデータベースを連携させた、研究データのメタデータ管理システムの開発について解説します。このシステムは、研究プロジェクトのファイル管理とDublin Coreメタデータの登録・検索を統合的に扱うことができます。 システム概要 アーキテクチャ ┌ │ │ └ ┌ │ │ │ └ ─ ─ ─ G ─ ─ ─ ─ a ─ ─ ─ ─ k R A ─ ─ N ( ─ ┌ │ ▼ u D P ─ ─ e A ─ ─ ─ N M I ─ ─ x p ─ ─ ─ i ─ ─ t p ─ ─ ─ n ─ ─ . ─ ─ ┐ │ │ │ ┘ ─ j R ┬ │ ┴ ─ s o ─ ─ ┌ │ │ │ └ ─ u ─ ─ ─ ─ ─ 1 t ─ ─ ─ D ─ ─ 4 e ─ ─ ▼ y R ─ ─ r ─ ┐ │ ─ d D D ─ ─ ) ─ ─ r F B ─ ─ ─ ─ a ─ ─ ─ ─ ─ ┐ │ │ ┘ ─ ─ ┐ │ │ │ ┘ 主要技術スタック: ...

2025年10月14日 · 43 分 · 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

DataverseのデータをArchivematicaで処理する

概要 DataverseのデータをArchivematicaで処理する流れを確認しましたので、備忘録です。 背景 ArchivematicaではDataverseのデータを入力する機能を提供しています。 https://www.archivematica.org/en/docs/archivematica-1.17/user-manual/transfer/dataverse/ 本機能について、以下の講演会で教えていただいたので、実際に試してみました。 https://www.kulib.kyoto-u.ac.jp/bulletin/1402322 Dataverse 以下の記事でも使用したDemo Dataverseを使用します。 以下のデータをアップロードしました。 https://demo.dataverse.org/dataset.xhtml?persistentId=doi:10.70122/FK2/IHQZL3 ここから画像データそのものと、JSONデータをダウンロードします。Metadataタブに移動し、Export MetadataからJSONを選択します。 以下はJSONファイルの一部ですが、metadataBlocksにメタデータ、filesに画像ファイルの情報が記載されています。 { } " } " ] m , f e " } i { } t c l a i " " " ] e " " " " " } d t d n f s l r v d d a a i a i { } { } { } { } { } { } { } " a e e a a " " " " " " " " " " " } " " " " t t s m e , , , , , , : b s r t t i p p f c f f s r m c , t c p f a i p e l " " " " " " " " ] " " " " ] " " " " ] " " " " ] " " " " " " " " e t s a a d e i i o r i t o d h " " a r u i B o l " d t m t v t m t v t m t v t m t v t m t v t m t v t m t v [ l r i s F " r d l n i l o o 5 e t v b e b l l n a : s y u y a y u y a { } y u y a { } y u y a { } y u y a " y u y a y u y a " i o e i : s U e t e e r t " c y a u a l e o " y " p l p l p l p l p l p l p l p l p l p l A p l p l p l p l : c n t l i R n e n s a D : k p l l t i A c : N " : e t e u e t e u " } " } e t e u " } " } e t e u " } e t e u r e t e u e t e u t " V e 2 s L a n d i g a s e u a i c c k a c N i C e N i C e a , a N i C e d , d N i C e d N i C e t N i C e N i C e " e : e " 5 t " m t l z e t " u " e r o a c s { m i [ a p l " a p l " u " " " " u " " " " " } a p l " a " " " " a " " " " a p l " s " " " " a p l " s a p l " a p l " n d r : 1 e : e T y e I a 7 m : " D n t e " e t m l a : m l a : t t m t v t t m t v e m l a : t t m t v t t m t v m l a : D t m t v m l a : m l a : m l a : a " 1 s 4 n " y T " d F 2 " : a D i s : " a e e s e e s h y u y a h y u y a x " " " e e s a y u y a a y u y a e e s e y u y a e e s a e e s e e s k : , i { 7 t " : p y : e i f : " t a o s : t " " s " " " s [ o p l p l o p l p l p s t @ " " s [ s p l p l s p l p l " " s [ s p l p l " " s [ n " " s " " " s " a o 2 I h e p n l 0 M " a t n R { i : : " n : : " r e t e u r e t e u a c e t : : " e e t e u e e t e u : : " c e t e u : : " d : : " N : : " 2 m f n 4 d t " " e 5 t e 8 { D 7 " e D e " o : a : N N i C e A N i C e n h r y : t N i C e t N i C e : r N i C e : : a : 0 u a I , " t n : " 3 i I a 5 2 : " a q C n " f k " t a a p l " f a p l " d e m p " t C a p l " C a p l " " t i a p l " " t H " f k " f 2 r l d : p a : 6 f d 8 " f : t u i " t a " a a r " m m l a : f m l a : e m N e d r " o m l a : o m l a : d r " p m l a : s r " u d a " a d a " 5 a s " s k " 5 i " b , 0 f e e t , i l p m u u c e e e s i e e s d e a " a u c n e e s n e e s s u c t e e s u u c m e l p m a l p - 1 e : " : a i " 6 e : 0 8 a " " s a t s r u t e o " " " s " l " " s " v " m : t e o t " " s " t " " s " D e o i " " s " b e o a p s r u t s r 0 9 , d m m J , r 7 a l 2 : t t l e i r h , m : : : " N i : : " h a : e a , m a : : " N a : : " n e , m o : : " M j , n n o e i r e e i 1 6 2 / u a P " - b 8 s 0 " i e , m a o p : a a : t l " " s p c : a c : a s p n : y e t i s , m a O , m - . 8 i d r g E : 1 a b e 2 " : o " i 1 r o { " f k t " f t u " : h e o t " f k t " f . c o V " f c r t i i , f i 1 j 1 : o a e G , c 0 , 5 2 n , t 9 " u a a " a i a a " p e h t t u N d a " a E d a " k r u a d a " F t o i t t D t 9 p 0 1 i 1 / " b 7 - 0 t i 6 , n u l p m o u l p s " t " t C n a a l p m m a l p a i n l s l p i " l e o i S e i " g 9 0 . 9 j I s e b 0 2 r M v " d t s r u n t s r : : t T p o d m t s r u a t s r m p d u D s r r , l s r v a p v " 3 . o 6 p m 3 3 a 1 5 u e e " h e i r " h e i / p h s n " e a e i r i a e i u t " e e e i s e " " e t o e , , 7 r . e a : b c - - e t " , o , m a : o , m / { : e : t , " s , m a l s , m r i , " s , m t d , " o s " 0 g j g g / 5 b 1 0 a , r i , r i r / / a : e i , " e i a o : c i V , r i , 1 / p " e / c e 9 1 d N t { A t o / U / c t t : t t . n r t D o u t 2 1 g , " d f 3 " - a a i S f i r w n s t { C i S C i 1 " { i i a c " " 2 0 " , e 0 b , 1 t m v a f v . w i c " o v a { o v 2 , p v t a , / . , m 2 5 9 a e e t i e o w v h , n e t n e 6 t e a b F 7 o 1 c " " " " o l " r . e e t " o t " 3 i " s u K 0 - 9 f , , , , r i , g g r m a , r a , @ o , e l 2 1 d 1 0 u a / r s a c u c g n t a / 2 a 0 2 " t 0 i i . t " t m V " r I 2 t f 1 i 5 d t o N E a a y H / a d 9 o 7 . y r a m i l " Q F v 2 1 n z a g m a l u , Z K e 6 0 " h c / e i . e L 2 r d f , 3 f O " l c " 3 s c d y o r , " o , I e " 2 9 n T g , m B H - , 6 6 t o a " 7 Q o d " o k n J Z r c , l y i V L g " o o z Q 3 : g " a S / 1 y , t " B 9 / i , 7 4 " o J 8 , n V 1 " Q 5 S 4 " 8 , 2 0 d - 6 3 7 3 3 5 3 3 e a 7 c " , データの準備 Dataverseのサンプルデータは以下に格納されています。 ...

2025年1月21日 · 21 分 · Nakamura

Nuxt3と@sidebase/nuxt-authを使って、GakuNin RDMの認証を行う

概要 Nuxt3と@sidebase/nuxt-authを使って、GakuNin RDMの認証を行う方法です。 デモアプリ https://nuxt-rdm.vercel.app/ リポジトリ https://github.com/nakamura196/nuxt-rdm 参考 当初、以下のwarningが表示されていました。 AUTH_NO_ORIGIN: No origin - this is an error in production, see https://sidebase.io/nuxt-auth/resources/errors. You can ignore this during development そのため、以下を参考に、 https://auth.sidebase.io/resources/error-reference 以下のように設定したところ、エラーが発生しました。 a } u , t b h a : s e { U R L : p r o c e s s . e n v . N E X T A U T H _ U R L , これについて、以下のように、rc版のライブラリを使用していることが原因でした。 ...

2024年12月19日 · 1 分 · Nakamura

GakuNin RDMとfigshareを接続する

概要 GakuNin RDMとfigshareを接続する機会がありましたので、備忘録です。 figshareでの作業 GakuNin RDMとの連携対象のフォルダを作成します。 まずプロジェクトを作成します。以下では「My First Project」というプロジェクトを作成します。 GakuNin RDMとは、ここで作成したプロジェクト単位に連携ができるようでした。 GakuNin RDMでの設定 GakuNin RDM側で作成したプロジェクト(ここでは「My First Project」)を選択します。 GakuNin RDMでのアップロードと閲覧 接続設定を行った後は、他のストレージと同様に、フォルダの作成やファイルのアップロードができました。 注意点として、他のストレージサービスとは異なり、フォルダは1階層しか作成することはできませんでした。これはGakuNin RDM側の「フォルダ」の単位が、figshare側の「Item」という単位に対応するためと考えられます。 figshare側での閲覧 GakuNin RDM側で作成したフォルダは、figshare側では「Item」という単位で登録されました。 ファイルはその「Item」というデータセットの中の1ファイルとして、以下のように扱われるようでした。 参考 参考までに、figshare側でアイテムを作成する方法をメモします。 作成したプロジェクト内で「Item」を作成します。以下では「My First Folder」というアイテムを作成しています。 結果、以下のように、Project「My First Project」内に作成したアイテム「My First Folder」が作成されました。 まとめ GakuNin RDMとfigshareの連携にあたり、参考になりましたら幸いです。

2024年11月19日 · 1 分 · Nakamura

GakuNin RDMをNext.jsから使用する

概要 GakuNin RDMをNext.jsから使用する備忘録です。 背景 以下の記事で、NextAuth.jsを使って、GakuNin RDMの認証を行う方法を紹介しました。 この延長で、GakuNin RDMのデータをロードするNext.jsのアプリを試作します。 デモ GakuNin RDMの認証が使用できる方に限られますが、以下からお試しいただけます。 https://rdm-app.vercel.app/ 例えば以下は、接続したストレージの一覧を確認するページです。 選択したストレージ(ここではosfstorage)におけるフォルダやファイルの一覧です。 以下は、figshareに登録したファイルを参照している例です。 osfstorageやfigshare、GitHubなど、さまざまなストレージに格納されたデータを共通のAPIから利用できる点は便利だと感じました。 GitHubのリポジトリは以下です。 https://github.com/nakamura196/rdm_app まとめ 現時点(データをロードするだけ)においては、本アプリを使用する利点はありませんが、今後、他のアプリとの連携などを通じて、GakuNin RDMのデータを活用できればと思います。 参考になりましたら幸いです。

2024年11月19日 · 1 分 · Nakamura

GakuNin RDMのAPIを使って、ファイルのアップロードなどを行う

背景 GakuNin RDMのAPIを使って、ファイルのアップロードなどを行う方法の備忘録です。 参考 以下でPAT(パーソナルアクセストークン)の取得方法などを説明しています。 また以下では、OAuth (Open Authorization)を使った方法を紹介しています。Webアプリなどから使用される場合には、こちらが参考になりましたら幸いです。 方法 nbdevを使って、以下のリポジトリを作成しました。 https://github.com/nakamura196/grdm-tools 以下でドキュメントを確認できます。 https://nakamura196.github.io/grdm-tools/ プロバイダ(osfstorage)とフォルダのID(6735a92e6dc8e1001062ac08)は変更する必要がありますが、以下のようなスクリプトにより、特定のフォルダにファイルをアップロードできます。 f i c p f u c r m l r i r l o p i o l l i m o e j e e r n t e _ = n g t t o c p t r k t a f . d o = e _ t " u m s n i h h p _ G = d t l t r o = t o o d s = p a o m . " s d l C e " . : _ s l n y / / f . i v s s / i a e i 8 a f l p n r 6 m i e i t o g p l ( ( n " l e f i . e s i m g . . l p e p r e o t n d _ r ( g m p t ' " . a G n t G R i h r D i , d M . m _ a u C T c r l O . l i K j ) e E p n N / t ' v ) 1 / r e s o u r c e s / { p r o j e c t _ i d } / p r o v i d e r s / o s f s t o r a g e / 6 7 3 5 a 9 2 e 6 d c 8 e 1 0 0 1 0 6 2 a c 0 8 / ? k i n d = f i l e " ソースコードは以下からご確認いただけます。 ...

2024年11月16日 · 2 分 · Nakamura

GakuNin RDMとAmazon S3を接続し、Archivematicaでファイルを処理する

概要 GakuNin RDMとAmazon S3を接続し、Archivematicaでファイルを処理する方法に関する備忘録です。 https://rcos.nii.ac.jp/service/rdm/ 背景 以下の記事で、ArchivematicaでAmazon S3を処理対象とする方法を記載しました。 これにより、指定したバケットにファイルやフォルダをアップロードすることにより、それらをArchivematicaの処理対象として、AIPやDIPを作成することができます。 ただし、このままではプロジェクトのメンバー毎にIAMユーザを作成する必要がありました。 GakuNin RDMの利用 今回はメンバー全員がGakuNin RDMのプロジェクトのメンバーとして登録されていました。 そこで、プロジェクトにAmazon S3を接続して、GakuNin RDMからS3にファイルをアップロードできるようにしてみます。 これにより、IAMユーザの管理が不要になります。 設定方法 アドオンを選択します。 Amazon S3を有効にします。 IAMユーザで作成したアクセスキーIDとシークレットアクセスキーを入力することで、バケットの一覧が表示されます。 結果、GakuNin RDMからAmazon S3にファイルをアップロードできるようになりました。 Archivematicaからも同バケットを以下のように参照できるため、ここからAIPなどを作成することができます。 まとめ GakuNin RDMを利用可能な方に限られてしまいますが、参考になりましたら幸いです。

2024年10月9日 · 1 分 · Nakamura

zenodoで資料を公開する

概要 zenodoの使い方を学ぶにあたり、資料を登録してみましたので、備忘録です。登録した資料に付与されたDOIは以下です。 https://zenodo.org/doi/10.5281/zenodo.12508032 DOI DOIについては、最新のバージョンにアクセスできるものと、各バージョンに付与されるものがあり、上記のDOIは前者の者です。バージョン1は以下です。 https://zenodo.org/doi/10.5281/zenodo.12508033 バージョンについては、以下の記事も参考にしてください。 バージョン ファイルの追加や更新を行わない限り、バージョンを変更する必要はなさそうでした。PDFをアップロードした際にDOIが付与され、その後にメタデータを編集しても、バージョンに変更はありませんでした。 このメタデータの更新については、画面右下の「Technical metadata」で確認できました。バージョン1が作成されたのは6/23ですが、6/24に更新されていることが確認できます。 エクスポート JSON-LD いくつかのフォーマットでエクスポートできますが、JSON-LDによる出力もサポートされていました。 { } " " " " " " ] " ] " } " " " ] " } " " " " @ @ @ i n c { } , a { } , p " " , d d t " , i " " " , c s l u c i t d a r " " " " ] " " u " " " " ] " " u @ n a a e 2 n a @ n o i i r o d y e m e n g f a { } , @ @ t n g f a { } , @ @ b t a t t m 0 L l t a n z c l n " p n e a a i a f " " i t h a i a f " " i t l y m e e p 2 a t y m t e e " t : e t " t m v m f @ n d y o m v m f @ n d y i p e P M o 4 n e p e e " n : e " i : o e e i i t a " p r e e i i t a " p s e " u o r - g r e " n : s x " : f r " n l l y m : e " " n l l y m : e h " : b d a 0 u n " : t e " t h i " " : N y i p e " : : N y i p e " e : l i l 6 a a : S " " h " t " e A : a N a e " " : a N a e " " : r " i f " - g t " i 2 : t : t h r I " m a t " : h [ " m a t " : h " " Z s i : 2 e e " J z . t p t " P [ N e m i : t " N e m i : t " : O e h e 1 " N L a e 4 " p " s t : を a " e o " t P a " e o " t P r n e d [ " : a a p " 7 h s h : p 作 k : " n " T p e k : " n " T p e { g o d " m n a : t : t / s " 成 a : " O h s r a : " O h s r a d " : { e g n M t / t / : h ・ m " : r e : s m " : r e : s n o : " u e " B p / p d t 利 u S " g / u S " g / i " " : a s 2 " s z : / t 用 r a N [ a U n r a N [ a U n z " 2 g e . , : e i s p す a t a n n o " a t a n n o " a 2 0 " e " 4 / n / . c s る , o k i i r , o k i i r t 0 2 j " 7 / o s o h : ツ r a z v c r a z v c i 2 4 p , c d c r e / ー S u m a e i S u m a e i o 4 - n M r o h g m / ル a " u t r d a " u t r d n - 0 " B e . e / a d 紹 t , r i s . t , r i s . " 0 6 , " a o m 1 . o 介 o a o i o o a o i o , 6 - , t r a 0 o i " r " n t r r " n t r - 2 i g . . r . , u , " y g u , " y g 2 4 v / o 5 g " , / " , / 3 T e r r 2 r , o 0 , o 0 " 0 c e g 8 P g f 0 f 0 , 1 o c " 1 r / 0 0 : m o , / e 1 T 0 T 0 0 m r z s 0 o - o - 0 o d e e . k 0 k 0 : n s n n 5 y 0 y 0 0 s o t 2 o 0 o 0 9 . 1 d a 8 " 1 " 1 . o 2 o t 1 - - 1 r 5 . i 8 8 7 g 0 1 z 2 2 7 / 8 2 n e 4 4 6 l 0 5 D n 5 5 5 i 3 0 i o - - 1 c 3 8 g d 7 7 + e " 0 i o 9 9 0 n 3 t . 2 2 0 s 3 a 1 5 5 : e " l 2 " " 0 s , D 5 , , 0 / o 0 " b c 8 , y u 0 / m 3 4 e 3 . n " 0 t , / " l , e g a l c o d e " , これをEASY RDF ConverterでRDF/XMLに変換した結果は以下です。schema.orgを中心に使用されていることがわかります。 ...

2024年6月25日 · 44 分 · Nakamura