triplemodel.config

RDF configuration and vocabulary constants.

class triplemodel.config.RdfConfig(namespace='', type_uri=None, instance_of=None, instance_type_uri=None, id_field=None, prefixes=<factory>, embed='iri', graph_mode='add', blank_node_policy='fresh', skolemize_export=False, skolemize_import=False, base_uri=None, jsonld_context=None, graph_iri=None, resolve_subclass=True, strict_import=False, warn_unmapped_fields=False)[source]

Bases: object

RDF metadata for an TripleModel subclass.

Parameters:
  • namespace (str)

  • type_uri (str | None)

  • instance_of (str | tuple[str, ...] | None)

  • instance_type_uri (str | tuple[str, ...] | None)

  • id_field (str | None)

  • prefixes (Mapping[str, str])

  • embed (Literal['iri', 'bnode'])

  • graph_mode (Literal['add', 'replace', 'patch'])

  • blank_node_policy (Literal['fresh', 'stable'])

  • skolemize_export (bool)

  • skolemize_import (bool)

  • base_uri (str | None)

  • jsonld_context (dict[str, Any] | str | None)

  • graph_iri (str | None)

  • resolve_subclass (bool)

  • strict_import (bool)

  • warn_unmapped_fields (bool)

__init__(namespace='', type_uri=None, instance_of=None, instance_type_uri=None, id_field=None, prefixes=<factory>, embed='iri', graph_mode='add', blank_node_policy='fresh', skolemize_export=False, skolemize_import=False, base_uri=None, jsonld_context=None, graph_iri=None, resolve_subclass=True, strict_import=False, warn_unmapped_fields=False)
Parameters:
  • namespace (str)

  • type_uri (str | None)

  • instance_of (str | tuple[str, ...] | None)

  • instance_type_uri (str | tuple[str, ...] | None)

  • id_field (str | None)

  • prefixes (Mapping[str, str])

  • embed (Literal['iri', 'bnode'])

  • graph_mode (Literal['add', 'replace', 'patch'])

  • blank_node_policy (Literal['fresh', 'stable'])

  • skolemize_export (bool)

  • skolemize_import (bool)

  • base_uri (str | None)

  • jsonld_context (dict[str, Any] | str | None)

  • graph_iri (str | None)

  • resolve_subclass (bool)

  • strict_import (bool)

  • warn_unmapped_fields (bool)

Return type:

None

base_uri: str | None = None

Default base IRI for Graph.parse (base_iri).

blank_node_policy: Literal['fresh', 'stable'] = 'fresh'
embed: Literal['iri', 'bnode'] = 'iri'
graph_iri: str | None = None

Named graph IRI for Dataset contexts; None uses the default graph.

graph_mode: Literal['add', 'replace', 'patch'] = 'add'
id_field: str | None = None

Model field whose value is appended to namespace for the subject IRI.

instance_of: str | tuple[str, ...] | None = None

Property URI(s) for classification (e.g. wdt:P31) when not using rdf:type.

property instance_of_predicates: tuple[str, ...]
instance_type_uri: str | tuple[str, ...] | None = None

Object URI(s) to filter instance_of (e.g. wd:Q5119 for capital city).

property instance_type_uris: tuple[str, ...]
jsonld_context: dict[str, Any] | str | None = None

Reserved for API stability; not applied on pyoxigraph (warns if set).

namespace: str = ''
property prefixes_dict: dict[str, str]
resolve_subclass: bool = True

When dispatching, match rdfs:subClassOf ancestors of rdf:type.

skolemize_export: bool = False
skolemize_import: bool = False
strict_import: bool = False

Raise when the graph has predicates on the subject outside owned fields.

subject_uri(instance)[source]
Return type:

str

Parameters:

instance (SubjectUriInstance)

type_uri: str | None = None
warn_unmapped_fields: bool = False

Warn when the graph has predicates on the subject outside owned fields.

prefixes: Mapping[str, str]
class triplemodel.config.SubjectUriInstance(*args, **kwargs)[source]

Bases: Protocol

Instance providing attribute values for RdfConfig.subject_uri().

__init__(*args, **kwargs)
triplemodel.config.effective_graph_mode(mode, cfg, *, sync=False)[source]

Resolve mode; default sync to replace when graph_mode is unset (add).

Return type:

Literal['add', 'replace', 'patch']

Parameters:
triplemodel.config.freeze_prefixes(raw)[source]
Return type:

Mapping[str, str]

Parameters:

raw (Mapping[str, str] | list[tuple[str, str]] | None)

triplemodel.config.get_graph_context(container, graph_iri=None)[source]

Return the named-graph view for triple I/O within container.

Return type:

RdfGraph

Parameters:
  • container (RdfGraph | RdfDataset)

  • graph_iri (str | None)

triplemodel.config.get_rdf_config(model_cls)[source]
Return type:

RdfConfig

Parameters:

model_cls (type)

triplemodel.config.id_from_subject_uri(namespace, uri)[source]

Extract the id segment from uri when it was built from namespace.

Return type:

str | None

Parameters:
triplemodel.config.resolve_graph_iri(model, cfg=None)[source]

Return the named graph IRI for model (class config, then instance override).

Return type:

str | None

Parameters:
triplemodel.config.subject_base(namespace)[source]

Return the prefix used when appending an id to namespace.

Return type:

str

Parameters:

namespace (str)