@Override public Model difference(Model model) { return inner.difference(model); }
@Override public BiConsumer<Model, Model> accumulator() { return (m1, m2) -> m1.remove(m1.difference(m2)); } }
@Override public BiConsumer<Model, Model> accumulator() { return (m1, m2) -> m1.remove(m1.difference(m2)); } }
protected static AdditionsAndRetractions getMinimalChanges( AdditionsAndRetractions changes ){ //make a model with all the assertions and a model with all the //retractions, do a diff on those and then only add those to the jenaOntModel Model allPossibleAssertions = changes.getAdditions(); Model allPossibleRetractions = changes.getRetractions(); //find the minimal change set Model assertions = allPossibleAssertions.difference( allPossibleRetractions ); Model retractions = allPossibleRetractions.difference( allPossibleAssertions ); return new AdditionsAndRetractions(assertions,retractions); }
@Override public Model difference(final Model model) throws ReadDeniedException, AuthenticationRequiredException { checkRead(); if (canRead(Triple.ANY)) { return holder.getBaseItem().difference(model); } else { return createCopy().difference(model); } }
public void doSubtractModels(VitroRequest vreq) { String modela = vreq.getParameter("modela"); String modelb = vreq.getParameter("modelb"); String destination = vreq.getParameter("destinationModelName"); Model ma = getModel(modela,vreq); Model mb = getModel(modelb,vreq); Model destinationModel = getModel(destination,vreq); if(!destination.equals(modela)) destinationModel.add(ma.difference(mb)); else ma.remove(mb); }
protected void updateInferenceModel(Model rebuildModel, Collection<String> individuals) throws RDFServiceException { Model existing = ModelFactory.createDefaultModel(); for (String individualURI : individuals) { addInferenceStatementsFor(individualURI, existing); } Model retractions = existing.difference(rebuildModel); Model additions = rebuildModel.difference(existing); if (additions.size() > 0 || retractions.size() > 0) { long start = System.currentTimeMillis(); ChangeSet change = rdfService.manufactureChangeSet(); if (retractions.size() > 0) { change.addRemoval(makeN3InputStream(retractions), RDFService.ModelSerializationFormat.N3, ModelNames.ABOX_INFERENCES); } if (additions.size() > 0) { change.addAddition(makeN3InputStream(additions), RDFService.ModelSerializationFormat.N3, ModelNames.ABOX_INFERENCES); } rdfService.changeSetUpdate(change); log.debug((System.currentTimeMillis() - start) + " ms to retract " + retractions.size() + " statements and add " + additions.size() + " statements"); } }
Model r = mergeModels(retractions); Model toBeAdded = a.difference(r); Model toBeRetracted = r.difference(a);
Model oldAnnotations = construct(propertyAnnotationsQuery, oldAnnotationsModel); Model diff = userAnnotations.difference(oldAnnotations); Model currentDefaultConfig = construct(existingQuery, configModel); Model additions = userAnnotationsAsConfig.difference(currentDefaultConfig); Model retractions = currentDefaultConfig.difference(userAnnotationsAsConfig);
m = m.add(extra); if (wrong != null) m = m.difference(wrong);
m = m.add(extra); if (wrong != null) m = m.difference(wrong);
Model difference = fileModel.difference(fromTripleStoreModel);
destinationModel.enterCriticalSection(Lock.WRITE); try{ destinationModel.add(sourceModel.difference(modelToSubtract)); } finally { destinationModel.leaveCriticalSection();
Model actualAdditions = additions.difference(retractions); siteModel.add(actualAdditions); record.recordAdditions(actualAdditions); Model actualRetractions = retractions.difference(additions); siteModel.remove(actualRetractions); record.recordRetractions(actualRetractions);
public void testDifference() { ModelHelper.modelAdd(model, "a P b; w R x"); ModelHelper.modelAdd(model2, "w R x; y S z"); final Model dm = model.difference(model2); for (final StmtIterator it = dm.listStatements(); it.hasNext();) { final Statement s = it.nextStatement(); Assert.assertTrue(model.contains(s) && !model2.contains(s)); } for (final StmtIterator it = model.union(model2).listStatements(); it .hasNext();) { final Statement s = it.nextStatement(); Assert.assertEquals(model.contains(s) && !model2.contains(s), dm.contains(s)); } Assert.assertTrue(dm.containsAny(model)); Assert.assertTrue(dm.containsAny(model.listStatements())); Assert.assertFalse(dm.containsAny(model2)); Assert.assertFalse(dm.containsAny(model2.listStatements())); Assert.assertTrue(model.containsAll(dm)); }
public void testDifference() { ModelHelper.modelAdd(model, "a P b; w R x"); ModelHelper.modelAdd(model2, "w R x; y S z"); final Model dm = model.difference(model2); for (final StmtIterator it = dm.listStatements(); it.hasNext();) { final Statement s = it.nextStatement(); Assert.assertTrue(model.contains(s) && !model2.contains(s)); } for (final StmtIterator it = model.union(model2).listStatements(); it .hasNext();) { final Statement s = it.nextStatement(); Assert.assertEquals(model.contains(s) && !model2.contains(s), dm.contains(s)); } Assert.assertTrue(dm.containsAny(model)); Assert.assertTrue(dm.containsAny(model.listStatements())); Assert.assertFalse(dm.containsAny(model2)); Assert.assertFalse(dm.containsAny(model2.listStatements())); Assert.assertTrue(model.containsAll(dm)); }