---
name: "RDF::vCard::Importer"
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::Importer"
---

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

import RDF data from vCard format

## NAME

RDF::vCard::Importer - import RDF data from vCard format

## SYNOPSIS

```
 use RDF::vCard;
 use RDF::TrineShortcuts qw':all';

 my $importer = RDF::vCard::Importer->new;
 print $_
        foreach $importer->import_file('contacts.vcf');
 print rdf_string($importer->model => 'RDFXML');
```

## DESCRIPTION

This module reads vCards and writes RDF.

### Constructor

- •

  `new(%options)`

  Returns a new RDF::vCard::Importer object and initialises it.

  The only valid option currently is **ua** which can be set to an LWP::UserAgent for those rare occasions that the Importer needs to fetch stuff from the Web.

### Methods

- •

  `"init"`

  Reinitialise the importer. Forgets any cards that have already been imported.

- •

  `"model"`

  Return an RDF::Trine::Model containing data for all cards that have been imported since the importer was last initialised.

- •

  `"import_file($filename, %options)"`

  Imports vCard data from a file on the file system.

  The data is added to the importer's model (and can be retrieved using the `"model"` method).

  This function returns a list of RDF::vCard::Entity objects, so it's also possible to access the data that way.

  There is currently only one supported option: `"lang"` which takes an ISO language code indicating the default language of text within the vCard data.

- •

  `"import_fh($filehandle, %options)"`

  As per `"import_file"`, but operates on a file handle.

- •

  `"import_string($string, %options)"`

  As per `"import_file"`, but operates on vCard data in a string.

- •

  `import_url($url)`

  As per `"import_file"`, but fetches vCard data from a Web address.

  Sends an HTTP Accept header of:

  ```
    text/directory;profile=vCard,
    text/vcard,
    text/x-vcard,
    text/directory;q=0.1
  ```

### vCard Input

vCard 3.0 should be supported fairly completely. Some vCard 4.0 constructs will also work.

Much of the heavy lifting is performed by Text::vFile::asData, so this module may be affected by bugs in that distribution.

### RDF Output

Output uses the newer of the 2010 revision of the W3C's vCard vocabulary \<http://www.w3.org/Submission/vcard-rdf/\>. (Note that even though this was revised in 2010, the term URIs include "2006" in them.)

Some extensions from the namespace \<http://buzzword.org.uk/rdf/vcardx#\> are also output.

The AGENT property is currently omitted from output. This will be added in a later version.

## SEE ALSO

RDF::vCard.

\<http://www.w3.org/Submission/vcard-rdf/\>.

\<http://www.perlrdf.org/\>.

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