package org.aksw.sparqlify.core.algorithms; import java.util.List; import org.aksw.jena_sparql_api.views.SqlTranslationUtils; import org.apache.jena.sparql.expr.Expr; import org.apache.jena.sparql.expr.ExprFunction; public class ExprTransformerLang implements ExprTransformer { @Override public Expr transform(ExprFunction expr) { List<Expr> args = expr.getArgs(); if(args.size() != 1) { throw new RuntimeException("Invalid number of arguments; 1 expected, got: " + expr); } // FIXME Check whether lang has the right number of argument Expr arg = args.get(0); Expr result = SqlTranslationUtils.extractLanguageTag(arg); if(result == null) { throw new RuntimeException("Could not handle extraction of a language tag for: " + expr); } return result; } }