
org.aksw.jena_sparql_api.relationlet.RelationletNestedImpl Maven / Gradle / Ivy
package org.aksw.jena_sparql_api.relationlet;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.aksw.facete.v3.api.path.NestedVarMap;
import org.aksw.facete.v3.api.path.NestedVarMapImpl;
import org.aksw.jenax.arq.util.syntax.ElementUtils;
import org.apache.jena.sparql.core.Var;
import org.apache.jena.sparql.syntax.Element;
public class RelationletNestedImpl
extends RelationletBase
implements RelationletSimple
{
protected Element el;
protected NestedVarMap varMap;
protected Map aliasToMember;
// protected Map exposedVarToElementVar;
public RelationletNestedImpl(
Element el,
Map varMap,
Set fixedVars) {
this(el, new NestedVarMapImpl(varMap, fixedVars), Collections.emptyMap());
}
public RelationletNestedImpl(
Element el,
NestedVarMap varMap,
Map aliasToMember) {
super(); //el);
this.el = el;
this.varMap = varMap;
this.aliasToMember = aliasToMember;
// this.aliasToMember = aliasToMember;
// this.exposedVarToElementVar = exposedVarToElementVar;
}
//@Override
public Set getVarsMentionedCore() {
Element el = getElement();
Set result = ElementUtils.getVarsMentioned(el);
return result;
}
@Override
public Set getVarsMentioned() {
Set result = new HashSet<>(getVarsMentionedCore());
Set mappedVars = varMap.getVarsMentioned();
result.addAll(mappedVars);
return result;
}
@Override
public NestedVarMap getNestedVarMap() {
return varMap;
}
//
// @Override
// public RelationletNested getMember(String alias) {
// return null;
// //return aliasToMember.get(alias);
// }
//
// @Override
// public Var getInternalVar(Var var) {
// // TODO Auto-generated method stub
// return null;
// }
//
// @Override
// public Collection getExposedVars() {
// // TODO Auto-generated method stub
// return null;
// }
//
// @Override
// public Set getVarsMentioned() {
// // TODO Auto-generated method stub
// return null;
// }
//
@Override
public Set getPinnedVars() {
return varMap.getFixedFinalVars();
}
//
@Override
public Relationlet setPinnedVar(Var var, boolean onOrOff) {
throw new UnsupportedOperationException("Cannot mark vars as fixed on this object");
}
// @Override
// public Relationlet getMember(String alias) {
// // TODO Auto-generated method stub
// return null;
// }
// @Override
// public Var getInternalVar(Var var) {
// // TODO Auto-generated method stub
// return null;
// }
@Override
public Collection getExposedVars() {
return null;
}
@Override
public RelationletSimple materialize() {
return this;
}
@Override
public Element getElement() {
return el;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy