@@ -632,7 +632,7 @@ public void removeStatement(UpdateContext op, Resource subj, IRI pred, Value obj
632632 explicitSinks .put (null , source .sink (getIsolationLevel ()));
633633 }
634634 assert explicitSinks .containsKey (op );
635- remove (subj , pred , obj , datasets .get (op ), explicitSinks .get (op ), contexts );
635+ remove (subj , pred , obj , false , datasets .get (op ), explicitSinks .get (op ), contexts );
636636 }
637637 removeStatementsInternal (subj , pred , obj , contexts );
638638 }
@@ -723,7 +723,7 @@ public boolean addInferredStatement(Resource subj, IRI pred, Value obj, Resource
723723 // only report inferred statements that don't already
724724 // exist
725725 addStatementInternal (subj , pred , obj , contexts );
726- notifyStatementAdded (vf .createStatement (subj , pred , obj ));
726+ notifyStatementAdded (vf .createStatement (subj , pred , obj ), true );
727727 setStatementsAdded ();
728728 modified = true ;
729729 }
@@ -746,7 +746,7 @@ public boolean addInferredStatement(Resource subj, IRI pred, Value obj, Resource
746746 // only report inferred statements that don't
747747 // already exist
748748 addStatementInternal (subj , pred , obj , ctx );
749- notifyStatementAdded (vf .createStatement (subj , pred , obj , ctx ));
749+ notifyStatementAdded (vf .createStatement (subj , pred , obj , ctx ), true );
750750 setStatementsAdded ();
751751 modified = true ;
752752 }
@@ -762,9 +762,9 @@ private void add(Resource subj, IRI pred, Value obj, SailDataset dataset, SailSi
762762 if (contexts .length == 0 || (contexts .length == 1 && contexts [0 ] == null )) {
763763 if (hasConnectionListeners ()) {
764764 if (!hasStatement (dataset , subj , pred , obj , NULL_CTX )) {
765- notifyStatementAdded (vf .createStatement (subj , pred , obj ));
765+ notifyStatementAdded (vf .createStatement (subj , pred , obj ), false );
766766 } else if (sink instanceof Changeset && ((Changeset ) sink ).hasDeprecated (subj , pred , obj , NULL_CTX )) {
767- notifyStatementAdded (vf .createStatement (subj , pred , obj ));
767+ notifyStatementAdded (vf .createStatement (subj , pred , obj ), false );
768768 }
769769
770770 // always approve the statement, even if it already exists
@@ -788,10 +788,10 @@ private void add(Resource subj, IRI pred, Value obj, SailDataset dataset, SailSi
788788
789789 if (hasConnectionListeners ()) {
790790 if (!hasStatement (dataset , subj , pred , obj , contextsToCheck )) {
791- notifyStatementAdded (vf .createStatement (subj , pred , obj , ctx ));
791+ notifyStatementAdded (vf .createStatement (subj , pred , obj , ctx ), false );
792792 } else if (sink instanceof Changeset
793793 && ((Changeset ) sink ).hasDeprecated (subj , pred , obj , contextsToCheck )) {
794- notifyStatementAdded (vf .createStatement (subj , pred , obj ));
794+ notifyStatementAdded (vf .createStatement (subj , pred , obj ), false );
795795 }
796796 sink .approve (subj , pred , obj , ctx );
797797 } else {
@@ -815,15 +815,16 @@ public boolean removeInferredStatement(Resource subj, IRI pred, Value obj, Resou
815815 explicitOnlyDataset = branch (IncludeInferred .explicitOnly ).dataset (level );
816816 }
817817 removeStatementsInternal (subj , pred , obj , contexts );
818- boolean removed = remove (subj , pred , obj , inferredOnlyDataset , inferredOnlySink , contexts );
818+ boolean removed = remove (subj , pred , obj , true , inferredOnlyDataset , inferredOnlySink , contexts );
819819 if (removed ) {
820820 setStatementsRemoved ();
821821 }
822822 return removed ;
823823 }
824824 }
825825
826- private boolean remove (Resource subj , IRI pred , Value obj , SailDataset dataset , SailSink sink , Resource ... contexts )
826+ private boolean remove (Resource subj , IRI pred , Value obj , boolean inferred , SailDataset dataset , SailSink sink ,
827+ Resource ... contexts )
827828 throws SailException {
828829
829830 // Use deprecateByQuery if we don't need to notify anyone of which statements have been deleted.
@@ -839,7 +840,7 @@ private boolean remove(Resource subj, IRI pred, Value obj, SailDataset dataset,
839840 Statement st = iter .next ();
840841 sink .deprecate (st );
841842 statementsRemoved = true ;
842- notifyStatementRemoved (st );
843+ notifyStatementRemoved (st , inferred );
843844 }
844845 }
845846 return statementsRemoved ;
@@ -857,7 +858,7 @@ protected void clearInternal(Resource... contexts) throws SailException {
857858 }
858859 assert explicitSinks .containsKey (null );
859860 if (this .hasConnectionListeners ()) {
860- remove (null , null , null , datasets .get (null ), explicitSinks .get (null ), contexts );
861+ remove (null , null , null , false , datasets .get (null ), explicitSinks .get (null ), contexts );
861862 }
862863 explicitSinks .get (null ).clear (contexts );
863864 }
@@ -876,7 +877,7 @@ public void clearInferred(Resource... contexts) throws SailException {
876877 explicitOnlyDataset = branch (IncludeInferred .explicitOnly ).dataset (level );
877878 }
878879 if (this .hasConnectionListeners ()) {
879- remove (null , null , null , inferredOnlyDataset , inferredOnlySink , contexts );
880+ remove (null , null , null , true , inferredOnlyDataset , inferredOnlySink , contexts );
880881 }
881882 inferredOnlySink .clear (contexts );
882883 setStatementsRemoved ();
0 commit comments