code: def graph_hash(obj):
      '''this hashes all types to a hash without colissions. python's hashing algorithms are not cross type compatable but hashing tuples with the type as the first element seems to do the trick'''
      obj_type = type(obj)
      try:
          # this works for hashables
          return hash((obj_type, obj))
      except:
          # this works for object containers since graphdb
          # wants to identify different containers
          # instead of the sum of their current internals
          return hash((obj_type, id(obj))f graph_hash(obj):
      '''this hashes all types to a hash without colissions. python's hashing algorithms are not cross type compatable but hashing tuples with the type as the first element seems to do the trick'''
      obj_type = type(obj)
      try:
          # this works for hashables
          return hash((obj_type, obj))
      except:
          # this works for object containers since graphdb
          # wants to identify different containers
          # instead of the sum of their current internals
          return hash((obj_type, id(obj)))
docs: this hashes all types to a hash without colissions. python's hashing algorithms are not cross type compatable but hashing tuples with the type as the first element seems to do the trick