org.eclipse.rdf4j.query.algebra.Extension.getElements()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(10.1k)|赞(0)|评价(0)|浏览(164)

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

Extension.getElements介绍

暂无

代码示例

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-client

  1. @Override
  2. public boolean equals(Object other) {
  3. if (other instanceof Extension && super.equals(other)) {
  4. Extension o = (Extension)other;
  5. return elements.equals(o.getElements());
  6. }
  7. return false;
  8. }

代码示例来源:origin: eclipse/rdf4j

  1. @Override
  2. public boolean equals(Object other) {
  3. if (other instanceof Extension && super.equals(other)) {
  4. Extension o = (Extension)other;
  5. return elements.equals(o.getElements());
  6. }
  7. return false;
  8. }

代码示例来源:origin: eclipse/rdf4j

  1. @Override
  2. public Extension clone() {
  3. Extension clone = (Extension)super.clone();
  4. clone.elements = new ArrayList<>(getElements().size());
  5. for (ExtensionElem elem : getElements()) {
  6. clone.addElement(elem.clone());
  7. }
  8. return clone;
  9. }
  10. }

代码示例来源:origin: de.tudarmstadt.ukp.inception.rdf4j/rdf4j-spin

  1. @Override
  2. public void meet(Extension node) {
  3. extension = node;
  4. List<ExtensionElem> elements = node.getElements();
  5. // NB: preserve ExtensionElem order
  6. extensionExprs = new LinkedHashMap<String, ValueExpr>(elements.size());
  7. for (ExtensionElem elem : elements) {
  8. extensionExprs.put(elem.getName(), elem.getExpr());
  9. }
  10. }

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-client

  1. @Override
  2. public Extension clone() {
  3. Extension clone = (Extension)super.clone();
  4. clone.elements = new ArrayList<ExtensionElem>(getElements().size());
  5. for (ExtensionElem elem : getElements()) {
  6. clone.addElement(elem.clone());
  7. }
  8. return clone;
  9. }
  10. }

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-client

  1. @Override
  2. public void meet(Extension e) {
  3. super.meet(e);
  4. for (ExtensionElem elem: e.getElements()) {
  5. res.add(elem.getName());
  6. }
  7. }
  8. // TODO maybe stop tree traversal in nested SERVICE?

代码示例来源:origin: eclipse/rdf4j

  1. @Override
  2. public void meet(Extension e) {
  3. super.meet(e);
  4. for (ExtensionElem elem: e.getElements()) {
  5. res.add(elem.getName());
  6. }
  7. }
  8. // TODO maybe stop tree traversal in nested SERVICE?

代码示例来源:origin: apache/incubator-rya

  1. @Override
  2. public void meet(MultiProjection projection) {
  3. List<ExtensionElem> bindings;
  4. if (projection.getArg() instanceof Extension) {
  5. bindings = ((Extension) projection.getArg()).getElements();
  6. }
  7. else {
  8. bindings = Arrays.asList();
  9. }
  10. for (ProjectionElemList template : projection.getProjections()) {
  11. recordConsequent(template, bindings);
  12. }
  13. }

代码示例来源:origin: apache/incubator-rya

  1. @Override
  2. public void meet(Extension node) {
  3. Set<String> argBindings = node.getArg().getBindingNames();
  4. if (typeRequirement != null) {
  5. node.getElements().removeIf(elem -> {
  6. if (varName.equals(elem.getName())) {
  7. ValueExpr expr = elem.getExpr();
  8. if (expr == null) {
  9. return true;
  10. }
  11. else if (expr instanceof Var) {
  12. String fromName = ((Var) expr).getName();
  13. if (getVarValue((Var) expr) == null && !argBindings.contains(fromName)) {
  14. return true;
  15. }
  16. }
  17. }
  18. return false;
  19. });
  20. meetUnaryTupleOperator(node);
  21. }
  22. }
  23. @Override

代码示例来源:origin: apache/incubator-rya

  1. @Override
  2. public void meet(Projection projection) {
  3. if (projection.getArg() instanceof Extension) {
  4. recordConsequent(projection.getProjectionElemList(),
  5. ((Extension) projection.getArg()).getElements());
  6. }
  7. else {
  8. recordConsequent(projection.getProjectionElemList(), Arrays.asList());
  9. }
  10. }

