Query and compiler
ORM query builder; compiles Python filters to SPARQL.
- class sparqlmodel.query.Query(session, model_cls)[source]
Bases:
objectORM query builder for a
SPARQLModelclass.
Query expression types for the SPARQL compiler.
- class sparqlmodel.expressions.FieldRef(model_cls, field_name, path=())[source]
Bases:
objectReference to a model field in a query expression.
- __init__(model_cls, field_name, path=())
- class sparqlmodel.expressions.IriStrFieldRef(field, mode)[source]
Bases:
objectIRI field with SPARQL string function wrapper.
- __init__(field, mode)
- class sparqlmodel.expressions.IriStrCompare(left, op, right)[source]
Bases:
objectCompare
STR/LCASE/UCASEof an IRI binding.- __init__(left, op, right)
- class sparqlmodel.expressions.PropertyPathCompare(model_cls, sparql_path, op, right)[source]
Bases:
objectFilter using a SPARQL property path (escape hatch for
^,+,*).- __init__(model_cls, sparql_path, op, right)
- class sparqlmodel.expressions.CompareExpr(left, op, right)[source]
Bases:
objectComparison expression for query filtering.
- __init__(left, op, right)
- class sparqlmodel.expressions.NotExpr(inner)[source]
Bases:
objectBoolean NOT of a filter expression.
- __init__(inner)
- class sparqlmodel.expressions.AndExpr(expressions)[source]
Bases:
objectAND combination of comparison expressions.
- __init__(expressions)
- class sparqlmodel.expressions.OrExpr(expressions)[source]
Bases:
objectOR combination of comparison or AND expressions.
- __init__(expressions)
- sparqlmodel.expressions.not_(expr)[source]
Negate a filter expression (SPARQL
FILTER NOT EXISTS/ boolean NOT).- Return type:
- sparqlmodel.expressions.property_path(model_cls, path, op, value)[source]
Build a property-path filter (path uses
/,^,*,+as in SPARQL).- Return type:
- sparqlmodel.expressions.property_eq(model_cls, path, value)[source]
property_pathshorthand for equality.- Return type:
ORM filter expressions → SPARQL WHERE clauses.
- sparqlmodel.compiler.compile_compare(expr, model_cls, root_var, registry, join_counter, join_cache, *, use_not_exists_for_ne=True)[source]
Compile a comparison; return (patterns, filters).
- sparqlmodel.compiler.compile_and_branch(expr, model_cls, root_var, registry, join_counter, *, use_not_exists_for_ne=True)[source]
Compile an AND branch inside OR as a single EXISTS block.
- Return type: