code: def write(models, out=None, base=None, logger=logging):
      '''
      models - one or more input Versa models from which output is generated.
      '''
      assert out is not None #Output stream required
      if not isinstance(models, list): models = [models]
      for m in models:
          for link in m.match():
              s, p, o = link[:3]
              #Skip docheader statements
              if s == (base or '') + '@docheader': continue
              if p in RESOURCE_MAPPING: p = RESOURCE_MAPPING[p]
              if o in RESOURCE_MAPPING: o = RESOURCE_MAPPING[o]
              
              if p == VERSA_TYPE_REL: p = RDF_TYPE_REL
              print(strconv(s), strconv(p), strconv(o), '.', file=out)
      returf write(models, out=None, base=None, logger=logging):
      '''
      models - one or more input Versa models from which output is generated.
      '''
      assert out is not None #Output stream required
      if not isinstance(models, list): models = [models]
      for m in models:
          for link in m.match():
              s, p, o = link[:3]
              #Skip docheader statements
              if s == (base or '') + '@docheader': continue
              if p in RESOURCE_MAPPING: p = RESOURCE_MAPPING[p]
              if o in RESOURCE_MAPPING: o = RESOURCE_MAPPING[o]
              
              if p == VERSA_TYPE_REL: p = RDF_TYPE_REL
              print(strconv(s), strconv(p), strconv(o), '.', file=out)
      return
docs: models - one or more input Versa models from which output is generated.