概要
rico-converterを試す機会がありましたので、備忘録です。
https://github.com/ArchivesNationalesFR/rico-converter
以下のように説明されています。
A tool to convert EAC-CPF and EAD 2002 XML files to RDF datasets conforming to Records in Contexts Ontology (RiC-O)
(機会翻訳)EAC-CPFやEAD 2002のXMLファイルを、Records in Contexts Ontology(RiC-O)に準拠したRDFデータセットに変換するためのツール
変換する
以下に説明があります。
https://archivesnationalesfr.github.io/rico-converter/en/GettingStarted.html
まず、以下から最新のzipファイルをダウンロードして、展開します。
https://github.com/ArchivesNationalesFR/rico-converter/releases/latest
サンプルデータとして、input-eac
とinput-ead
があるので、これらをRDFに変換します。
本フォルダ内にあるinput-eac/FRAN_NP_051151.xml
について、ChatGPTによる解説は以下です。
!
このXMLファイルは、EAC-CPF(Encoded Archival Context for Corporate Bodies, Persons, and Families)という形式で記述されており、フランスの文化省(Ministère de la Culture)などの組織に関する情報を体系的に整理したものです。主な要素は次の通りです:
• Controlセクション: レコードに関するメタデータを含んでいます。これには、レコードID、言語の宣言、更新履歴、使用した資料の出典などが含まれます。
• Identityセクション: 法人(ここではフランスの文化省)に関する基本的な情報が記載されています。文化省の名前が変遷してきたことを示す複数の名称や、各名称が使われていた期間も詳細に記述されています。
• Descriptionセクション: 文化省の存在期間、法的地位、主要な機能、任務、さらにその歴史的な変遷に関する詳細な説明が含まれています。たとえば、1959年に設立され、法令に基づいてどのように運営されてきたか、組織の構造がどのように変化したかが説明されています。
• Relationsセクション: 他の組織や人物との関係を示しています。ここには、フランス国内の関連機関や教育機関、さらには歴代の文化相との関係が詳細に記載されており、外部のリソース(アーカイブやオンラインの情報)へのリンクも含まれています。
このXMLは、アーカイブや組織に関する情報を標準化された形式で記述し、他のデータベースやシステムと連携することを目的としています。特に、組織の歴史や関係性を追跡する際に有用です。
以下を実行します。
デフォルトのまま実行すると、output-eac-20241005
といったフォルダが作成され、その中にRDFファイルが出力されます。
本フォルダ内にあるinput-ead/FRAN_IR_003500.xml
について、ChatGPTによる解説は以下です。
!
このXMLファイルは「EAD (Encoded Archival Description)」形式で書かれた、アーカイブ資料の記述を表す文書です。この具体的な文書は、フランスの「Fonds Vitet」というアーカイブ資料(19世紀から20世紀にかけてのもの)を説明しています。内容は、文書の概要、作成者、出版情報、そしてアーカイブ資料の詳細な構成などを含んでいます。
主な要素
1. eadheader: この部分は、資料に関するメタデータ(言語、日付、リポジトリの情報)を含んでいます。例えば、資料のID(FRAN_IR_003500)や、アーカイブの概要が記載されています。
2. filedesc: 資料のタイトルや作成者、出版者などが記載されています。この例では、「Fonds Vitet」というタイトルで、C. Sibilleが作成者であり、フランス国立アーカイブ(Archives Nationales)によって発行されたことがわかります。
3. archdesc: アーカイブの内容を詳細に説明しています。「Fonds Vitet」の各資料のユニットID、タイトル、作成年代、起源(例えば、誰によって作成されたか)などが構造化されて記述されています。
4. dsc: アーカイブの詳細目録です。各資料が階層的に整理されており、個別の文書や手紙、写真アルバムなどの詳細な内容が一覧化されています。
この文書は、アーカイブの詳細な記録で、研究者やアーカイブの利用者が資料を参照しやすいように整理され、階層的に構造化されています。
先と同様に、以下を実行します。
この時、Enter command to execute
という選択肢において、convert_ead
を選択します。
実行例は以下です。
sh ricoconverter.sh
:: Welcome to Ric-O Converter 2.0.2 ::
Enter command to execute (convert_eac, convert_eac_raw, convert_ead, test_eac, test_ead, version, help) [press Enter for 'convert_eac'] :convert_ead
Enter parameter file location [press Enter for 'parameters/convert_ead.properties']:
java -Xmx1200M -Xms1200M -jar ricoconverter-cli-2.0.2-onejar.jar convert_ead @parameters/convert_ead.properties
RiC-O Converter 100% [===============================================] 17/17 (0:00:01 / 0:00:00)
07:29:49.862 INFO f.g.c.a.r.e.c.Ead2RicoConverterReportListener -
--- EAD Conversion Report ---
- Number of files to process: 17
- Number of files in ERROR : 0
- Number of files in success: 17
List of files in errors:
None !
Process took 0:00:01 (started at 2024-10-05 07:29:48, ended at 2024-10-05 07:29:49)
結果、output-ead-20241005
といったフォルダが作成され、その中にRDFファイルが出力されます。
SPARQLエンドポイントに登録する
以下を参考に、Dydraに出力されたRDFファイルを一括登録します。
https://zenn.dev/nakamura196/articles/d53d4ab238e3d1
登録スクリプトの例は以下です。
from glob import glob
from dydra_py. api import DydraClient
from tqdm import tqdm
files = glob( "./ricoconverter-2.0.2/output-eac-20241005/**/*.rdf" , recursive= True )
endpoint, api_key = DydraClient. load_env( "./.env" )
client = DydraClient( endpoint, api_key)
for file in tqdm( files) :
client. import_by_file( file , "xml" )
合わせて、ricoでは以下のNamespaceを使用するようでしたので、これらをSnorqlに登録しました。
以下、色々と試してみます。
https://nakamura196.github.io/snorql_examples/rico/?describe=http%3A%2F%2Fdata.archives-nationales.culture.gouv.fr%2FrecordResource%2Ftop-003500
!
これは「Fonds Vitet」というフランス国立公文書館に保存されている資料コレクションに関する記述です。このコレクションには、以下の情報が含まれています:
• rdf:type: このリソースは「RecordResource」(記録資源)および「RecordSet」(記録セット)に該当します。
• rdfs:label: このコレクションのタイトルは「Fonds Vitet」(ヴィテ・コレクション)です。
• beginningDate: コレクションの開始日は1801年1月1日です。
• date: コレクションの範囲は「19世紀から20世紀」にわたります。
• endDate: コレクションの終了日は2000年12月31日です。
• hasInstantiation: このコレクションには具体的な実体(実際の資料)があり、そのURIはhttp://data.archives-nationales.culture.gouv.fr/instantiation/top-003500-i1です。
• hasOrHadHolder: このコレクションの保有者は、フランス国立公文書館の機関(agent/005061)です。
• hasProvenance: このコレクションの出所は、2つのエージェント(050218と052986)に関連しています。
• hasRecordSetType: このコレクションのタイプは「Fonds」(資料群)です。
• includesOrIncluded: このコレクションには、複数の記録リソースが含まれています(003500-d_1, 003500-d_2, 003500-d_3, 003500-d_4)。
• isOrWasDescribedBy: このコレクションは記録(record/003500)に記述されています。
• title: コレクションの正式なタイトルは「Fonds Vitet」(ヴィテ・コレクション)です。
このデータは、フランス国立公文書館に保存されている「Fonds Vitet」という歴史的な記録群を記述しており、19世紀から20世紀にかけての資料が含まれています。
rico:includesOrIncluded
で複数のリソースが関連づけられています。
https://nakamura196.github.io/snorql_examples/rico/?describe=http%3A%2F%2Fdata.archives-nationales.culture.gouv.fr%2FrecordResource%2F003500-d_1
!
このデータは、フランス国立公文書館に保存されている「LUDOVIC VITET (1802-1873)」に関する記述です。このリソースは、Ludovic Vitetの資料に関する記録リソースを示しており、以下の情報が含まれています:
• rdf:type: このリソースは「RecordResource」(記録リソース)に該当します。
• rdfs:label: タイトルは「LUDOVIC VITET (1802-1873)」です。
• hasInstantiation: この記録の実体(具体的な資料)は、http://data.archives-nationales.culture.gouv.fr/instantiation/003500-d_1-i1 に存在します。
• hasOrHadPart: この記録リソースは複数の部分に分かれており、それらは以下のURIで表されます:
• 003500-d_1_1
• 003500-d_1_2
• 003500-d_1_3
• 003500-d_1_4
• 003500-d_1_5
• hasProvenance: この記録リソースの出所は、http://data.archives-nationales.culture.gouv.fr/agent/051234 に関連しています。
• isOrWasIncludedIn: このリソースは、上位の記録セット「Fonds Vitet」(top-003500)に含まれています。
この情報は、19世紀フランスの歴史家であり政治家であったLudovic Vitetに関連する資料群の詳細を提供しています。
rico:hasProvenance
でagentと関連づいています。
https://nakamura196.github.io/snorql_examples/rico/?describe=http%3A%2F%2Fdata.archives-nationales.culture.gouv.fr%2Fagent%2F051234
!
このデータは、フランス国立公文書館に保存されている「Ludovic Vitet (1802-1873)」に関するエージェント(人物)の記録です。Ludovic Vitet は、フランスの歴史家、考古学者、政治家として知られており、この記録には以下の情報が含まれています。
• rdf:type: このエージェントは「Person」(人物)として分類されています。
• rdfs:label: タイトルは「Vitet, Ludovic (1802-1873)」です。
• owl:sameAs: Ludovic Vitetに関する他のデータソースへのリンクが提供されています(例: DBpedia、ISNI)。
• agentIsConnectedToAgentRelation: 他のエージェントとの関係を示すリンク。
• birthDate: 1802年10月18日に生まれたことを示しています。
• deathDate: 1873年6月5日に亡くなったことを示しています。
• descriptiveNote: Ludovic Vitet の家族構成や歴史的背景、彼の業績に関する詳細が記述されています。
• 例えば、彼は考古学や歴史学に関心を持ち、ジャーナリズムや文学の分野でも活躍した人物で、特にフランスのモニュメントの保存に関わり、モニュメント・ヒストリック委員会の設立にも貢献しました。
この記録は、Ludovic Vitet の生涯と彼の功績についての豊富な情報を提供しており、彼の家系やフランスの文化遺産保護への取り組みを詳しく説明しています。
これは、rico:isOrWasDescribedBy
で以下のRecordと関連づけられています。
https://nakamura196.github.io/snorql_examples/rico/?describe=http%3A%2F%2Fdata.archives-nationales.culture.gouv.fr%2Frecord%2F051234
!
このデータは、フランス国立公文書館の「Ludovic Vitet (1802-1873)」に関する記録を表しています。この記録には以下の情報が含まれています。
• rdf:type: 「Record」(記録)として分類されています。
• rdfs:seeAlso: Ludovic Vitet に関する他の参考資料へのリンクが含まれています(例: Wikipedia, ISNI)。
• creationDate: 記録が作成された日付は2015年12月3日です。
• describesOrDescribed: この記録は、Ludovic Vitet に関するエージェント(人物)を記述しています。
• hasCreator: この記録を作成したのは「フランス国立公文書館(agent/005061)」です。
• hasDocumentaryFormType: 記録の形式は「Authority Record(権威記録)」です。
• hasInstantiation: この記録に関連するインスタンスへのリンクが含まれています。
• hasOrHadLanguage: 記録の言語はフランス語です。
• isOrWasRegulatedBy: この記録に関連する規則へのリンクがあります。
• lastModificationDate: 記録が最後に修正されたのは2019年10月25日です。
• source: Ludovic Vitet に関するさまざまな情報源へのリンクが含まれています(例: BnF、Académie française、Wikipedia)。
この記録は、Ludovic Vitet の生涯や業績に関する詳細な情報を提供しており、彼に関する信頼性のある情報源を示しています。
これは、rico:hasCreator
で、以下のagentと関連づいています。
https://nakamura196.github.io/snorql_examples/rico/?describe=http%3A%2F%2Fdata.archives-nationales.culture.gouv.fr%2Fagent%2F005061
!
このデータは、フランス国立公文書館(Archives nationales)の概要を示しています。以下の詳細が含まれています:
• rdf:type: 「rico:Agent」および「rico:CorporateBody」(法人)として分類されています。
• rdfs:label: 「Archives nationales (France ; 1790-….)」としての名称が付与されています。
• owl:sameAs: フランス国立公文書館に関する他のデータベースやリンク(例: DBpedia, BnF, ISNI)。
• rico:agentIsConnectedToAgentRelation: 他のエージェントとの関係や活動期間を示すURIが含まれています。
• rico:beginningDate: 設立日として「1790-01-01」が示されています。
• rico:descriptiveNote: 公文書館の内部組織と歴史に関する説明。公文書館は以下の3つの主要なサイトで構成されていることが記載されています:
• パリサイト:旧体制の公文書、パリ公証人の記録
• ピエールフィット=シュル=セーヌサイト:革命以降の公文書と私的文書
• フォンテーヌブローサイト:特定の公文書(例: 帰化申請書、栄誉勲章の記録)
さらに、4つの主要な部門(公衆部門、資料部門、科学支援部門、管理部門)で運営されていることが説明されています。
• rico:groupIsTargetOfGroupSubdivisionRelation: 公文書館の内部でのグループの分割関係が示されています。
• rico:history: 公文書館の歴史的な背景が詳細に説明されており、1790年に設立され、歴史的な公文書の保管や、フランス全土の公文書の集中化、そしてアクセスの公共性などの原則が説明されています。また、各時代を通じた公文書館の変遷や機能の拡大についても詳述されています。
この記録はフランス国立公文書館の詳細な組織構造や歴史的背景を提供するものであり、各時代における機能や役割の変遷についても説明しています。
これは、rico:isOrWasSubdivisionOf
によって、以下のagentと関連づいています。
https://nakamura196.github.io/snorql_examples/rico/?describe=http%3A%2F%2Fdata.archives-nationales.culture.gouv.fr%2Fagent%2F000005
!
このデータは、フランスの「Ministère de la Culture et de la Communication」(文化・通信省)に関する情報を含んでいます。以下はその概要です:
• rdf:type: 「rico:Agent」および「rico:CorporateBody」(法人)として分類されています。
• rdfs:label: 「France. Ministère de la Culture et de la Communication (1959-….)」としての名称が付与されています。
• owl:sameAs: このエージェントは他のデータベースとリンクされており、DBpedia、BnF(フランス国立図書館)、ISNIへのリンクが含まれています。
• rico:agentIsConnectedToAgentRelation: 他の機関や期間との関係性が示されています。
• rico:beginningDate: 文化・通信省の設立日が「1959-01-08」として記録されています。
• rico:descriptiveNote: 省の組織構成と歴史に関する詳細な説明が含まれています。1959年に設立された文化・通信省は、建築、フランス国立公文書館、芸術および文学の総局などを含むさまざまな部門で構成され、時代とともに構造の変更や独立が進んできました。例えば、1969年には芸術・文学総局が廃止され、1970年には音楽・舞踊・オペラの部門が独立し、2009年の公共政策改革では3つの主要部門(文化遺産、芸術創造、メディア・文化産業)に再編されました。
• rico:agentIsTargetOfAgentOriginationRelationやrico:agentIsTargetOfPerformanceRelation: さまざまな関係や活動履歴がURIで示されています。
• rico:history: 省の歴史的な発展についての説明です。1959年にシャルル・ド・ゴールによって設立され、アンドレ・マルローが初代文化大臣に任命されたことが記載されています。その後、複数の大臣が文化政策の方向性を示し、2000年代に入るとデジタル技術やインターネットに対応する新しい分野にも焦点が当てられました。
この記録は、文化・通信省の設立からの発展や関係機関とのつながりを詳細に記録したものです。
上記のように、さまざまなリソースがRDFによって関連づけられていることが確認できました。
まとめ
Records in Contexts Ontology (RiC-O)をしっかりと勉強したいと思いました。
参考になりましたら幸いです。
Discussion