org.apache.jena.sparql.algebra.Algebra.optimize()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(5.8k)|赞(0)|评价(0)|浏览(116)

本文整理了Java中org.apache.jena.sparql.algebra.Algebra.optimize()方法的一些代码示例,展示了Algebra.optimize()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Algebra.optimize()方法的具体详情如下:
包路径:org.apache.jena.sparql.algebra.Algebra
类名称:Algebra
方法名:optimize

Algebra.optimize介绍

[英]Apply static transformations to a query to optimize it
[中]

代码示例

代码示例来源:origin: apache/jena

/** Apply static transformations to a query to optimize it */
public static Op optimize(Op op) { return optimize(op, null) ; }

代码示例来源:origin: apache/jena

private static void outputAlgebraOpt(ServletOutputStream outStream, final Query query, boolean lineNumbers) throws IOException
{
  outStream.println("<p>Alebgra, with general triple optimizations:</p>") ;
  final Op op = Algebra.optimize(Algebra.compile(query)) ;
  outputQueryOp(outStream, query, op, lineNumbers) ;
}

代码示例来源:origin: org.apache.jena/jena-fuseki-core

private static void outputAlgebraOpt(ServletOutputStream outStream, final Query query, boolean lineNumbers) throws IOException
{
  outStream.println("<p>Alebgra, with general triple optimizations:</p>") ;
  final Op op = Algebra.optimize(Algebra.compile(query)) ;
  outputQueryOp(outStream, query, op, lineNumbers) ;
}

代码示例来源:origin: apache/jena

@Override
protected Op modifyOp(Op op)
{ 
  if ( context.isFalse(ARQ.optimization) )
    return minimalModifyOp(op) ;
  return Algebra.optimize(op, super.context) ;
}

代码示例来源:origin: apache/jena

private static void outputAlgebraOptQuads(ServletOutputStream outStream, final Query query, boolean lineNumbers) throws IOException
{
  outStream.println("<p>Alebgra, with general quads optimizations:</p>") ;
  final Op op = Algebra.optimize(Algebra.toQuadForm(Algebra.compile(query))) ;
  outputQueryOp(outStream, query, op, lineNumbers) ;
}

代码示例来源:origin: org.apache.jena/jena-fuseki-core

private static void outputAlgebraOptQuads(ServletOutputStream outStream, final Query query, boolean lineNumbers) throws IOException
{
  outStream.println("<p>Alebgra, with general quads optimizations:</p>") ;
  final Op op = Algebra.optimize(Algebra.toQuadForm(Algebra.compile(query))) ;
  outputQueryOp(outStream, query, op, lineNumbers) ;
}

代码示例来源:origin: apache/jena

public static void printOp(IndentedWriter out, Query query, boolean printOptimized)
{
  Op op = Algebra.compile(query) ;
  if ( printOptimized )
    op =  Algebra.optimize(op) ;
  WriterSSE.out(out, op, query) ;
  out.flush();
}

代码示例来源:origin: org.apache.jena/jena-fuseki-core

private static void algebraOpt(JsonBuilder obj, Query query) {
  Op op = Algebra.compile(query) ;
  op = Algebra.optimize(op) ;
  obj.key(jAlgebraOpt).value(string(query, op)) ;
}

代码示例来源:origin: apache/jena

public static void printQuad(IndentedWriter out, Query query, boolean printOptimized)
  {
    Op op = Algebra.compile(query) ;
    if ( printOptimized )
      op =  Algebra.optimize(op) ;
    op = Algebra.toQuadForm(op) ;
    WriterSSE.out(out, op, query) ;
//        SerializationContext sCxt = new SerializationContext(query) ;
//        op.output(out, sCxt) ;
    out.flush() ;
  }
}

代码示例来源:origin: apache/jena

private static void algebraOpt(JsonBuilder obj, Query query) {
  Op op = Algebra.compile(query) ;
  op = Algebra.optimize(op) ;
  obj.key(jAlgebraOpt).value(string(query, op)) ;
}

代码示例来源:origin: apache/jena

private static void algebraOptQuads(JsonBuilder obj, Query query) {
  Op op = Algebra.compile(query) ;
  op = Algebra.toQuadForm(op) ;
  op = Algebra.optimize(op) ;
  obj.key(jAlgebraOptQuads).value(string(query, op)) ;
}

代码示例来源:origin: apache/jena

public static void checkOp(Query query, boolean optimizeAlgebra)
{
  IndentedLineBuffer buff = new IndentedLineBuffer() ;
  Op op = Algebra.compile(query) ;
  if ( optimizeAlgebra )
    op = Algebra.optimize(op) ;
  WriterSSE.out(buff, op, query) ;
  String str = buff.toString() ;
  
  try {
    Op op2 = SSE.parseOp(str) ;
    if ( op.hashCode() != op2.hashCode() )
    {
      op.hashCode() ;
      op2.hashCode() ;
      dump(op, op2) ;
      throw new QueryCheckException("reparsed algebra expression hashCode does not equal algebra from query") ;
    }
    if ( ! op.equals(op2) )
    {
      dump(op, op2) ;
      throw new QueryCheckException("reparsed algebra expression does not equal query algebra") ;
    }
  } catch (SSEParseException | BuildException ex)
  { 
    System.err.println(str);
    throw ex ; 
  }      // Breakpoint
}

代码示例来源:origin: org.apache.jena/jena-fuseki-core

private static void algebraOptQuads(JsonBuilder obj, Query query) {
  Op op = Algebra.compile(query) ;
  op = Algebra.toQuadForm(op) ;
  op = Algebra.optimize(op) ;
  obj.key(jAlgebraOptQuads).value(string(query, op)) ;
}

代码示例来源:origin: apache/jena

private static void check(Op opToOptimize, String opExpectedString) {
  Op opOptimize = Algebra.optimize(opToOptimize) ;
  Op opExpected = SSE.parseOp(opExpectedString) ;
  if ( false ) {
    // Hook for more detail during development. 
    boolean b = Objects.equals(opExpected, opOptimize) ;
    if ( ! b ) {
      System.err.println("** Input:");
      System.err.print(opToOptimize) ;
      System.err.println("** Expected:");
      System.err.print(opExpected) ;
      System.err.println("** Actual:");
      System.err.print(opOptimize) ;
      System.err.println("-------------------") ;
    }
  }
  assertEquals(opExpected, opOptimize) ;
}

代码示例来源:origin: apache/jena

public static void check(Op opToOptimize, Transform additionalOptimizer, String opExpectedString) {
  Op opOptimize = Algebra.optimize(opToOptimize) ;
  opOptimize = Transformer.transform(additionalOptimizer, opOptimize) ;
  Op opExpected = SSE.parseOp(opExpectedString) ;
  assertEquals(opExpected, opOptimize) ;
}

代码示例来源:origin: apache/jena

public static void checkAlgebra(String algString, Transform additionalOptimizer, String opExpectedString) {
  Op algebra = SSE.parseOp(algString) ;
  Op algebra1 = SSE.parseOp(algString) ;  // Safe copy
  Op optimized = Algebra.optimize(algebra) ;
  if ( additionalOptimizer != null )
    optimized = Transformer.transform(additionalOptimizer, optimized);
  Op opExpected = SSE.parseOp(opExpectedString != null ? opExpectedString : algString);
  assertEquals(opExpected, optimized) ;
  assertEquals("Modification of input during optimization", algebra1, algebra) ;
}

代码示例来源:origin: apache/jena

private static void test(String patternString, boolean optimize, String... strExpected)
  {
    Query q = QueryFactory.create("SELECT * WHERE "+patternString) ;
    Op op = Algebra.compile(q) ;
    if ( optimize )
      op = Algebra.optimize(op) ;
    op = Algebra.toQuadForm(op) ;
    Op op2 = SSE.parseOp(StrUtils.strjoinNL(strExpected)) ;
    assertEquals(op2, op) ;
  }
}

相关文章