code: def parse_uri(value):
          
          value = RdfNsManager.clean_iri(value)
          lookup = None
          end = None
  
          try:
              lookup = value[:value.rindex('#')+1]
              end = value[value.rindex('#')+1:]
          except ValueError:
              try:
                  lookup = value[:value.rindex('/')+1]
                  end = value[value.rindex('/')+1:]
              except ValueError:
                  try:
                      lookup = value[:value.index(':')]
                      end = value[value.rindex(':')+1:]
                  except ValueError:
                      try:
                          lookup = value[:value.index('_')]
                          end = value[value.index('_')+1:]
                      except ValueError:
                          lookup = value
                          end = ""
  
          return (lookup, end)
docs: Parses a value into a head and tail pair based on the finding the
              last '#' or '/' as is standard with URI fromats
  
          args:
              value: string value to parse
  
          returns:
              tuple: (lookup, end)