概要

IIIFマニフェストがJSON-LDで記述されていることを確認するため、他のフォーマットに変換してみましたので、備忘録です。

RDFと、JSON-LDやTurtleなどのファイルフォーマットの関係、およびJSON-LDによって記述されているIIIFマニフェストファイルとの関係など、参考になりましたら幸いです。

対象

今回は、NDLデジタルコレクションで公開されている以下のマニフェストファイルを対象にします。

https://dl.ndl.go.jp/api/iiif/3437686/manifest.json

変換

EASY RDF Converterを使用します。

https://www.easyrdf.org/converter

以下のように、IIIFマニフェストファイルのURLを指定して、Input FormatにJSON-LD、Output FormatにTurtleを指定します。

結果、以下のように変換されました。

@@@@@@@@@@@<<<<<ppppppppppph))hhhhrrrrrrrrrrrtannnndrrftanrtanreetanrtanreeeeeeeeeeeeetss<<<<<<<<<<<<<<<<;ss___________;cddotsdtsdxxtsdtsdxxfffffffffffp<00hhhhhhhhhhhhhhhh00::::::::::::ffapn0fpn0fiipn0fpn0fiiiiiiiiiiiiish::tttttttttttttttt::gggggggggggrssfss:sss:sffss:sss:sffxxxxxxxxxxx:tahtttttttttttttttthmeeeeeeeeeeei::::0h::0h::::0h::0h:::/ttappppppppppppppppaennnnnnnnnnnglsl/:al/:alhw/:al/:alhwnxdrfedndor/ptsssssssssssssssssstiiiiiiiiiiihaeo/Rsa/Csaei/Rsa/Csaeisscdoxcsoadd:rR::::::::::::::::SadddddddddddtbegdaCbdaIbiddaCbdaIbid0d:fai11a:flia/ed22222333334seAolnaelnmegtlnaelnmegt::sff1:p:./bn/qa02468024680ll.gnl.valhh.gnl.valhh<:::::<niugddddddddddddddddut<s<nevnagtnevnagt<<h<h<ditelllllllllllllllleah"ohda"dse"6da"dse"6hht<<<<h<thliis................nLttl;slA348l;slA148ttthhhhthtt.fonnnnnnnnnnnnnnnncat<t.e.;n"79.e.;n979ttpttttttptg.n(ddddddddddddddddebphpgsgn^00gs"gn"00pp:ttttpt:poiLllllllllllllllllsestsooo^6o^oo^6::pppp:p/:.oa................l:t:.(.tx..(^.t^./:::::/j/bgggggggggggggggg(s/p/jjas;jxjax;p/w/paeoooooooooooooooo/.s/p< ptdp<sptsiwur/ww/pl................_(d:d/h/i:/hd/idiwrwxwpduwwaijjjjjjjjjjjjjjjj:l/lataosat:ao:iwlwmwufs.wp/"ppppppppppppppppg./.pt"pntptspnsf..wlwrsew.ip////////////////en"dnip^isriptist.wo.n.l.f3w/raaaaaaaaaaaaaaaand^ld/s^/i/sr/ri3rwsw.ou.3ieppppppppppppppppil^.li:xi(ni:ii(io.g3.3orlo.isiiiiiiiiiiiiiiiid.xn.i/sigi/nino/.c.rgiroie////////////////1gsdgi/di_i/gi_gardooogngrfniiiiiiiiiiiiiiii8odlofd:f:;fdf:pgcrmrscg/tiiiiiiiiiiiiiiii.:../ls/g/l./g;i/ggdi.n/3aiiiiiiiiiiiiiiii)jsgj3.t3e3.3e2tfccs14tNffffffffffffffffptop4nr4n4n4np0e22c/93ia////////////////;/r./3di3i3d3ir0r0a0em97ot3333333333333333jiji7ln7d7l7de1m0f0lsa96ni4444444444444444anpm6.g646.64s/s03een#/8/o3333333333333333/g/g8g838g86eX/0mrs>062n7777777777777777ia/6o.66o6nM>0.1ev/2/#a6666666666666666i;pl/./)/./)tL112nid/mMl8888888888888888iirjcrjcaS///tco2aa6666666666666666fgapa;apa;tcr>esea2nnD////////////////_oon/nn/nihdx/sp-iiirrrrrrrrrrrrrrrrla/gavgavoefi1##rffeaaaaaaaaaaaaaaaaiinepaepanm-f.>>deetnnnnnnnnnnnnnnnncpd/is/is/as1fssggggggggggggggggeml1//2//2#cn/-ttLeeeeeeeeeeeeeeeenhd>i3>i1#>hs>s.>i////////////////s?ci>i9>e#yjb1234567891111111ev/ii>m>ns;r>>>>>>>>>0123456.eiffatoa>>>>>>>hri//#anrtbi33>x>ym=f44-,lG-33n>el77sJto66#A;Rg88>Peo66Ac.//Nopcc"rnaa^dgnn^&>vvxmaasessdt//:a31sd>9ta>rt)ia)nP;gr;e;fix=dcndl_porta&identifier=oai:dl.ndl.go.jp:info:ndljp/pid/3437686>;

RDF/XMLにも変換してみます。

<<?rxd<mfrl:d<<<RfrnnvD:dss<eFDf00rre:::d<sxxxxxxxxxxstahfr/immmmmmmmmmcyta:d<rollllllllllrptsDfn/dnnnnnnnnnnnierRe:s<<nf=sssssssssspiasf0n/rs:"::::::::::trbnci:s<nd0f1rnrfddondeidugrrR0r/sf:i.dsdoccasoxofteisa:d<<r0sRr0f0fa1==1ain:isptnhfrrd::as"==sf1""=pfro>t>ga:ddfhlnt""===hh"==reniesDff:aag>ehh"""tth""dsLoCe::DsbentthhhttthhfoanrasfreCe>ctttttppttt:ub>dnciesaloppttt::pttarefvrrscnd::ppp/:ppbcl:aistrvri/::://::oeasptiadn//pw//u=rbetrpsfgwi/uwr/t"dosirdte:=wiwxprwduw=hfu>odfisd"wiwmul.fsw"t:tnf:o>au.fwlr.wsewhtd=>:rnttw..nlo3.f.tpa"re>af3iws.r.ouwt:thest-.o3.ogrl3p/atsoy8o/.crrgi.s/ttoup"raoogdgno:iypuregprmcscr/ipsrc=?/igdni.g/ie:ce">1/fctscdf=/e=h9p2o/ec2l."/="t9r0aerom0.ihd"ht9e0flmas/0notlhtp/s0es#en3d/t.tt:0e0m/"rslapntp/2n0.e"v1.p:dp://t11nid2gils/w2a//tco/o/.:w2tr"seae.pwgww-id/spxjrwo/w.rof1##ipew.dwwdn-.""f/s.jl.3f/s1/aewp.w.-2c/npn3/n3os#h"sit.ad.ry"e#/aoplognm"itri.r/ta>iig/gg2a#io/io0x"fn2i.10-//0ij91n320fp9/s4#1//9X#3M/3a/M"7aX4p0L6nM3i2S8iL7//c6fS6i2h/ec8i2emsh6i-mate/fran"mr/d#i/aa3fsf>#n4-tesg3srste7yitr/6nn.i18tgjn"6a"sg>/x>o"c-n>an"ns>v#ansi/l 3""<N/artdifosn:allabDeile>tLibrary,JAPAN</ns0:attributionLabel>

JSON-LDはRDFデータの出力フォーマットの一つであるため、他のフォーマットへの変換も機械的に実施できることがわかります。

IIIFマニフェスト内の@context

JSON-LDファイルは、多くの場合、@contextプロパティを持ちます。今回対象としているIIIFマニフェストファイルの場合、以下のように記述されています。

{""""""}@@@lmlctiaeioydbtcnp"eaete:ldne""asx:":tetha"""t""::st:cp"":s[hhM:]tta/,ttn/ppid.s:fl:/e.//sn/itd"di"l,li,..fgn.odi.loj./pga/opa.ipj/ipp//rijeiasi/efin/it3ia4ft3_i7lo6in8c/6e2/n/mscaeon.nihtfteemxsltt"..,jjssoonn"",,

@contextプロパティで指定されている以下の中身を確認してみます。

http://iiif.io/api/presentation/2/context.json

以下のようなJSONが表示され、例えば、licenseというプロパティに対して、@type@id@iddcterms:rightsと記述されています。

{}"@con{text""""}"sdal,:ccsi"t"c[:e:e""rn@@"m"stihsheydt"t"p"t:t:e:pp":":{:"/h/d/t/"citw@tipwiei:wdrf/."m./w,sip3:ou.r/roialrgp.ghio/t/rnspgs"r//edascce/tntitevaritmtisyo/sn"t/,r2e#a"m,s#",

これにより、IIIFマニフェストファイル内の"license": "https://dl.ndl.go.jp/ja/iiif_license.html"という記述は、プロパティとしてはdcterms:rightsであり、https://dl.ndl.go.jp/ja/iiif_license.htmlという値はリソースとして扱う、ということが指示されています。

先のTurtleの出力結果を確認すると、そのように変換されていることが確認できます。

@<phrtandetscfp<0:ish:rx:tai/ttgd/pthcd:rt:lis./b<niu<hdithtliitt.fotpg.np:oiLs/.oa:/j/b/ppae/u/pldraillp/"..ipno/rdrielgis./iegdfnoc/t./3ajt4tNpe3ia/r7otjm6nias8/o//62ni>/#aimMliaafnnD_iiilffeieetcssettLn.>isjbes;r.oahnrt>ym,l>JA;PAN"^^xsd:string;

なお、出力結果におけるプレフィックスdcは、http://purl.org/dc/terms/を指しており、これはIIIFマニフェストの@contextにおける定義と一致しています。このため、Turtle形式への変換が適切に行われていることが確認できます。

まとめ

RDFとJSON-LDやTurtleなどのファイルフォーマットの関係、およびJSON-LDによって記述されているIIIFマニフェストファイルとの関係など、参考になりましたら幸いです。