q.addFilter("str(" + x.toString() +") = \"" + uri + "\"");
QueryCodeGenerator qg = new QueryCodeGenerator();
qg.visit(q);
QueryExecutor qe = this.session.getQueryExecutor();
ResultSet rs = qe.execSelect(qg.toString());
RDFMetaResource metaResource = new RDFMetaResource(Object.class);
while (rs.hasNext()) {
QuerySolution qs = rs.nextSolution();
RDFNode node = qs.get("type");
if (node.isURIResource()) {
String ns = URIUtils.getNamespace(node.toString());
String prefix = NamespacesManager.getInstance().getPrefix(ns);
if (prefix == null) {
throw new MappingNotFoundException("namespace " + ns);
}
CURIE curie = new CURIE(prefix, URIUtils.getReference(node.toString()));
metaResource.addRdfType(curie);
}
}
rs = null; //FIXME: how a ResultSet can be closed?
Class cls = this.session.getAssociatedClass(metaResource);
if (cls == null) {