[VIVO-1667] Language filtering for CONSTRUCT queries (#107)
* Language filtering for CONSTRUCT queries * Use an intermediate model for filtering if the destination is not empty Resolves: https://jira.duraspace.org/browse/VIVO-1667
This commit is contained in:
parent
49b03cb56e
commit
12d703b4c8
1 changed files with 10 additions and 1 deletions
|
@ -22,6 +22,7 @@ import org.apache.jena.query.ResultSetFormatter;
|
||||||
import org.apache.jena.rdf.model.Literal;
|
import org.apache.jena.rdf.model.Literal;
|
||||||
import org.apache.jena.rdf.model.Model;
|
import org.apache.jena.rdf.model.Model;
|
||||||
import org.apache.jena.rdf.model.ModelChangedListener;
|
import org.apache.jena.rdf.model.ModelChangedListener;
|
||||||
|
import org.apache.jena.rdf.model.ModelFactory;
|
||||||
import org.apache.jena.rdf.model.RDFNode;
|
import org.apache.jena.rdf.model.RDFNode;
|
||||||
import org.apache.jena.rdf.model.Statement;
|
import org.apache.jena.rdf.model.Statement;
|
||||||
import org.apache.jena.rdf.model.StmtIterator;
|
import org.apache.jena.rdf.model.StmtIterator;
|
||||||
|
@ -90,7 +91,15 @@ public class LanguageFilteringRDFService implements RDFService {
|
||||||
@Override
|
@Override
|
||||||
public void sparqlConstructQuery(String query, Model model)
|
public void sparqlConstructQuery(String query, Model model)
|
||||||
throws RDFServiceException {
|
throws RDFServiceException {
|
||||||
|
if (model.isEmpty()) {
|
||||||
s.sparqlConstructQuery(query, model);
|
s.sparqlConstructQuery(query, model);
|
||||||
|
filterModel(model);
|
||||||
|
} else {
|
||||||
|
Model constructedModel = ModelFactory.createDefaultModel();
|
||||||
|
s.sparqlConstructQuery(query, constructedModel);
|
||||||
|
filterModel(constructedModel);
|
||||||
|
model.add(constructedModel);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Add table
Reference in a new issue