The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


RDF::vCard::Entity - represents a single vCard


Instances of this class correspond to individual vCard objects, though it could potentially be used as basis for other RFC 2425-based formats such as iCalendar.


  • new(%options)

    Returns a new RDF::vCard::Entity object.

    The only option worth worrying about is profile which sets the profile for the entity. This defaults to "VCARD".

    RDF::vCard::Entity overloads stringification, so you can do the following:

      my $vcard = RDF::vCard::Entity->new;
      print $vcard if $vcard =~ /VCARD/i;


  • to_string()

    Formats the object according to RFC 2425 and RFC 2426.

  • to_jcard()

    Formats the object according to

    to_jcard(1) will return the same data but without the JSON stringification.

  • add_to_model($model)

    Given an RDF::Trine::Model, adds triples to the model for this entity.

  • node()

    Returns an RDF::Trine::Node::Blank identifying this entity.

  • entity_order()

    Returns a string along the lines of "Surname;Forename" useful for sorting a list of entities.

  • profile()

    Returns the entity type - e.g. "VCARD".

  • lines()

    Returns an arrayref of RDF::vCard::Line objects in the order they were originally added.

    This excludes the "BEGIN:VCARD" and "END:VCARD" lines.

  • add($line)

    Add a RDF::vCard::Line.

  • get($property)

    Returns a list of RDF::vCard::Line objects for the given property.


      print "It has an address!\n" if ($vcard->get('ADR'));
  • matches($property, $regexp)

    Checks to see if a property's value matches a regular expression.

      print "In London\n" if $vcard->matches(ADR => /London/);
  • add_component($thing)

    Adds a nested entity within this one. This method is unused for vCard, but is a hook for the benefit of RDF::iCalendar.

  • components

    Lists nested entities within this one.




Toby Inkster <>.


Copyright 2011 Toby Inkster

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.