public class ASTDeferredIVResolutionInitializer extends ASTVisitorBase
Value to
BigdataValue objects that have mock IVs assigned to them.
Note: The PrefixDeclProcessor will rewrite ASTQName nodes as
ASTIRI nodes. It MUST run before this processor.
Note: Any ASTRDFLiteral or ASTIRI nodes are annotated by this
processor using ASTRDFValue.setRDFValue(Value). This includes IRIrefs
in the ASTDatasetClause, which are matched as either ASTIRI
or ASTQName.
Note: This is a part of deferred IV batch resolution, which is intended to
replace the functionality of the BigdataValueReplacer.
Note: IValueExpression nodes used in SPARQLConstraints are
allowed to use values not actually in the database. MP
(decouple SPARQL parser
from DB),
(Refactor test suite to
remove tight coupling with IVs while checking up parsed queries)| Constructor and Description |
|---|
ASTDeferredIVResolutionInitializer() |
| Modifier and Type | Method and Description |
|---|---|
static IV |
decode(String val,
String type)
Decode an IV from its string representation and type, provided in as
ASTRDFLiteral node in AST model.
|
Map<org.openrdf.model.Value,BigdataValue> |
getValues()
Return a map from openrdf
Value objects to the corresponding
BigdataValue objects for all Values that appear in the
parse tree. |
void |
process(ASTOperationContainer qc)
Visit the parse tree, locating and collecting references to all
ASTRDFValue nodes (including blank nodes iff we are in a told
bnodes mode). |
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitpublic Map<org.openrdf.model.Value,BigdataValue> getValues()
Value objects to the corresponding
BigdataValue objects for all Values that appear in the
parse tree.public void process(ASTOperationContainer qc) throws org.openrdf.query.MalformedQueryException
ASTRDFValue nodes (including blank nodes iff we are in a told
bnodes mode). The ASTRDFValues are collected in a Map
which associates each one with a BigdataValue object which is set
using ASTRDFValue.setRDFValue(org.openrdf.model.Value). The
BigdataValues will be resolved later (in ASTDeferredIVResolution)
in a batch against the database, obtaining their IVs.
Until then BigdataValues in the parse tree have unresolved
IVs (TermID(0)).qc - org.openrdf.query.MalformedQueryExceptionpublic static IV decode(String val, String type)
Note: This is a very special case method. Normally logic should go through the ILexiconRelation to resolve inline IVs. This always uses inline IVs, and thus defeats the ILexiconConfiguration for the namespace.
val - the string representationtype - value type(SPARQL QUERY/UPDATE should not use db connection)
This method was moved from IVUtility class, as it is not used anywhere except
AST Deferred resolutionCopyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.