anchor.diff:  
   (defun neo4j-cypher-get-request (endpoint uri)
     "Send a GET request to the legacy Cypher API, and return the parsed result.
  -DEPRECATED: use neo4j-transaction instead, unless you have a specific reason not to."
  +   DEPRECATED: use neo4j-transaction instead, unless you have a specific reason not to."
     (multiple-value-bind (content code headers uri stream ignore reason)
  -      (drakma:http-request
  -       (concatenate 'string (base-url endpoint) uri)
  -       :accept "application/json; charset=UTF-8"
  -       :content-type "application/json"
  -       :additional-headers `(("authorization"
  -                              ,(concatenate 'string "Basic "
  -                                            (cl-base64:string-to-base64-string
  +    (drakma:http-request
  +      (concatenate 'string (base-url endpoint) uri)
  +      :accept "application/json; charset=UTF-8"
  +      :content-type "application/json"
  +      :additional-headers `(("authorization"
  +                             ,(concatenate 'string "Basic "
  +                                           (cl-base64:string-to-base64-string
                                                (format nil "~A:~A"
                                                        (dbuser endpoint)
                                                        (dbpasswd endpoint)))))))
  
positive.code: 
  (defun get-user-status (server)
    "Authenticate to the Neo4J server and confirm the status of the database user.
    200/OK means the credentials are good.
    401/Unauthorized means they're not.
    The presence of (:PASSWORD--CHANGE--REQUIRED . T) in the body of the reply, well, you get the hint."
    (neo4j-cypher-get-request server (concatenate 'string "/user/" (dbuser server))))
  
  (defun neo4j-cypher-post-request (endpoint content &optional uri)
  
negative.code: 
  ;;; The modern interface
  
  ;; Classes of Neo4J status codes
  ;; Based on the documentation at http://neo4j.com/docs/developer-manual/current/#status-codes
  
  ;; The Client sent a bad request - changing the request might yield a successful outcome.
  ;; Effect on transaction: rollback
  (define-condition client-error (error)
    ((code :initarg :code :reader code)
     (category :initarg :category :reader category)
     (title :initarg :title :reader title)
     (message :initarg :message :reader message)))
  
  ;; There are notifications about the request sent by the client.
  ;; Effect on transaction: none
  (define-condition client-notification ()
    ((code :initarg :code :reader code)
     (category :initarg :category :reader category)
     (title :initarg :title :reader title)
     (message :initarg :message :reader message)))
  
  ;; The database cannot service the request right now, retrying later might yield a successful outcome.
  ;; Effect on transaction: rollback
  (define-condition transient-error (error)
    ((code :initarg :code :reader code)
     (category :initarg :category :reader category)
     (title :initarg :title :reader title)
     (message :initarg :message :reader message)))
  
  ;; The database failed to service the request.
  ;; Effect on transaction: rollback
  (define-condition database-error (error)
    ((code :initarg :code :reader code)
     (category :initarg :category :reader category)
     (title :initarg :title :reader title)
     (message :initarg :message :reader message)))
  
  
  (defun neo4j-transaction (endpoint statements)
    "Execute one or more Cypher statements, wrapped in a transaction.
     For now, we're simply issuing all statements in a batch and then committing, instead of building it up over several HTTP requests.
     Sample input:
     '((:statements
         ((:statement . \"MATCH (n:User {properties} ) RETURN n\")
          (:parameters (:properties (:name . \"bob\"))))))
     If an error is detected, it will be signalled with whatever information was provided by Neo4J"
    (multiple-value-bind (reply-content code headers uri stream ignore reason)
      (drakma:http-request (concatenate 'string (base-url endpoint) "/db/data/transaction/commit")
                           :method :post
  