@Override
    public void deleteAll() throws Exception {
        Feed feed = getFeed("/s-ramp?query=/s-ramp&startIndex=0&count=10000", 200);
        for (Entry entry : feed.getEntries()) {
            // Delete all primary artifacts
            if (entry.getExtensionAttributes().containsKey(DERIVED_QNAME)
                    && "false".equals(entry.getExtensionAttributes().get(DERIVED_QNAME))) {
                for (Link link : entry.getLinks()) {
                    // TODO: Safe assumption for all impls?
                    if ("self".equals(link.getRel())) {
                        getClientRequest(link.getHref().toString()).delete();
                    }
                }
            }
        }
        
        feed = getFeed("/s-ramp/query", 200);
        for (Entry entry : feed.getEntries()) {
            String queryName = entry.getId().toString().replace("urn:uuid:", "");
            getClientRequest(BASE_URL + "/s-ramp/query/" + queryName).delete();
        }
        
        // TODO: This may not be required by the spec.
        feed = getFeed("/s-ramp/ontology", 200);
        for (Entry entry : feed.getEntries()) {
            String uuid = entry.getId().toString().replace("urn:uuid:", "");
            getClientRequest(BASE_URL + "/s-ramp/ontology/" + uuid).delete();
        }
    }