Index: src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java
===================================================================
--- src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java	(revision 33)
+++ src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java	(revision 34)
@@ -107,5 +107,6 @@
 
     /**
-     * Returns List of Groups. Key has to be indexed.
+     * Returns List of Groups.
+     * Key has to be indexed.
      * 
      * @param key
@@ -129,5 +130,31 @@
 
     /**
-     * Returns List of Tags. Key has to be indexed.
+     * Returns List of Annotations.
+     * Key has to be indexed.
+     * 
+     * @param key
+     * @param query
+     * @return
+     */
+    public List<Annotation> getAnnotations(String key, String query) {
+        ArrayList<Annotation> annotations = new ArrayList<Annotation>();
+        Index<Node> idx = getNodeIndex(NodeTypes.ANNOTATION);
+        if (key == null) {
+            key = "id";
+            query = "*";
+        }
+        IndexHits<Node> annotNodes = idx.query(key, query);
+        for (Node annotNode : annotNodes) {
+            Annotation annotation = createAnnotationFromNode(annotNode);
+            annotations.add(annotation);
+        }
+        return annotations;
+    }
+
+ 
+    
+    /**
+     * Returns List of Tags.
+     * Key has to be indexed.
      * 
      * @param key
Index: src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorAnnotations.java
===================================================================
--- src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorAnnotations.java	(revision 32)
+++ src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorAnnotations.java	(revision 34)
@@ -6,7 +6,12 @@
 
 import java.io.IOException;
-
+import java.util.ArrayList;
+import java.util.List;
+
+import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
+import org.restlet.data.Form;
+import org.restlet.data.Parameter;
 import org.restlet.data.Status;
 import org.restlet.ext.json.JsonRepresentation;
@@ -19,5 +24,7 @@
 import de.mpiwg.itgroup.annotations.Annotation;
 import de.mpiwg.itgroup.annotations.Person;
+import de.mpiwg.itgroup.annotations.Tag;
 import de.mpiwg.itgroup.annotations.neo4j.AnnotationStore;
+import de.mpiwg.itgroup.annotations.restlet.utils.JSONObjectComparator;
 
 /**
@@ -50,7 +57,6 @@
 
         if (id == null) {
-            // TODO: what to return without id - list all annotations?
-            setStatus(Status.CLIENT_ERROR_BAD_REQUEST);
-            return null;
+            
+            return getAllAnnotations();
         }
 
@@ -77,5 +83,53 @@
     }
 
-    /**
+    private Representation getAllAnnotations() {
+    	
+    	 Form form = getRequest().getResourceRef().getQueryAsForm();
+           String sortBy=null;
+           for (Parameter parameter : form) {
+             if (parameter.getName().equals("sortBy")){
+             sortBy =  parameter.getValue();
+             }
+           }
+        
+        AnnotationStore store = getAnnotationStore();
+        ArrayList<JSONObject> results = new ArrayList<JSONObject>();
+       
+       	List<Annotation> annotations = store.getAnnotations(null, null);
+        for (Annotation annotation : annotations) {
+            	
+        	 JSONObject jo = createAnnotatorJson(annotation,false);
+             results.add(jo);
+           
+            }
+        
+        if (sortBy!=null){
+    		JSONObjectComparator.sortAnnotations(results,sortBy);
+    	}
+        
+    	JSONArray resultsJa = new JSONArray();
+    	for (JSONObject result:results){
+    		resultsJa.put(result);
+    	}
+    	
+        // assemble result object
+        JSONObject result = new JSONObject();
+        try {
+            result.put("rows", resultsJa);
+            result.put("total", resultsJa.length());
+        } catch (JSONException e) {
+            setStatus(Status.SERVER_ERROR_INTERNAL, "JSON Error");
+            return null;
+        }
+        logger.debug("sending:");
+        logger.debug(result);
+        return new JsonRepresentation(result);
+    }
+
+       	
+        
+	
+
+	/**
      * POST with JSON content-type. Creates a new Annotation.
      * 
Index: src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorAnnotationsByTags.java
===================================================================
--- src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorAnnotationsByTags.java	(revision 28)
+++ src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorAnnotationsByTags.java	(revision 31)
@@ -65,5 +65,5 @@
     
 	if (sortBy!=null){
-		sortAnnotations(results,sortBy);
+		JSONObjectComparator.sortAnnotations(results,sortBy);
 	}
 		
@@ -88,18 +88,4 @@
 
     
-	/**
-	 * Sortiere array nach einem Parameter in den Annotationen
-	 * @param results
-	 * @return
-	 */
-	private void sortAnnotations(List<JSONObject> results,String attribute) {
-		JSONObjectComparator comp = new JSONObjectComparator(attribute);
-		
-		
 	
-		java.util.Collections.sort( results, comp);
-		
-		
-
-	}        	
 }
Index: src/main/java/de/mpiwg/itgroup/annotations/restlet/utils/JSONObjectComparator.java
===================================================================
--- src/main/java/de/mpiwg/itgroup/annotations/restlet/utils/JSONObjectComparator.java	(revision 28)
+++ src/main/java/de/mpiwg/itgroup/annotations/restlet/utils/JSONObjectComparator.java	(revision 31)
@@ -2,4 +2,5 @@
 
 import java.util.Comparator;
+import java.util.List;
 
 import de.mpiwg.itgroup.annotations.Annotation;
@@ -34,5 +35,19 @@
     }
         
-  
+	/**
+	 * Sortiere array nach einem Parameter in den Annotationen
+	 * @param results
+	 * @return
+	 */
+	public static void sortAnnotations(List<JSONObject> results,String attribute) {
+		JSONObjectComparator comp = new JSONObjectComparator(attribute);
+		
+		
+	
+		java.util.Collections.sort( results, comp);
+		
+		
+
+	}        
 	
 }
