![JAR search and dependency download from the Maven repository](/logo.png)
org.aksw.facete.v3.api.path.NestedVarMap Maven / Gradle / Ivy
package org.aksw.facete.v3.api.path;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
import org.aksw.jena_sparql_api.relationlet.VarRefStatic;
import org.apache.jena.sparql.core.Var;
public interface NestedVarMap
// extends Cloneable
{
Set getVarsMentioned();
NestedVarMap get(String alias);
void transformValues(Function super Var, ? extends Var> fn);
Set getFixedFinalVars();
Map getLocalToFinalVarMap();
Map getMemberVarMap();
default NestedVarMap get(String ... aliases) {
NestedVarMap result = get(Arrays.asList(aliases));
return result;
}
default NestedVarMap get(List aliases) {
NestedVarMap result;
if(aliases.isEmpty()) {
result = this;
} else {
String alias = aliases.iterator().next();
List sublist = aliases.subList(1, aliases.size());
result = get(alias).get(sublist);
}
return result;
}
default boolean isFixed(Var var) {
Set fixedVars = getFixedFinalVars();
boolean result = fixedVars.contains(var);
return result;
}
default boolean isFixed(VarRefStatic varRef) {
List labels = varRef.getLabels();
NestedVarMap nvm = get(labels);
Var v = varRef.getV();
boolean result = nvm.isFixed(v);
return result;
}
NestedVarMap clone();// throws CloneNotSupportedException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy