All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.aksw.jena_sparql_api.utils.QuerySolutionUtils Maven / Gradle / Ivy

There is a newer version: 3.17.0-1
Show newest version
package org.aksw.jena_sparql_api.utils;

import java.util.Iterator;
import java.util.Map;

import org.apache.jena.query.QuerySolution;
import org.apache.jena.query.QuerySolutionMap;
import org.apache.jena.rdf.model.RDFNode;
import org.apache.jena.sparql.core.Var;

public class QuerySolutionUtils {
    public static QuerySolution rename(QuerySolution qs, Map varMap) {
        QuerySolutionMap result = new QuerySolutionMap();

        Iterator itVarNames = qs.varNames();

        while(itVarNames.hasNext()) {
            String varName = itVarNames.next();

            RDFNode rdfNode = qs.get(varName);

            Var sourceVar = Var.alloc(varName);
            Var targetVar = varMap.get(sourceVar);
            if(targetVar == null) {
                targetVar = sourceVar;
            }

            String targetVarName = targetVar.getVarName();
            result.add(targetVarName, rdfNode);
        }

        return result;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy