fr.inria.corese.kgram.core.Query.collect()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(3.1k)|赞(0)|评价(0)|浏览(167)

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

Query.collect介绍

暂无

代码示例

代码示例来源:origin: fr.inria.corese/kgram

  1. void collectExist(Expr exp) {
  2. switch (exp.oper()) {
  3. case ExprType.EXIST:
  4. Exp pat = getPattern(exp);
  5. collect(pat, true);
  6. break;
  7. default:
  8. for (Expr ee : exp.getExpList()) {
  9. collectExist(ee);
  10. }
  11. }
  12. }

代码示例来源:origin: fr.inria.corese/kgram

  1. Query complete(Query q1, Query q2) {
  2. q1.setOuterQuery(this);
  3. q2.setOuterQuery(this);
  4. setGlobalQuery(getBody());
  5. setSelect(q1, q2);
  6. collect();
  7. setAST(q2.getAST());
  8. return this;
  9. }

代码示例来源:origin: fr.inria.corese/kgram

  1. public void collect() {
  2. if (getPathNode() != null) {
  3. /**
  4. * use case: ?x ex:prop @[?this != <John>] + ?y collect ?this first
  5. * because it may be within @[exists {?this ?p ?y}} and even worse
  6. * within @[exists {select ?this where {?this ?p ?y}}]
  7. */
  8. store(getPathNode(), false, false);
  9. }
  10. for (Exp ee : this) {
  11. collect(ee, false);
  12. }
  13. for (Node node : getBindingNodes()) {
  14. store(node, false, false);
  15. }
  16. for (Node node : getArgList()) {
  17. store(node, false, false);
  18. }
  19. for (Filter ff : getPathFilter()) {
  20. collectExist(ff.getExp());
  21. }
  22. for (Filter f : getFunList()){
  23. collectExist(f.getExp());
  24. }
  25. }

代码示例来源:origin: fr.inria.corese/compiler

  1. void complete(Query qCurrent, ASTQuery ast) {
  2. qCurrent.collect();
  3. //qCurrent.setSelectFun(select(qCurrent, ast));
  4. select(qCurrent, ast);
  5. qCurrent.setOrderBy(orderBy(qCurrent, ast));
  6. qCurrent.setGroupBy(groupBy(qCurrent, ast));
  7. qCurrent.setDistinct(ast.isDistinct());
  8. // generate a DISTINCT(?x) for distinct ?x
  9. qCurrent.distinct();
  10. qCurrent.setFrom(nodes(ast.getActualFrom()));
  11. qCurrent.setNamed(nodes(ast.getActualNamed()));
  12. // sort from uri to speed up verification at query time
  13. // Producer may use dichotomy
  14. qCurrent.setFrom(sort(qCurrent.getFrom()));
  15. qCurrent.setNamed(sort(qCurrent.getNamed()));
  16. qCurrent.setLimit(Math.min(ast.getMaxResult(), ast.getMaxProjection()));
  17. qCurrent.setOffset(ast.getOffset());
  18. qCurrent.setGraphNode(createNode());
  19. if (qCurrent.isCorrect()) {
  20. // check semantics of select vs aggregates and group by
  21. boolean correct = qCurrent.check();
  22. if (!correct) {
  23. qCurrent.setCorrect(false);
  24. } else {
  25. qCurrent.setCorrect(ast.isCorrect());
  26. }
  27. }
  28. }

代码示例来源:origin: fr.inria.corese/kgram

  1. collect(exp.first(), exist);
  2. collect(exp.rest(), true);
  3. collect(ee, exist);

代码示例来源:origin: Wimmics/corese

  1. void complete(Query qCurrent, ASTQuery ast) {
  2. qCurrent.collect();
  3. //qCurrent.setSelectFun(select(qCurrent, ast));
  4. select(qCurrent, ast);
  5. qCurrent.setOrderBy(orderBy(qCurrent, ast));
  6. qCurrent.setGroupBy(groupBy(qCurrent, ast));
  7. qCurrent.setDistinct(ast.isDistinct());
  8. // generate a DISTINCT(?x) for distinct ?x
  9. qCurrent.distinct();
  10. qCurrent.setFrom(nodes(ast.getActualFrom()));
  11. qCurrent.setNamed(nodes(ast.getActualNamed()));
  12. // sort from uri to speed up verification at query time
  13. // Producer may use dichotomy
  14. qCurrent.setFrom(sort(qCurrent.getFrom()));
  15. qCurrent.setNamed(sort(qCurrent.getNamed()));
  16. qCurrent.setLimit(Math.min(ast.getMaxResult(), ast.getMaxProjection()));
  17. qCurrent.setOffset(ast.getOffset());
  18. qCurrent.setGraphNode(createNode());
  19. if (qCurrent.isCorrect()) {
  20. // check semantics of select vs aggregates and group by
  21. boolean correct = qCurrent.check();
  22. if (!correct) {
  23. qCurrent.setCorrect(false);
  24. } else {
  25. qCurrent.setCorrect(ast.isCorrect());
  26. }
  27. }
  28. }

相关文章