code: @Override
      public boolean deleteService(URI serviceUri) throws ServiceException {
          if (serviceUri == null || !serviceUri.isAbsolute()) {
              log.warn("The Service URI is either absent or relative. Provide an absolute URI");
              return false;
          }
  
          if (!this.graphStoreManager.canBeModified()) {
              log.warn("The dataset cannot be modified.");
              return false;
          }
  
          log.info("Deleting service - {}", serviceUri.toASCIIString());
          try {
              this.graphStoreManager.deleteGraph(getGraphUriForElement(serviceUri));
          } catch (URISyntaxException e) {
              log.error("The namespace of the service is an incorrect URI", e);
              throw new ServiceException("The namespace of the service is an incorrect URI", e);
          }
  
          // Generate Event
          this.getEventBus().post(new ServiceDeletedEvent(new Date(), new Service(serviceUri)));
  
          return true;
      }
docs: Deletes the given service
  
  After successfully deleting a service, implementations of this method should raise a {@code ServiceDeletedEvent}
  
  @param serviceUri the URI of the service to delete
  @return True if it was deleted or false otherwise
  @throws uk.ac.open.kmi.iserve.sal.exception.ServiceException