本文整理了Java中org.apache.jena.sparql.engine.ExecutionContext.getDataset()
方法的一些代码示例,展示了ExecutionContext.getDataset()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ExecutionContext.getDataset()
方法的具体详情如下:
包路径:org.apache.jena.sparql.engine.ExecutionContext
类名称:ExecutionContext
方法名:getDataset
暂无
代码示例来源:origin: apache/jena
public FunctionEnvBase(ExecutionContext execCxt)
{
this(execCxt.getContext(), execCxt.getActiveGraph(), execCxt.getDataset()) ;
execContext = execCxt ;
}
代码示例来源:origin: apache/jena
@Override
public void build(PropFuncArg argSubject, Node predicate, PropFuncArg argObject, ExecutionContext execCxt) {
super.build(argSubject, predicate, argObject, execCxt);
DatasetGraph dsg = execCxt.getDataset();
server = chooseTextIndex(execCxt,dsg);
}
代码示例来源:origin: org.apache.jena/jena-spatial
@Override
public void build(PropFuncArg argSubject, Node predicate, PropFuncArg argObject, ExecutionContext execCxt) {
super.build(argSubject, predicate, argObject, execCxt);
DatasetGraph dsg = execCxt.getDataset();
server = chooseTextIndex(execCxt,dsg);
}
代码示例来源:origin: apache/jena
@Override
protected QueryIterator execute(OpQuadPattern quadPattern, QueryIterator input)
{
if ( ! isForTDB )
return super.execute(quadPattern, input) ;
// DatasetGraph dg = execCxt.getDataset() ;
// if ( ! ( dg instanceof DatasetGraphTDB ) )
// throw new InternalErrorException("Not a TDB backed dataset in quad pattern execution") ;
DatasetGraphTDB ds = (DatasetGraphTDB)execCxt.getDataset() ;
BasicPattern bgp = quadPattern.getBasicPattern() ;
Node gn = quadPattern.getGraphNode() ;
return optimizeExecuteQuads(ds, input, gn, bgp, null, execCxt) ;
}
代码示例来源:origin: apache/jena
private QueryIterator specialcase(Node gn, Op subOp, QueryIterator input) {
// This is a placeholder for code to specially handle explicitly named
// default graph and union graph.
if (Quad.isDefaultGraph(gn)) {
ExecutionContext cxt2 = new ExecutionContext(execCxt, execCxt.getDataset().getDefaultGraph()) ;
return execute(subOp, input, cxt2) ;
}
// Bad news -- if ( Lib.equals(gn, Quad.tripleInQuad) ) {}
return null ;
}
代码示例来源:origin: apache/jena
@Override
protected QueryIterator execute(OpQuadPattern quadPattern, QueryIterator input)
{
if ( ! isForTDB )
return super.execute(quadPattern, input) ;
// DatasetGraph dg = execCxt.getDataset() ;
// if ( ! ( dg instanceof DatasetGraphTDB ) )
// throw new InternalErrorException("Not a TDB backed dataset in quad pattern execution") ;
DatasetGraphTDB ds = (DatasetGraphTDB)execCxt.getDataset() ;
BasicPattern bgp = quadPattern.getBasicPattern() ;
Node gn = quadPattern.getGraphNode() ;
return optimizeExecuteQuads(ds, input, gn, bgp, null, execCxt) ;
}
代码示例来源:origin: apache/jena
@Override
protected QueryIterator nextStage(Binding outerBinding) {
DatasetGraph ds = getExecContext().getDataset() ;
// Is this closed?
Iterator<Node> graphNameNodes = makeSources(ds, outerBinding, opGraph.getNode());
// List<Node> x = Iter.toList(graphNameNodes) ;
// graphNameNodes = x.iterator() ;
// System.out.println(x) ;
QueryIterator current = new QueryIterGraphInner(outerBinding, graphNameNodes, opGraph, getExecContext()) ;
return current ;
}
代码示例来源:origin: apache/jena
protected static QueryIterator buildIterator(Binding binding, Node graphNode, Op opExec, ExecutionContext outerCxt) {
if ( !graphNode.isURI() && !graphNode.isBlank() )
// e.g. variable bound to a literal or blank node.
throw new ARQInternalErrorException("QueryIterGraphInner.buildIterator: Not a URI or blank node: "+graphNode) ;
// We can't just use DatasetGraph.getGraph because it may
// "auto-create" graphs. Use the containsGraph function.
boolean syntheticGraph = ( Quad.isDefaultGraph(graphNode) || Quad.isUnionGraph(graphNode) ) ;
if ( ! syntheticGraph && ! outerCxt.getDataset().containsGraph(graphNode) )
return null ;
Graph g = outerCxt.getDataset().getGraph(graphNode) ;
// And the contains was true??!!!!!!
if ( g == null )
return null ;
//throw new ARQInternalErrorException(".containsGraph was true but .getGraph is null") ;
ExecutionContext cxt2 = new ExecutionContext(outerCxt, g) ;
QueryIterator subInput = QueryIterSingleton.create(binding, cxt2) ;
return QC.execute(opExec, subInput, cxt2) ;
}
代码示例来源:origin: apache/jena
@Override
public void build(PropFuncArg argSubject, Node predicate, PropFuncArg argObject, ExecutionContext execCxt) {
super.build(argSubject, predicate, argObject, execCxt) ;
DatasetGraph dsg = execCxt.getDataset() ;
textIndex = chooseTextIndex(execCxt, dsg) ;
if (argSubject.isList()) {
int size = argSubject.getArgListSize();
if (size == 0 || size > 4) {
throw new QueryBuildException("Subject has "+argSubject.getArgList().size()+" elements, must be at least 1 and not greater than 4: "+argSubject);
}
}
if (argObject.isList()) {
List<Node> list = argObject.getArgList() ;
if (list.size() == 0)
throw new QueryBuildException("Zero-length argument list") ;
if (list.size() > 5)
throw new QueryBuildException("Too many arguments in list : " + list) ;
}
}
代码示例来源:origin: apache/jena
static Table evalDS(OpDatasetNames opDSN, Evaluator evaluator)
{
Node graphNode = opDSN.getGraphNode() ;
if ( graphNode.isURI() )
{
if ( evaluator.getExecContext().getDataset().containsGraph(graphNode) )
{ return new TableUnit() ; }
else
// WRONG
{ return new TableEmpty() ; }
}
if ( ! Var.isVar(graphNode) )
throw new ARQInternalErrorException("OpDatasetNames: Not a URI or variable: "+graphNode) ;
DatasetGraph dsg = evaluator.getExecContext().getDataset() ;
Iterator<Node> iter = dsg.listGraphNodes() ;
List<Binding> list = new ArrayList<>((int)dsg.size()) ;
for ( ; iter.hasNext(); )
{
Node gn = iter.next();
Binding b = BindingFactory.binding(Var.alloc(graphNode), gn) ;
list.add(b) ;
}
QueryIterator qIter = new QueryIterPlainWrapper(list.iterator(), evaluator.getExecContext()) ;
return TableFactory.create(qIter) ;
}
代码示例来源:origin: org.apache.jena/jena-text
@Override
public void build(PropFuncArg argSubject, Node predicate, PropFuncArg argObject, ExecutionContext execCxt) {
super.build(argSubject, predicate, argObject, execCxt) ;
DatasetGraph dsg = execCxt.getDataset() ;
textIndex = chooseTextIndex(execCxt, dsg) ;
if (argSubject.isList()) {
int size = argSubject.getArgListSize();
if (size == 0 || size > 4) {
throw new QueryBuildException("Subject has "+argSubject.getArgList().size()+" elements, must be at least 1 and not greater than 4: "+argSubject);
}
}
if (argObject.isList()) {
List<Node> list = argObject.getArgList() ;
if (list.size() == 0)
throw new QueryBuildException("Zero-length argument list") ;
if (list.size() > 5)
throw new QueryBuildException("Too many arguments in list : " + list) ;
}
}
代码示例来源:origin: apache/jena
@Override
protected QueryIterator execute(OpDatasetNames dsNames, QueryIterator input)
{
DatasetGraphTDB ds = (DatasetGraphTDB)execCxt.getDataset() ;
Predicate<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ;
Node gn = dsNames.getGraphNode() ;
if ( Var.isVar(gn) )
return SolverLib.graphNames(ds, dsNames.getGraphNode(), input, filter, execCxt) ;
else
return SolverLib.testForGraphName(ds, dsNames.getGraphNode(), input, filter, execCxt) ;
}
代码示例来源:origin: apache/jena
@Override
protected QueryIterator execute(OpDatasetNames dsNames, QueryIterator input)
{
DatasetGraphTDB ds = (DatasetGraphTDB)execCxt.getDataset() ;
Predicate<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ;
Node gn = dsNames.getGraphNode() ;
if ( Var.isVar(gn) )
return SolverLib.graphNames(ds, dsNames.getGraphNode(), input, filter, execCxt) ;
else
return SolverLib.testForGraphName(ds, dsNames.getGraphNode(), input, filter, execCxt) ;
}
代码示例来源:origin: ch.epfl.bluebrain.nexus.org.topbraid/shacl
@Override
public QueryIterator exec(Binding binding, PropFuncArg argSubject,
Node predicate, PropFuncArg argObject, ExecutionContext execCxt) {
argSubject = Substitute.substitute(argSubject, binding);
argObject = Substitute.substitute(argObject, binding);
if(!argObject.getArg().isVariable()) {
throw new ExprEvalException("Right hand side of tosh:targetContains must be a variable");
}
Node targetNode = argSubject.getArgList().get(0);
Node shapesGraphNode = argSubject.getArgList().get(1);
Model currentModel = ModelFactory.createModelForGraph(execCxt.getActiveGraph());
Dataset dataset = new DatasetWithDifferentDefaultModel(currentModel, DatasetImpl.wrap(execCxt.getDataset()));
Model model = dataset.getNamedModel(shapesGraphNode.getURI());
Resource target = (Resource) model.asRDFNode(targetNode);
Set<Node> focusNodes = new HashSet<Node>();
SHACLUtil.addNodesInTarget(target, dataset, focusNodes);
return new QueryIterExtendByVar(binding, (Var) argObject.getArg(), focusNodes.iterator(), execCxt);
}
}
代码示例来源:origin: TopQuadrant/shacl
@Override
public QueryIterator exec(Binding binding, PropFuncArg argSubject,
Node predicate, PropFuncArg argObject, ExecutionContext execCxt) {
argSubject = Substitute.substitute(argSubject, binding);
argObject = Substitute.substitute(argObject, binding);
if(!argObject.getArg().isVariable()) {
throw new ExprEvalException("Right hand side of tosh:targetContains must be a variable");
}
Node targetNode = argSubject.getArgList().get(0);
Node shapesGraphNode = argSubject.getArgList().get(1);
Model currentModel = ModelFactory.createModelForGraph(execCxt.getActiveGraph());
Dataset dataset = new DatasetWithDifferentDefaultModel(currentModel, DatasetImpl.wrap(execCxt.getDataset()));
Model model = dataset.getNamedModel(shapesGraphNode.getURI());
Resource target = (Resource) model.asRDFNode(targetNode);
Set<Node> focusNodes = new HashSet<Node>();
SHACLUtil.addNodesInTarget(target, dataset, focusNodes);
return new QueryIterExtendByVar(binding, (Var) argObject.getArg(), focusNodes.iterator(), execCxt);
}
}
代码示例来源:origin: apache/jena
@Override
public QueryIterator execute(OpQuadPattern opQuadPattern, QueryIterator input)
{
Node gn = opQuadPattern.getGraphNode() ;
gn = decideGraphNode(gn, execCxt) ;
if ( execCxt.getDataset() instanceof DatasetGraphTDB )
{
DatasetGraphTDB ds = (DatasetGraphTDB)execCxt.getDataset() ;
Explain.explain("Execute", opQuadPattern.getPattern(), execCxt.getContext()) ;
BasicPattern bgp = opQuadPattern.getBasicPattern() ;
return SolverLib.execute(ds, gn, bgp, input, filter, execCxt) ;
}
// Maybe a TDB named graph inside a non-TDB dataset.
Graph g = execCxt.getActiveGraph() ;
if ( g instanceof GraphTDB )
{
// Triples graph from TDB (which is the default graph of the dataset),
// used a named graph in a composite dataset.
BasicPattern bgp = opQuadPattern.getBasicPattern() ;
Explain.explain("Execute", bgp, execCxt.getContext()) ;
// Don't pass in G -- gn may be different.
return SolverLib.execute(((GraphTDB)g).getDatasetGraphTDB(), gn, bgp, input, filter, execCxt) ;
}
Log.warn(this, "Non-DatasetGraphTDB passed to OpExecutorPlainTDB") ;
return super.execute(opQuadPattern, input) ;
}
代码示例来源:origin: apache/jena
@Override
public QueryIterator execute(OpQuadPattern opQuadPattern, QueryIterator input)
{
Node gn = opQuadPattern.getGraphNode() ;
gn = decideGraphNode(gn, execCxt) ;
if ( execCxt.getDataset() instanceof DatasetGraphTDB )
{
DatasetGraphTDB ds = (DatasetGraphTDB)execCxt.getDataset() ;
Explain.explain("Execute", opQuadPattern.getPattern(), execCxt.getContext()) ;
BasicPattern bgp = opQuadPattern.getBasicPattern() ;
return SolverLib.execute(ds, gn, bgp, input, filter, execCxt) ;
}
// Maybe a TDB named graph inside a non-TDB dataset.
Graph g = execCxt.getActiveGraph() ;
if ( g instanceof GraphTDB )
{
// Triples graph from TDB (which is the default graph of the dataset),
// used a named graph in a composite dataset.
BasicPattern bgp = opQuadPattern.getBasicPattern() ;
Explain.explain("Execute", bgp, execCxt.getContext()) ;
// Don't pass in G -- gn may be different.
return SolverLib.execute(((GraphTDB)g).getDSG(), gn, bgp, input, filter, execCxt) ;
}
Log.warn(this, "Non-DatasetGraphTDB passed to OpExecutorPlainTDB") ;
return super.execute(opQuadPattern, input) ;
}
代码示例来源:origin: apache/jena
protected QueryIterator execute(OpQuadPattern quadPattern, QueryIterator input) {
// Convert to BGP forms to execute in this graph-centric engine.
if (quadPattern.isDefaultGraph() && execCxt.getActiveGraph() == execCxt.getDataset().getDefaultGraph()) {
// Note we tested that the containing graph was the dataset's
// default graph.
// Easy case.
OpBGP opBGP = new OpBGP(quadPattern.getBasicPattern()) ;
return execute(opBGP, input) ;
}
// Not default graph - (graph .... )
OpBGP opBGP = new OpBGP(quadPattern.getBasicPattern()) ;
OpGraph op = new OpGraph(quadPattern.getGraphNode(), opBGP) ;
return execute(op, input) ;
}
代码示例来源:origin: apache/jena
DatasetGraphTDB ds = (DatasetGraphTDB)execCxt.getDataset() ;
return optimizeExecuteQuads(ds, input,
quadPattern.getGraphNode(), quadPattern.getBasicPattern(),
代码示例来源:origin: apache/jena
DatasetGraphTDB ds = (DatasetGraphTDB)execCxt.getDataset() ;
return optimizeExecuteQuads(ds, input,
quadPattern.getGraphNode(), quadPattern.getBasicPattern(),
内容来源于网络,如有侵权,请联系作者删除!