add/remove ABox portion of mixed RDF through RDFService
This commit is contained in:
parent
d13fdf8124
commit
295ddbfad1
1 changed files with 27 additions and 3 deletions
|
@ -44,6 +44,7 @@ import edu.cornell.mannlib.vitro.webapp.dao.jena.event.BulkUpdateEvent;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent;
|
||||||
import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess;
|
import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess;
|
||||||
import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess.WhichService;
|
import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess.WhichService;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelNames;
|
||||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet;
|
import edu.cornell.mannlib.vitro.webapp.rdfservice.ChangeSet;
|
||||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService;
|
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService;
|
||||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException;
|
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException;
|
||||||
|
@ -202,9 +203,20 @@ public class RDFUploadController extends JenaIngestController {
|
||||||
}
|
}
|
||||||
if (aboxModel != null) {
|
if (aboxModel != null) {
|
||||||
aboxChangeModel = uploadModel.remove(tboxChangeModel);
|
aboxChangeModel = uploadModel.remove(tboxChangeModel);
|
||||||
aboxstmtCount = operateOnModel(request.getUnfilteredWebappDaoFactory(),
|
aboxstmtCount = aboxChangeModel.size();
|
||||||
aboxModel, aboxChangeModel, ontModelSelector,
|
ByteArrayOutputStream os = new ByteArrayOutputStream();
|
||||||
remove, makeClassgroups, loginBean.getUserURI());
|
aboxChangeModel.write(os, "N3");
|
||||||
|
ByteArrayInputStream in = new ByteArrayInputStream(os.toByteArray());
|
||||||
|
if(!remove) {
|
||||||
|
readIntoModel(in, "N3", request.getRDFService(),
|
||||||
|
ModelNames.ABOX_ASSERTIONS);
|
||||||
|
} else {
|
||||||
|
removeFromModel(in, "N3", request.getRDFService(),
|
||||||
|
ModelNames.ABOX_ASSERTIONS);
|
||||||
|
}
|
||||||
|
// operateOnModel(request.getUnfilteredWebappDaoFactory(),
|
||||||
|
// aboxModel, aboxChangeModel, ontModelSelector,
|
||||||
|
// remove, makeClassgroups, loginBean.getUserURI());
|
||||||
}
|
}
|
||||||
request.setAttribute("uploadDesc", uploadDesc + ". " + verb + " " +
|
request.setAttribute("uploadDesc", uploadDesc + ". " + verb + " " +
|
||||||
(tboxstmtCount + aboxstmtCount) + " statements.");
|
(tboxstmtCount + aboxstmtCount) + " statements.");
|
||||||
|
@ -418,6 +430,18 @@ public class RDFUploadController extends JenaIngestController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void removeFromModel(InputStream in, String language,
|
||||||
|
RDFService rdfService, String modelName) {
|
||||||
|
ChangeSet cs = makeChangeSet(rdfService);
|
||||||
|
cs.addRemoval(in, RDFServiceUtils.getSerializationFormatFromJenaString(
|
||||||
|
language), modelName);
|
||||||
|
try {
|
||||||
|
rdfService.changeSetUpdate(cs);
|
||||||
|
} catch (RDFServiceException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void forwardToFileUploadError( String errrorMsg ,
|
private void forwardToFileUploadError( String errrorMsg ,
|
||||||
HttpServletRequest req,
|
HttpServletRequest req,
|
||||||
HttpServletResponse response)
|
HttpServletResponse response)
|
||||||
|
|
Loading…
Add table
Reference in a new issue