code: @Override
      public Set<URI> listOperations(URI serviceUri) {
  
          if (serviceUri == null || !serviceUri.isAbsolute()) {
              log.warn("The Service URI is either absent or relative. Provide an absolute URI");
              return ImmutableSet.of();
          }
  
          URI graphUri;
          try {
              graphUri = getGraphUriForElement(serviceUri);
          } catch (URISyntaxException e) {
              log.warn("The namespace of the URI of the service is incorrect.", e);
              return ImmutableSet.of();
          }
  
          if (graphUri == null) {
              log.warn("Could not obtain a graph URI for the element. The URI may not be managed by the server - " + serviceUri);
              return ImmutableSet.of();
          }
  
          String queryStr = new StringBuilder()
                  .append("SELECT DISTINCT ?op WHERE { \n")
                  .append(" GRAPH <").append(graphUri.toASCIIString()).append("> { \n")
                  .append(" <").append(serviceUri.toASCIIString()).append("> ").append("<").append(MSM.hasOperation.getURI()).append(">").append(" ?op . ")
                  .append(" ?op ").append("<").append(RDF.type.getURI()).append(">").append(" ").append("<").append(MSM.Operation.getURI()).append("> . \n")
                  .append(" } \n ")
                  .append("} \n ")
                  .toString();
  
          return this.graphStoreManager.listResourcesByQuery(queryStr, "op");
      }
docs: Obtains the list of operation URIs for a given Operation
  
  @param serviceUri the service URI
  @return a List of URIs with the operations provided by the service. If there are no operations, the List should be empty NOT null.