code: def save(self):
          
  
          # create or update instance node
          if hasattr(self, 'id'):
              # update
              params = self.deflate(self.__properties__, self)
              query = "MATCH (n) WHERE id(n)={self} \n"
              query += "\n".join(["SET n.{0} = {{{1}}}".format(key, key) + "\n"
                                  for key in params.keys()])
              for label in self.inherited_labels():
                  query += "SET n:`{0}`\n".format(label)
              self.cypher(query, params)
          elif hasattr(self, 'deleted') and self.deleted:
              raise ValueError("{0}.save() attempted on deleted node".format(
                  self.__class__.__name__))
          else:  # create
              self.id = self.create(self.__properties__)[0].id
          return self
docs: Save the node to neo4j or raise an exception
  
          :return: the node instance