code: def get_binding_site_name(agent):
      
      # Try to construct a binding site name based on parent
      grounding = agent.get_grounding()
      if grounding != (None, None):
          uri = hierarchies['entity'].get_uri(grounding[0], grounding[1])
          # Get highest level parents in hierarchy
          parents = hierarchies['entity'].get_parents(uri, 'top')
          if parents:
              # Choose the first parent if there are more than one
              parent_uri = sorted(parents)[0]
              parent_agent = _agent_from_uri(parent_uri)
              binding_site = _n(parent_agent.name).lower()
              return binding_site
      # Fall back to Agent's own name if one from parent can't be constructed
      binding_site = _n(agent.name).lower()
      return binding_site
docs: Return a binding site name from a given agent.