code: function(b)
  {
     var rval = '';
     
     var first = true;
     for(var p in b)
     {
        if(p !== '@id')
        {
           if(first)
           {
              first = false;
           }
           else
           {
              rval += '|';
           }
           
           // property
           rval += '<' + p + '>';
           
           // object(s)
           var objs = (b[p].constructor === Array) ? b[p] : [b[p]];
           for(var oi in objs)
           {
              var o = objs[oi];
              if(o.constructor === Object)
              {
                 // ID (IRI)
                 if('@id' in o)
                 {
                    if(_isBlankNodeIri(o['@id']))
                    {
                       rval += '_:';
                    }
                    else
                    {
                       rval += '<' + o['@id'] + '>';
                    }
                 }
                 // literal
                 else
                 {
                    rval += '"' + o['@literal'] + '"';
                    
                    // type literal
                    if('@type' in o)
                    {
                       rval += '^^<' + o['@type'] + '>';
                    }
                    // language literal
                    else if('@language' in o)
                    {
                       rval += '@' + o['@language'];
                    }
                 }
              }
              // plain literal
              else
              {
                 rval += '"' + o + '"';
              }
           }
        }
     }
     
     return rval;
  }
docs: Serializes the properties of the given bnode for its relation serialization.
  
  @param b the blank node.
  
  @return the serialized properties.