org.eclipse.rdf4j.query.algebra.Extension类的使用及代码示例

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

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

Extension介绍

[英]An extension operator that can be used to add bindings to solutions whose values are defined by ValueExpr.
[中]一个扩展运算符,可用于向ValueExpr定义其值的解决方案添加绑定。

代码示例

代码示例来源: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: 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: de.tudarmstadt.ukp.inception.rdf4j/rdf4j-spin

  1. private void addSourceExpressions(UnaryTupleOperator op, Collection<ProjectionElem> elems) {
  2. Extension ext = null;
  3. for (ProjectionElem projElem : elems) {
  4. ExtensionElem extElem = projElem.getSourceExpression();
  5. if (extElem != null) {
  6. if (ext == null) {
  7. ext = new Extension(op.getArg());
  8. op.setArg(ext);
  9. }
  10. ext.addElement(extElem);
  11. }
  12. }
  13. }

代码示例来源: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: 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: 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: org.eclipse.rdf4j/rdf4j-client

  1. String alias = ((ASTVar)aliasNode).getName();
  2. Extension extension = new Extension();
  3. extension.addElement(new ExtensionElem(ve, alias));
  4. extension.setArg(((Filter)arg).getArg());
  5. ((Filter)arg).setArg(extension);
  6. extension.setArg(arg);
  7. result = extension;

代码示例来源: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: 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. }

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

  1. private void visitBind(Resource r)
  2. throws RDF4JException
  3. {
  4. Value expr = TripleSources.singleValue(r, SP.EXPRESSION_PROPERTY, store);
  5. ValueExpr valueExpr = visitExpression(expr);
  6. Value varValue = TripleSources.singleValue(r, SP.VARIABLE_PROPERTY, store);
  7. if (!(varValue instanceof Resource)) {
  8. throw new MalformedSpinException(
  9. String.format("Value of %s is not a resource", SP.VARIABLE_PROPERTY));
  10. }
  11. String varName = getVarName((Resource)varValue);
  12. tupleNode = new Extension(tupleNode, new ExtensionElem(valueExpr, varName));
  13. }

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

  1. @Override
  2. public void meet(Extension node)
  3. throws RDFHandlerException
  4. {
  5. node.getArg().visit(this);
  6. }

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

  1. aExt = new Extension();
  2. aExt.addElements(new ExtensionElem(new ValueConstant(aPattern.getSubjectVar().getValue()),
  3. aPattern.getSubjectVar().getName()));
  4. aExt = new Extension();
  5. aExt.addElements(new ExtensionElem(new ValueConstant(aPattern.getPredicateVar().getValue()),
  6. aPattern.getPredicateVar().getName()));
  7. aExt = new Extension();
  8. aExt.addElements(new ExtensionElem(new ValueConstant(aPattern.getObjectVar().getValue()),
  9. aPattern.getObjectVar().getName()));

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

  1. public void addElements(Iterable<ExtensionElem> elements) {
  2. for (ExtensionElem pe : elements) {
  3. addElement(pe);
  4. }
  5. }

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

  1. public Extension(TupleExpr arg, ExtensionElem... elements) {
  2. this(arg);
  3. addElements(elements);
  4. }

代码示例来源: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-queryparser-sparql

  1. String alias = ((ASTVar)aliasNode).getName();
  2. Extension extension = new Extension();
  3. extension.addElement(new ExtensionElem(ve, alias));
  4. extension.setArg(((Filter)arg).getArg());
  5. ((Filter)arg).setArg(extension);
  6. extension.setArg(arg);
  7. result = extension;

代码示例来源: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: de.tudarmstadt.ukp.inception.rdf4j/rdf4j-spin

  1. private TupleExpr visitHaving(Resource having)
  2. throws RDF4JException
  3. {
  4. UnaryTupleOperator op = (UnaryTupleOperator)group.getParentNode();
  5. op.setArg(new Extension(group));
  6. Iteration<? extends Resource, QueryEvaluationException> iter = TripleSources.listResources(having,
  7. store);
  8. while (iter.hasNext()) {
  9. Resource r = iter.next();
  10. ValueExpr havingExpr = visitExpression(r);
  11. Filter filter = new Filter(op.getArg(), havingExpr);
  12. op.setArg(filter);
  13. op = filter;
  14. }
  15. return op;
  16. }

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

  1. @Override
  2. public void meet(Extension node) {
  3. if (node.getArg().getBindingNames().containsAll(filterVars)) {
  4. node.getArg().visit(this);
  5. }
  6. else {
  7. relocate(filter, node);
  8. }
  9. }

代码示例来源: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. }

相关文章