RDF::vCard::Entity(3) 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 <http://microformats.org/wiki/jcard>.

    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 <[email protected]>.


Copyright 2011 Toby Inkster

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