本文整理汇总了Java中org.apache.jena.sparql.core.BasicPattern.add方法的典型用法代码示例。如果您正苦于以下问题:Java BasicPattern.add方法的具体用法?Java BasicPattern.add怎么用?Java BasicPattern.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.jena.sparql.core.BasicPattern
的用法示例。
在下文中一共展示了BasicPattern.add方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: format
import org.apache.jena.sparql.core.BasicPattern; //导入方法依赖的package包/类
@Override
public void format(Template template) {
out.print("{");
out.incIndent(INDENT);
out.pad();
List<Quad> quads = template.getQuads();
for (Quad quad : quads) {
BasicPattern bgp = new BasicPattern();
bgp.add(quad.asTriple());
out.newline();
if (!Quad.defaultGraphNodeGenerated.equals(quad.getGraph())) {
out.print("GRAPH");
out.print(" ");
out.print(slotToString(quad.getGraph()));
out.print(" ");
out.newline();
out.incIndent(INDENT);
out.pad();
out.print("{");
out.incIndent(INDENT);
out.pad();
}
formatTriples(bgp);
if (!Quad.defaultGraphNodeGenerated.equals(quad.getGraph())) {
out.decIndent(INDENT);
out.print("}");
out.decIndent(INDENT);
}
}
out.newline();
out.decIndent(INDENT);
out.print("}");
out.newline();
}
示例2: MarkLogicQueryEngine
import org.apache.jena.sparql.core.BasicPattern; //导入方法依赖的package包/类
/**
* Constructor.
* @param query A Jena Query. This engine does not use all parts of the Query hierarchy.
* @param datasetGraph The MarkLogic instance viewed through Jena. Must be a MarkLogicDatasetGraph.
* @param initial Bindings for the query.
* @param context
*/
private MarkLogicQueryEngine(Query query, DatasetGraph datasetGraph,
Binding initial, Context context) {
super(query, datasetGraph, initial, context);
bgp = new BasicPattern();
bgp.add(new Triple(
Var.alloc("s"),
Var.alloc("p"),
Var.alloc("o")));
template = new Template(bgp);
this.markLogicDatasetGraph = (MarkLogicDatasetGraph) datasetGraph;
this.initial = initial;
}
示例3: visit
import org.apache.jena.sparql.core.BasicPattern; //导入方法依赖的package包/类
@Override
public void visit(ElementPathBlock el) {
// Write path block - don't put in a final trailing "."
if (el.isEmpty()) {
out.println("# Empty BGP");
return;
}
// Split into BGP-path-BGP-...
// where the BGPs may be empty.
PathBlock pBlk = el.getPattern();
BasicPattern bgp = new BasicPattern();
boolean first = true; // Has anything been output?
for (TriplePath tp : pBlk) {
if (tp.isTriple()) {
bgp.add(tp.asTriple());
continue;
}
if (!bgp.isEmpty()) {
if (!first) {
out.println(" .");
}
flush(bgp);
first = false;
}
if (!first) {
out.println(" .");
}
// Path
printSubject(tp.getSubject());
out.print(" ");
SPARQLGeneratePathWriter.write(out, tp.getPath(), context);
out.print(" ");
printObject(tp.getObject());
first = false;
}
// Flush any stored triple patterns.
if (!bgp.isEmpty()) {
if (!first) {
out.println(" .");
}
flush(bgp);
first = false;
}
}
示例4: main
import org.apache.jena.sparql.core.BasicPattern; //导入方法依赖的package包/类
public static void main (String[] argv)
{
String BASE = "http://example/" ;
BasicPattern bp = new BasicPattern() ;
Var var_x = Var.alloc("x") ;
Var var_z = Var.alloc("z") ;
// ---- Build expression
bp.add(new Triple(var_x, NodeFactory.createURI(BASE+"p"), var_z)) ;
Op op = new OpBGP(bp) ;
//Expr expr = ExprUtils.parse("?z < 2 ") ;
Expr expr = new E_LessThan(new ExprVar(var_z), NodeValue.makeNodeInteger(2)) ;
op = OpFilter.filter(expr, op) ;
// ---- Example setup
Model m = makeModel() ;
m.write(System.out, "TTL") ;
System.out.println("--------------") ;
System.out.print(op) ;
System.out.println("--------------") ;
// ---- Execute expression
QueryIterator qIter = Algebra.exec(op, m.getGraph()) ;
// -------- Either read the query iterator directly ...
if ( false )
{
for ( ; qIter.hasNext() ; )
{
Binding b = qIter.nextBinding() ;
Node n = b.get(var_x) ;
System.out.println(NodeFmtLib.displayStr(n)) ;
System.out.println(b) ;
}
qIter.close() ;
}
else
{
// -------- Or make ResultSet from it (but not both - reading an
// iterator consumes the current solution)
List<String> varNames = new ArrayList<String>() ;
varNames.add("x") ;
varNames.add("z") ;
ResultSet rs = new ResultSetStream(varNames, m, qIter);
ResultSetFormatter.out(rs) ;
qIter.close() ;
}
System.exit(0) ;
}
示例5: exec
import org.apache.jena.sparql.core.BasicPattern; //导入方法依赖的package包/类
@Override
public QueryIterator exec(QueryIterator input, PropFuncArg argSubject, Node predicate, PropFuncArg argObject, ExecutionContext execCxt)
{
// No real need to check the pattern arguments because
// the replacement triple pattern and regex will cope
// but we illustrate testing here.
Node nodeVar = argSubject.getArg() ;
String pattern = NodeUtils.stringLiteral(argObject.getArg()) ;
if ( pattern == null )
{
Log.warn(this, "Pattern must be a plain literal or xsd:string: "+argObject.getArg()) ;
return QueryIterNullIterator.create(execCxt) ;
}
if ( false )
// Old (ARQ 1) way - not recommended.
return buildSyntax(input, nodeVar, pattern, execCxt) ;
// Better
// Build a SPARQL algebra expression
Var var2 = createNewVar() ; // Hidden variable
BasicPattern bp = new BasicPattern() ;
Triple t = new Triple(nodeVar, RDFS.label.asNode(), var2) ;
bp.add(t) ;
OpBGP op = new OpBGP(bp) ;
Expr regex = new E_Regex(new ExprVar(var2.getName()), pattern, "i") ;
Op filter = OpFilter.filter(regex, op) ;
// ---- Evaluation
if ( true )
{
// Use the reference query engine
// Create a table for the input stream (so it uses working memory at this point,
// which is why this is not the preferred way).
// Then join to expression for this stage.
Table table = TableFactory.create(input) ;
Op op2 = OpJoin.create(OpTable.create(table), filter) ;
return Algebra.exec(op2, execCxt.getDataset()) ;
}
// Use the default, optimizing query engine.
return QC.execute(filter, input, execCxt) ;
}