code: def _as_rdf_xml(self, ns):
          
          self.rdf_identity = self._get_identity(ns)
          elements = []
          elements.append(ET.Element(NS('sbol', 'persistentIdentity'),
                                     attrib={NS('rdf', 'resource'):
                                             self._get_persistent_identitity(ns)}))
          if self.name is not None:
              name = ET.Element(NS('dcterms', 'title'))
              name.text = self.name
              elements.append(name)
          if self.display_id is not None:
              display_id = ET.Element(NS('sbol', 'displayId'))
              display_id.text = self.display_id
              elements.append(display_id)
          if self.version is not None:
              version = ET.Element(NS('sbol', 'version'))
              version.text = self.version
              elements.append(version)
          if self.was_derived_from is not None:
              elements.append(ET.Element(NS('prov', 'wasDerivedFrom'),
                                         attrib={NS('rdf', 'resource'): self.was_derived_from}))
          if self.description is not None:
              description = ET.Element(NS('dcterms', 'description'))
              description.text = self.description
              elements.append(description)
          for a in self.annotations:
              elements.append(a._as_rdf_xml(ns))
          return elements
docs: Return identity details for the element as XML nodes