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

True

--useuris, --metauris

Include metadata in output

Default

True

-im, --importmap <importmap>

Import mapping file

--log_level <log_level>

Logging level

Default

WARNING

Options

CRITICAL | ERROR | WARNING | INFO | DEBUG

-v, --verbose

verbosity

--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, ForwardRef('Generator')], schemaview: Optional[linkml_runtime.utils.schemaview.SchemaView] = None, format: Optional[str] = None, metadata: bool = <factory>, useuris: Optional[bool] = None, log_level: int = 30, mergeimports: Optional[bool] = <factory>, source_file_date: Optional[str] = None, source_file_size: Optional[int] = None, logger: Optional[logging.Logger] = None, verbose: Optional[bool] = None, output: Optional[str] = None, namespaces: Optional[linkml_runtime.utils.namespaces.Namespaces] = None, directory_output: bool = False, base_dir: str = None, metamodel_name_map: Dict[str, str] = None, importmap: Union[str, Mapping[str, str], NoneType] = None, emit_prefixes: Set[str] = <factory>, metamodel: linkml.utils.schemaloader.SchemaLoader = None, default_ns: str = None, context_body: Dict = <factory>, slot_class_maps: Dict = <factory>, emit_metadata: bool = <factory>, model: Optional[bool] = <factory>, base: Optional[str] = None, prefixes: Optional[bool] = <factory>, flatprefixes: Optional[bool] = <factory>, **_kwargs)[source]
serialize(**kwargs) str

Generate output in the required format

Parameters

kwargs – Generater specific parameters

Returns

Generated output