代码示例来源:origin: ontop/ontop

  1. public DefaultSimpleGraphResultSet(TupleResultSet tupleResultSet, ConstructTemplate constructTemplate,
  2. boolean storeResults, TermFactory termFactory,
  3. org.apache.commons.rdf.api.RDF rdfFactory) throws OntopResultConversionException, OntopConnectionException {
  4. this.tupleResultSet = tupleResultSet;
  5. this.constructTemplate = constructTemplate;
  6. this.termFactory = termFactory;
  7. this.rdfFactory = rdfFactory;
  8. Extension ex = constructTemplate.getExtension();
  9. if (ex != null) {
  10. extMap = ex.getElements().stream()
  11. .collect(ImmutableCollectors.toMap(e -> e.getName(), e -> e.getExpr()));
  12. }
  13. else
  14. extMap = null;
  15. this.storeResults = storeResults;
  16. if (storeResults) {
  17. //process current result set into local buffer,
  18. //since additional results will be collected
  19. while (tupleResultSet.hasNext()) {
  20. results.addAll(processResults(tupleResultSet.next()));
  21. }
  22. }
  23. }

代码示例来源:origin: apache/incubator-rya

  1. @Override
  2. public void meet(Extension extensionNode) throws Exception {
  3. extensionNode.visitChildren(this);
  4. if (extensionNode.getArg() instanceof AggregationPipelineQueryNode && extensionNode.getParentNode() != null) {
  5. AggregationPipelineQueryNode pipelineNode = (AggregationPipelineQueryNode) extensionNode.getArg();
  6. if (pipelineNode.extend(extensionNode.getElements())) {
  7. extensionNode.replaceWith(pipelineNode);
  8. }
  9. }
  10. }

代码示例来源:origin: de.tudarmstadt.ukp.inception.rdf4j/rdf4j-spin

  1. @Override
  2. public void meet(Extension node)
  3. throws RDFHandlerException
  4. {
  5. if (inlineBindings != null && inlineBindings.extension == node) {
  6. // this is the first Extension node and has already been handled
  7. // by meetExtension()
  8. // to produce inline bindings in SELECT so we can skip it here
  9. node.getArg().visit(this);
  10. }
  11. else {
  12. // any further Extension nodes produce BIND() clauses
  13. node.getArg().visit(this);
  14. for (ExtensionElem elem : node.getElements()) {
  15. elem.visit(this);
  16. }
  17. }
  18. }

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-sail-lucene-api

  1. @Override
  2. public void updateQueryModelNodes(boolean hasResult) {
  3. QueryModelNode replacementNode = hasResult ? new SingletonSet() : new EmptySet();
  4. geoStatement.replaceWith(replacementNode);
  5. if (hasResult) {
  6. filter.replaceWith(filter.getArg());
  7. }
  8. else {
  9. filter.replaceWith(new EmptySet());
  10. }
  11. if (functionParent instanceof ExtensionElem) {
  12. Extension extension = (Extension)functionParent.getParentNode();
  13. List<ExtensionElem> elements = extension.getElements();
  14. if (elements.size() > 1) {
  15. elements.remove(functionParent);
  16. }
  17. else {
  18. extension.replaceWith(extension.getArg());
  19. }
  20. }
  21. }
  22. }

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-sail-lucene-api

  1. @Override
  2. public void updateQueryModelNodes(boolean hasResult) {
  3. QueryModelNode replacementNode = hasResult ? new SingletonSet() : new EmptySet();
  4. geoStatement.replaceWith(replacementNode);
  5. if (hasResult) {
  6. filter.replaceWith(filter.getArg());
  7. }
  8. else {
  9. filter.replaceWith(new EmptySet());
  10. }
  11. QueryModelNode functionParent = distanceFunction.getParentNode();
  12. if (functionParent instanceof ExtensionElem) {
  13. Extension extension = (Extension)functionParent.getParentNode();
  14. List<ExtensionElem> elements = extension.getElements();
  15. if (elements.size() > 1) {
  16. elements.remove(functionParent);
  17. }
  18. else {
  19. extension.replaceWith(extension.getArg());
  20. }
  21. }
  22. }

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-queryparser-sparql

  1. @Override
  2. public TupleExpr visit(ASTDescribe node, Object data)
  3. throws VisitorException
  4. {
  5. TupleExpr tupleExpr = (TupleExpr)data;
  6. if (tupleExpr == null) {
  7. tupleExpr = new SingletonSet();
  8. }
  9. Extension e = new Extension();
  10. ProjectionElemList projectionElements = new ProjectionElemList();
  11. for (int i = 0; i < node.jjtGetNumChildren(); i++) {
  12. ValueExpr resource = (ValueExpr)node.jjtGetChild(i).jjtAccept(this, null);
  13. if (resource instanceof Var) {
  14. projectionElements.addElement(new ProjectionElem(((Var)resource).getName()));
  15. }
  16. else {
  17. String alias = "_describe_" + UUID.randomUUID().toString().replaceAll("-", "_");
  18. ExtensionElem elem = new ExtensionElem(resource, alias);
  19. e.addElement(elem);
  20. projectionElements.addElement(new ProjectionElem(alias));
  21. }
  22. }
  23. if (!e.getElements().isEmpty()) {
  24. e.setArg(tupleExpr);
  25. tupleExpr = e;
  26. }
  27. Projection p = new Projection(tupleExpr, projectionElements);
  28. return new DescribeOperator(p);
  29. }

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-client

  1. @Override
  2. public TupleExpr visit(ASTDescribe node, Object data)
  3. throws VisitorException
  4. {
  5. TupleExpr tupleExpr = (TupleExpr)data;
  6. if (tupleExpr == null) {
  7. tupleExpr = new SingletonSet();
  8. }
  9. Extension e = new Extension();
  10. ProjectionElemList projectionElements = new ProjectionElemList();
  11. for (int i = 0; i < node.jjtGetNumChildren(); i++) {
  12. ValueExpr resource = (ValueExpr)node.jjtGetChild(i).jjtAccept(this, null);
  13. if (resource instanceof Var) {
  14. projectionElements.addElement(new ProjectionElem(((Var)resource).getName()));
  15. }
  16. else {
  17. String alias = "_describe_" + UUID.randomUUID().toString().replaceAll("-", "_");
  18. ExtensionElem elem = new ExtensionElem(resource, alias);
  19. e.addElement(elem);
  20. projectionElements.addElement(new ProjectionElem(alias));
  21. }
  22. }
  23. if (!e.getElements().isEmpty()) {
  24. e.setArg(tupleExpr);
  25. tupleExpr = e;
  26. }
  27. Projection p = new Projection(tupleExpr, projectionElements);
  28. return new DescribeOperator(p);
  29. }

