triplemodel.io.sparql
SPARQL query passthrough and remote endpoint helpers.
- class triplemodel.io.sparql.PreparedModelQuery(model_cls, query_str)[source]
Bases:
objectPrepared SPARQL query with namespaces from a model’s
Rdf.prefixes.- execute(graph, *, initBindings=None, use_store_provided=True, **kwargs)[source]
Run the prepared query on
graph.
- triplemodel.io.sparql.apply_update(graph, update, *, model_cls=None, initNs=None, initBindings=None, use_store_provided=True, **kwargs)[source]
Apply a SPARQL UPDATE to
graph(in-memory models may be stale afterward).
- triplemodel.io.sparql.ask(graph, query, *, model_cls=None, initNs=None, initBindings=None, use_store_provided=True, **kwargs)[source]
Execute an ASK query and return the boolean result.
- triplemodel.io.sparql.construct_models(model_cls, graph, query, *, dispatch=False, graph_out=None, type_uri=None, validate_type=True, on_duplicate='warn', resolver=None, registry=<triplemodel.terms.registry.LiteralRegistry object>, de_skolemize=None, initNs=None, initBindings=None, use_store_provided=True, **kwargs)[source]
Run CONSTRUCT/DESCRIBE and load models from the result graph.
- Return type:
- Parameters:
model_cls (type[T])
graph (RdfGraph)
query (str)
dispatch (bool)
graph_out (RdfGraph | None)
type_uri (str | None)
validate_type (bool)
on_duplicate (Literal['ignore', 'warn', 'error', 'first'])
resolver (PredicateResolver | None)
registry (LiteralRegistry)
de_skolemize (bool | None)
initBindings (Mapping[str, NamedNode | BlankNode | Literal] | None)
use_store_provided (bool)
kwargs (Any)
- triplemodel.io.sparql.detect_query_form(query)[source]
Return the first SPARQL query form keyword in
query.
- triplemodel.io.sparql.graph_from_construct_result(result, graph_out=None)[source]
Merge a CONSTRUCT/DESCRIBE
Resultgraph intograph_outor a new graph.- Return type:
RdfGraph- Parameters:
result (SparqlResult)
graph_out (RdfGraph | None)
- triplemodel.io.sparql.init_bindings_from_model(instance, mapping)[source]
Map SPARQL variable names to RDF terms from model field values.
- triplemodel.io.sparql.init_ns_from_model(model_cls)[source]
Build prefix map for SPARQL from
model_clsRdf.prefixes.
- triplemodel.io.sparql.load_sparql(model_cls, endpoint, query, *, query_form=None, read_only=True, dispatch=False, type_uri=None, validate_type=True, on_duplicate='warn', resolver=None, registry=<triplemodel.terms.registry.LiteralRegistry object>, de_skolemize=None, initNs=None, initBindings=None, use_store_provided=True, **kwargs)[source]
Query a remote SPARQL endpoint and return model instances.
Uses
open_sparql_graph(), which raisesNotImplementedErrorin 0.10.0. Query a localStorewithconstruct_models()/select_models()after fetching data, or use SparqlModel for remote endpoints.- Return type:
- Parameters:
model_cls (type[T])
endpoint (str)
query (str)
query_form (Literal['select', 'construct', 'describe', 'ask', 'unknown'] | None)
read_only (bool)
dispatch (bool)
type_uri (str | None)
validate_type (bool)
on_duplicate (Literal['ignore', 'warn', 'error', 'first'])
resolver (PredicateResolver | None)
registry (LiteralRegistry)
de_skolemize (bool | None)
initBindings (Mapping[str, NamedNode | BlankNode | Literal] | None)
use_store_provided (bool)
kwargs (Any)
- triplemodel.io.sparql.open_sparql_graph(endpoint, *, read_only=True)[source]
Open a remote SPARQL graph (removed in 0.10.0).
Raises
NotImplementedError. Load remote data into a localStoreor use SparqlModel for session-level remote stores.
- triplemodel.io.sparql.prepare_model_query(model_cls, query)[source]
Prepare
query(prefixes applied at execution frommodel_cls).- Return type:
- Parameters:
- triplemodel.io.sparql.run_sparql(graph, query, *, model_cls=None, initNs=None, initBindings=None, use_store_provided=True, use_default_graph_as_union=False, default_graph=None, named_graphs=None, base_iri=None, **kwargs)[source]
Run SPARQL on
graph.storewith optional prefixes and bindings.- Return type:
SparqlResult- Parameters:
- triplemodel.io.sparql.select_models(model_cls, graph, query, *, field_map=None, subject_var=None, hydrate=False, type_uri=None, validate_type=True, on_duplicate='warn', resolver=None, registry=<triplemodel.terms.registry.LiteralRegistry object>, de_skolemize=None, initNs=None, initBindings=None, use_store_provided=True, **kwargs)[source]
Run SELECT and return model instances from result bindings or hydration.
- Return type:
- Parameters:
model_cls (type[T])
graph (RdfGraph)
query (str)
subject_var (str | None)
hydrate (bool)
type_uri (str | None)
validate_type (bool)
on_duplicate (Literal['ignore', 'warn', 'error', 'first'])
resolver (PredicateResolver | None)
registry (LiteralRegistry)
de_skolemize (bool | None)
initBindings (Mapping[str, NamedNode | BlankNode | Literal] | None)
use_store_provided (bool)
kwargs (Any)