---
name: "RDF::vCard::Entity"
section: "3pm"
platform: "linux"
package: "librdf-vcard-perl"
version: "0.012-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/RDF::vCard::Entity"
---

# RDF::vCard::Entity(3pm)

represents a single vCard

## NAME

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

## DESCRIPTION

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.

### Constructor

- •

  `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;
  ```

### Methods

- •

  `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.

  e.g.

  ```
    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.

## SEE ALSO

RDF::vCard.

## AUTHOR

Toby Inkster \<tobyink@cpan.org\>.

## COPYRIGHT

Copyright 2011 Toby Inkster

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