代码示例来源:origin: eclipse/rdf4j

  1. @Override
  2. public TupleExpr visit(ASTDescribe node, Object data)
  3. throws VisitorException
  4. {
  5. TupleExpr tupleExpr = (TupleExpr)data;
  6. if (tupleExpr == null) {
  7. tupleExpr = new SingletonSet();
  8. }
  9. Extension e = new Extension();
  10. ProjectionElemList projectionElements = new ProjectionElemList();
  11. for (int i = 0; i < node.jjtGetNumChildren(); i++) {
  12. ValueExpr resource = (ValueExpr)node.jjtGetChild(i).jjtAccept(this, null);
  13. if (resource instanceof Var) {
  14. projectionElements.addElement(new ProjectionElem(((Var)resource).getName()));
  15. }
  16. else {
  17. String alias = "_describe_" + UUID.randomUUID().toString().replaceAll("-", "_");
  18. ExtensionElem elem = new ExtensionElem(resource, alias);
  19. e.addElement(elem);
  20. projectionElements.addElement(new ProjectionElem(alias));
  21. }
  22. }
  23. if (!e.getElements().isEmpty()) {
  24. e.setArg(tupleExpr);
  25. tupleExpr = e;
  26. }
  27. Projection p = new Projection(tupleExpr, projectionElements);
  28. return new DescribeOperator(p);
  29. }

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-queryalgebra-evaluation

  1. for (ExtensionElem extElem : extension.getElements()) {
  2. ValueExpr expr = extElem.getExpr();
  3. if (!(expr instanceof AggregateOperator)) {

代码示例来源:origin: apache/incubator-rya

  1. @Test
  2. public void testUnsupportedExtension() throws Exception {
  3. StatementPattern sp = new StatementPattern(new Var("x"), constant(TAKES), new Var("c"));
  4. List<ExtensionElem> elements = Arrays.asList(new ExtensionElem(new Var("x"), "renamed"),
  5. new ExtensionElem(new Not(new ValueConstant(VF.createLiteral(true))), "notTrue"),
  6. new ExtensionElem(new ValueConstant(TAKES), "constant"));
  7. Extension extensionNode = new Extension(sp, elements);
  8. QueryRoot queryTree = new QueryRoot(extensionNode);
  9. SparqlToPipelineTransformVisitor visitor = new SparqlToPipelineTransformVisitor(collection);
  10. queryTree.visit(visitor);
  11. Assert.assertTrue(queryTree.getArg() instanceof Extension);
  12. Assert.assertEquals(elements, ((Extension) queryTree.getArg()).getElements());
  13. TupleExpr innerQuery = ((Extension) queryTree.getArg()).getArg();
  14. Assert.assertTrue(innerQuery instanceof AggregationPipelineQueryNode);
  15. AggregationPipelineQueryNode pipelineNode = (AggregationPipelineQueryNode) innerQuery;
  16. Assert.assertEquals(Sets.newHashSet("x", "c"), pipelineNode.getAssuredBindingNames());
  17. }
  18. }

相关文章