予備知識
ImportとExport
要素
オプション
例題
例
アプリケーション
関連項目
GraphStore`
Wolfram Language code:
Wolfram Language code:
Wolfram Language code:
Wolfram Language code:
Wolfram Language code:
Wolfram Language code:
Wolfram Language code:
Wolfram Language code:
Wolfram Language code:
JSONLD (.jsonld)
予備知識
-
- MIMEタイプ:application/ld+json
- RDFのグラフとデータ集合のためのJSONベース形式.
- JSON-LDはhttps://www.w3.org/TR/json-ld/に記述されている.
オプション
- Importオプション:
-
"Base" Automatic 相対IRIの解決に使用する基底IRI "DocumentLoader" Automatic リモートのコンテキストのインポートに使われる関数 "ExpandContext" None 拡張中にアクティブなコンテキストの初期化に使うコンテキスト "ProduceGeneralizedRDF" False 特性の位置に空白ノードを含むファイルをインポートするかどうか - "Base"の値はファイルが基底IRIを指定していない場合にのみ使用される.
- "Base"には次の値が使える.
-
Automatic インポートされたファイルのファイル名 None 基底IRIはなし "iri" または URL["iri"] IRI - JSONファイルをRDFStoreとしてインポートするために,"ExpandContext"を与えることができる.
- "RawData"要素のための追加的なImportオプションには以下がある.
-
"CompactArrays" True 1要素の配列をその要素で置き換えるかどうか "Context" None 圧縮のために使うコンテキスト "Profile" None どのようにしてデータをJSONLDとして表すか - "RawData"のインポート中に"CompactArrays","Context", "Profile"の各オプションを指定することは,Exportの最中にそれらのオプションを指定するのと同じ効果がある.
- Exportオプション:
-
"CompactArrays" True 1つの要素の配列をその要素で置換するかどうか "Context" None 圧縮に使われるコンテキスト "ExpandContext" None 拡張中にアクティブなコンテキストの初期化に使うコンテキスト "Profile" "Compacted" どのようにしてデータをJSONLDとして表すか "UseNativeTypes" False 数とブールリテラルをJSONの数とブーリアンとして表すかどうか "UseRDFType" False rdf:typeの述語をrdf:typeまたは@typeとしてエキスポートするかどうか - "Context"は,短い項がどのようにIRIと関連するか,どのデータタイプの値を持っているか,IRIがどのクラスに属しているかを指定する連想である.
- "Profile"は,データがJSONLDとしてどのように表されるかを指定する.以下は,指定可能な値である.
-
"Compacted" IRIを項と圧縮IRIに,値を数と文字列に短縮する "Expanded" すべての項と短い形式を拡張する "Flattened" ノードの全特性を単一のJSONオブジェクトに集め,各空白ノードのためのラベルを生成する
例題
すべて開く すべて閉じる例 (1)
Needs["GraphStore`"]アルバート・アインシュタインについてのドキュメントをインポートする:
einsteinStore = ImportString["{
\"@context\":{
\"name\":\"http://xmlns.com/foaf/0.1/name\",
\"birthDate\":{
\"@id\":\"http://schema.org/birthDate\",
\"@type\":\"http://www.w3.org/2001/XMLSchema#date\"
}
},
\"@id\":\"http://www.wikidata.org/entity/Q937\",
\"@type\":\"http://schema.org/Person\",
\"name\":\"Albert Einstein\",
\"birthDate\":\"1879-03-14\"
}", "JSONLD"]einsteinStore//SPARQLSelect[RDFTriple[SPARQLVariable["person"], URL["http://schema.org/birthDate"], SPARQLVariable["birthDate"]]]ExportString[einsteinStore, "JSONLD"]ExportString[einsteinStore, "JSONLD", "Context" -> <|
"name" -> "http://xmlns.com/foaf/0.1/name",
"birthDate" -> <|
"@id" -> "http://schema.org/birthDate",
"@type" -> "http://www.w3.org/2001/XMLSchema#date"
|>
|>]アプリケーション (1)
Needs["GraphStore`"]さまざまなオブジェクトの質量についてのTurtleドキュメントをインポートする:
massesStore = ImportString["
prefix qudt: <http://qudt.org/schema/qudt/>
prefix unit: <http://qudt.org/vocab/unit/>
prefix ex: <http://example.org/>
ex:eifelTower ex:mass [qudt:numericValue 10100E0; qudt:unit unit:MetricTon] .
ex:earth ex:mass [qudt:numericValue 5.97237E24; qudt:unit unit:Kilogram] .
ex:caffeineMolecule ex:mass [qudt:numericValue 194.19E0; qudt:unit unit:UnifiedAtomicMassUnit] .
", "Turtle"]massesContext = <|
"mass" -> "http://example.org/mass",
"value" -> "http://qudt.org/schema/qudt/numericValue",
"unit" -> <|
"@id" -> "http://qudt.org/schema/qudt/unit",
"@type" -> "@id"
|>,
"qudt-unit" -> "http://qudt.org/vocab/unit/",
"ex" -> "http://example.org/"
|>;ExportString[massesStore, "JSONLD", "UseNativeTypes" -> True, "Context" -> massesContext]