なぜ RDF を JSONLD に変換するのですか?
JSON-LD は有効な JSON であるため、専用の RDF ライブラリがなくても、あらゆる JSON パーサーでその構造を読み取ることができます。JavaScript フロントエンドや JSON を期待する REST API にリンクトデータを渡す場合、RDF/XML よりも JSON-LD の方が実用的な選択肢です。
RDF から JSONLD への変換方法
Apache Jena (riot) OPEN-SOURCE
riot --output=JSONLD input.rdf > output.jsonld を実行します。出力ファイルの @context セクションと @graph セクションを確認してください。
Raptor (rapper) OPEN-SOURCE
rapper -i rdfxml -o jsonld input.rdf > output.jsonld を実行して、解析された RDF グラフを JSON-LD として直接シリアル化します。
Protege FREE
File > Open から .rdf ファイルを Protege に読み込み、File > Save As を使用して出力形式として JSON-LD を選択します。
これらの形式について
RDFファイルは、セマンティック・ウェブの基盤であるW3C Resource Description Frameworkデータを保持し、RDF/XMLテキストとしてシリアル化されています。任意のテキストエディタやブラウザで開いてマークアップを確認でき、オントロジーの場合はProtegeを使用します。これはプレーンなXMLであり、実行コードは含まれません。
.RDF の詳細を開く →.JSONLD ファイルは、misc ファイルである Microsoft Visual Studio data に関連付けられています。
.JSONLD の詳細を開く →品質と注意点
- 変換はロスレス(無損失)です。すべてのトリプル、URI、リテラルは
.jsonld出力に保持されます。 - 空白ノード識別子 (
_:b0など) は、シリアル化の間に変更される可能性があります。アプリケーションでファイル間の空白ノード ID を比較している場合は、変換後に再確認してください。 - Raptor と Jena はデフォルトで展開された JSON-LD を生成します。必要に応じて jsonld.js や PyLD などの JSON-LD ライブラリを使用して、
@contextで出力をコンパクト化してください。
よくある質問
RDF/XML から JSON-LD への変換でデータは失われますか?
なぜ RDF/XML の代わりに JSON-LD を使うのですか?
展開された (expanded) JSON-LD とはどういう意味ですか?
@context ブロックを使用してより短い形式にコンパクト化できます。