@Override public void deleteGraph(IRI name) throws UnsupportedOperationException, NoSuchEntityException, EntityUndeletableException { if(name == null){ throw new IllegalArgumentException("The parsed MGrpah name MUST NOT be NULL!"); } datasetLock.writeLock().lock(); try { if(isExistingGraphName(name,Symbols.Graph)){ ModelGraph mg = getModelGraph(name, true, false); mg.delete(); removeFromIndex( name, Symbols.Graph ); } else if(isExistingGraphName(name,Symbols.ImmutableGraph)){ ModelGraph mg = getModelGraph(name, false, false); mg.delete(); removeFromIndex( name, Symbols.ImmutableGraph ); } else if (name.equals(defaultGraphName)){ throw new EntityUndeletableException(defaultGraphName); } //delete the graph from the initModels list syncModels.remove(name); } finally { datasetLock.writeLock().unlock(); } }