JSON-LD Contexts
Warning
The JSON-LD context generator does not yet include @embed
directives necessary for conversion from RDF.
Warning
The JSON-LD context generator does not yet include @type
directives except at the top level.
Overview
JSON-LD context provides mapping from JSON to RDF.
gen-jsonld-context personinfo.yaml > personinfo.context.jsonld
You can control the output via prefixes declarations and default_curi_maps.
Any JSON that conforms to the derived JSON Schema (see above) can be converted to RDF using this context.
Treatment of OBO prefixes
All OBO ontologies use prefixes that end in underscores (for example
http://purl.obolibrary.org/obo/PATO_
). Note that the JSON-LD 1.1
spec doesn’t allow trailing underscores on simple “flat” prefix maps,
i.e this is not correct:
"@context": {
"PATO": "http://purl.obolibrary.org/obo/PATO_",
...
},
It must be represented as:
"@context": {
"PATO": {
"@id": "http://purl.obolibrary.org/obo/PATO_",
"@prefix": true
},...
However, the former can still be convenient, so this can be done with a flag:
gen-jsonld-context --flatprefixes personinfo.yaml > personinfo.context.jsonld
However, this is not recommended and newer applications should switch to gen-prefix-map:
gen-prefix-map --flatprefixes personinfo.yaml > personinfo.prefixmap.json
Docs
Command Line
gen-jsonld-context
Generate jsonld @context definition from LinkML model
gen-jsonld-context [OPTIONS] YAMLFILE
Options
- --base <base>
Base URI for model
- --prefixes, --no-prefixes
Emit context for prefixes (default=–prefixes)
- Default
True
- --model, --no-model
Emit context for model elements (default=–model)
- Default
True
- --flatprefixes, --no-flatprefixes
Emit non-JSON-LD compliant prefixes as an object (deprecated: use gen-prefix-map instead).
- Default
False
- -f, --format <format>
Output format (default=context)
- Options
context | json
- --metadata, --no-metadata
Include metadata in output (default=–metadata)
- --useuris, --metauris
Include metadata in output (default=–useuris)
- -im, --importmap <importmap>
Import mapping file
- --log_level <log_level>
Logging level (default=WARNING)
- Options
CRITICAL | ERROR | WARNING | INFO | DEBUG
- --mergeimports, --no-mergeimports
Merge imports into source file (default=mergeimports)
Arguments
- YAMLFILE
Required argument
Code
- class linkml.generators.jsonldcontextgen.ContextGenerator(schema: Union[str, TextIO, linkml_runtime.linkml_model.meta.SchemaDefinition], **kwargs)[source]
- serialize(**kwargs) str
Generate output in the required format
- Parameters
kwargs – Generater specific parameters
- Returns
Generated output