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 SPARQLConstraint
s 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 Value s 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, visit
public Map<org.openrdf.model.Value,BigdataValue> getValues()
Value
objects to the corresponding
BigdataValue
objects for all Value
s 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 ASTRDFValue
s are collected in a Map
which associates each one with a BigdataValue
object which is set
using ASTRDFValue.setRDFValue(org.openrdf.model.Value)
. The
BigdataValue
s will be resolved later (in ASTDeferredIVResolution)
in a batch against the database, obtaining their IVs
.
Until then BigdataValue
s in the parse tree have unresolved
IV
s (TermID(0)).qc
- org.openrdf.query.MalformedQueryException
public 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 resolution
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.