|
1 | | -package org.eclipse.rdf4j.federated.evaluation.iterator; |
2 | | - |
3 | | -/** |
4 | | - * **************************************************************************** |
5 | | - * Copyright (c) 2015 Eclipse RDF4J contributors, Aduna, and others. |
| 1 | +/******************************************************************************* |
| 2 | + * Copyright (c) 2024 Eclipse RDF4J contributors. |
6 | 3 | * |
7 | | - * All rights reserved. This program and the accompanying materials |
8 | | - * are made available under the terms of the Eclipse Distribution License v1.0 |
9 | | - * which accompanies this distribution, and is available at |
10 | | - * http://www.eclipse.org/org/documents/edl-v10.php. |
| 4 | + * All rights reserved. This program and the accompanying materials |
| 5 | + * are made available under the terms of the Eclipse Distribution License v1.0 |
| 6 | + * which accompanies this distribution, and is available at |
| 7 | + * http://www.eclipse.org/org/documents/edl-v10.php. |
11 | 8 | * |
12 | | - * SPDX-License-Identifier: BSD-3-Clause |
13 | | - * ***************************************************************************** |
14 | | - */ |
| 9 | + * SPDX-License-Identifier: BSD-3-Clause |
| 10 | + ******************************************************************************/ |
| 11 | + |
| 12 | +package org.eclipse.rdf4j.federated.evaluation.iterator; |
| 13 | + |
15 | 14 | import java.util.ArrayList; |
16 | 15 | import java.util.HashSet; |
17 | 16 | import java.util.Iterator; |
|
39 | 38 | import org.eclipse.rdf4j.query.algebra.StatementPattern.Scope; |
40 | 39 | import org.eclipse.rdf4j.query.algebra.TupleExpr; |
41 | 40 | import org.eclipse.rdf4j.query.algebra.Var; |
42 | | -import org.eclipse.rdf4j.query.algebra.ZeroLengthPath; |
43 | 41 | import org.eclipse.rdf4j.query.algebra.evaluation.EvaluationStrategy; |
44 | 42 | import org.eclipse.rdf4j.query.algebra.evaluation.QueryBindingSet; |
45 | 43 | import org.eclipse.rdf4j.query.algebra.evaluation.iterator.PathIteration; |
46 | 44 | import org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor; |
47 | 45 | import org.eclipse.rdf4j.query.impl.SimpleBinding; |
48 | 46 |
|
| 47 | +/** |
| 48 | + * A iteration to evaluate property path expressions. |
| 49 | + * |
| 50 | + * @see PathIteration |
| 51 | + */ |
49 | 52 | public class FedXPathIteration extends LookAheadIteration<BindingSet> { |
50 | 53 |
|
| 54 | + /* |
| 55 | + * IMPL NOTE: |
| 56 | + * |
| 57 | + * This is technically almost a 1:1 copy of org.eclipse.rdf4j.query.algebra.evaluation.iterator.PathIteration. |
| 58 | + * Reusing or extending PathIteration requires refactoring in its constructor initialization. |
| 59 | + * |
| 60 | + * The main difference is in keeping track of QueryInfo and creating a FedXZeroLengthPath in #createIteration for |
| 61 | + * zero length path expressions. |
| 62 | + */ |
| 63 | + |
51 | 64 | // Should never be seen by code outside of this iterator |
52 | 65 | private static final String END = "$end_from_path_iteration"; |
53 | 66 | private static final String START = "$start_from_path_iteration"; |
|
0 commit comments