An Ontology for vCards

Latest Version:
http://www.w3.org/Submission/vcard-rdf
This Version:
http://www.w3.org/2006/vcard/ns
Date:
14 November 2006
Authors:
Harry Halpin
Brian Suda
Norman Walsh

Copyright © 2005, 2006 Harry Halpin, Brian Suda, Norman Walsh


Abstract

This ontology attempts to model a subset of vCards in RDF using modern (circa 2005) RDF best practices. The subset selected is the same subset that the microformats community has adopted for use in hCard.

Status of this Document

This document describes a vCard/hCard ontology developed in public on the semantic-web@w3.org mailing list. It was initially created on 3 Nov 2006 after discussion on #swig about “People in RDF”.

This version has been superceded (Jan. 20th 2010) by a new version of Representing vCard Objects in RDF.

This version (9 Nov 2006) is essentially a copy of what Norman Walsh developed, but it is expected to evolve as discussion takes place on the list.

Please send comments about this document to semantic-web@w3.org (public archives are available).


Table of Contents

Introduction
VCard
GRDDL Transformation
Relationship with Other Vocabularies
Examples
Ontology Reference
v:VCard Class - Resources that are vCards
v:Name Class - Resources that are vCard personal names
v:Address Class - Resources that are vCard (postal) addresses
v:Organization Class - Resources that are vCard organizations
v:Location Class - Resources that are vCard geographic locations
v:additional-name Property - An additional part of a person's name
v:adr Property - A postal or street address of a person
v:agent Property - A person that acts as one's agent
v:bday Property - The birthday of a person
v:category Property - A category of a vCard
v:class Property - A class (e.g., public, private, etc.) of a vCard
v:country-name Property - The country of a postal address
v:email Property - An email address
v:extended-address Property - The extended address of a postal address
v:family-name Property - A family name part of a person's name
v:fax Property - A fax number of a person
v:fn Property - A formatted name of a person
v:geo Property - A geographic location associated with a person
v:given-name Property - A given name part of a person's name
v:homeAdr Property - A home address of a person
v:homeTel Property - A home phone number of a person
v:honorific-prefix Property - An honorific prefix part of a person's name
v:honorific-suffix Property - An honorific suffix part of a person's name
v:key Property - A key (e.g, PKI key) of a person
v:label Property - The formatted version of a postal address (a string with embedded line breaks, punctuation, etc.)
v:latitude Property - The latitude of a geographic location
v:locality Property - The locality (e.g., city) of a postal address
v:logo Property - A logo associated with a person or their organization
v:longitude Property - The longitude of a geographic location
v:mailer Property - A mailer associated with a vCard
v:mobileEmail Property - A mobile email address of a person
v:mobileTel Property - A mobile phone number of a person
v:n Property - The components of the name of a person
v:nickname Property - The nickname of a person
v:note Property - Notes about a person on a vCard
v:org Property - An organization associated with a person
v:organization-name Property - The name of an organization
v:organization-unit Property - The name of a unit within an organization
v:personalEmail Property - An email address unaffiliated with any particular organization or employer; a personal email address
v:photo Property - A photograph of a person
v:post-office-box Property - The post office box of a postal address
v:postal-code Property - The postal code (e.g., U.S. ZIP code) of a postal address
v:region Property - The region (e.g., state or province) of a postal address
v:rev Property - The timestamp of a revision of a vCard
v:role Property - A role a person plays within an organization
v:sort-string Property - A version of a person's name suitable for collation
v:sound Property - A sound (e.g., a greeting or pronounciation) of a person
v:street-address Property - The street address of a postal address
v:tel Property - A telephone number of a person
v:title Property - A person's title
v:tz Property - A timezone associated with a person
v:uid Property - A UID of a person's vCard
v:unlabeledAdr Property - An (explicitly) unlabeled address of a person
v:unlabeledEmail Property - An (explicitly) unlabeled email address of a person
v:unlabeledTel Property - An (explicitly) unlabeled phone number of a person
v:url Property - A URL associated with a person
v:workAdr Property - A work address of a person
v:workEmail Property - A work email address of a person
v:workTel Property - A work phone number of a person
References
Change Log

1 Introduction

The namespace name for this vocabulary is http://www.w3.org/2006/vcard/ns#.

2 VCard

TBD

3 GRDDL Transformation

TBD

See: hcard2rdf.xsl.

4 Relationship with Other Vocabularies

TBD

5 Examples

This section shows several examples of the vCard vocabulary. For more examples, see the test suite (TBD).

<v:VCard>
  <v:fn>Jane Smith</v:fn>
  <v:url rdf:resource="http://janesmith.example.com/"/>
  <v:email rdf:resource="mailto:janesmith@example.com"/>
  <v:photo rdf:resource="http://janesmith.example.com/images/jane.png"/>
</v:VCard>

This example is taken directly from the hCard specification:

<v:VCard>
  <v:fn>Joe Friday</v:fn>
  <v:email rdf:resource="mailto:jfriday@host.com"/>
  <v:tel rdf:resource="tel:+1-919-555-7878"/>
  <v:title>Area Administrator, Assistant</v:title>
</v:VCard>

A Ontology Reference

The following sections outline the classes and properties in detail.

v:VCard Class

v:VCard — Resources that are vCards.

Description

The v:VCard class identifies resources that are vCards.

Constraints
  • A v:VCard can have at most 1 v:rev property.

Properties

The following properties have a domain of v:VCard: v:adr, v:agent, v:bday, v:category, v:class, v:email, v:fn, v:geo, v:key, v:logo, v:mailer, v:n, v:nickname, v:note, v:org, v:photo, v:rev, v:role, v:sort-string, v:sound, v:tel, v:title, v:tz, v:uid, v:url

v:Name Class

v:Name — Resources that are vCard personal names.

Description

The v:Name class identifies resources that are personal names in vCards.

Constraints

Properties

The following properties have a domain of v:Name: v:additional-name, v:family-name, v:given-name, v:honorific-prefix, v:honorific-suffix

v:Address Class

v:Address — Resources that are vCard (postal) addresses.

Description

The v:Address class identifies resources that are the postal addresses on a vCard.

Constraints

Properties

The following properties have a domain of v:Address: v:country-name, v:extended-address, v:label, v:locality, v:postal-code, v:post-office-box, v:region, v:street-address

v:Organization Class

v:Organization — Resources that are vCard organizations.

Description

The v:Organization class identifies resources that are vCard organizations.

Constraints

Properties

The following properties have a domain of v:Organization: v:organization-name, v:organization-unit

v:Location Class

v:Location — Resources that are vCard geographic locations.

Description

The v:Location class identifies resources that are geographic locations.

Constraints
  • A v:Location can have at most 1 v:latitude property.

  • A v:Location can have at most 1 v:longitude property.

Properties

The following properties have a domain of v:Location: v:latitude, v:longitude

v:additional-name Property

v:additional-name — An additional part of a person's name.

Description

The v:additional-name property specifies an additional part of a person's name.

Constraints
  • The domain of the v:additional-name property is the v:Name class.

See also

“Additional Names” in Section 3.1.2 of RFC 2426.

v:adr Property

v:adr — A postal or street address of a person.

Description

The v:adr property specifies a postal or street address of a person.

Constraints
  • The domain of the v:adr property is the v:VCard class.

  • The range of the v:adr property is the v:Address class.

Properties

The v:adr property has subproperties: v:homeAdr, v:unlabeledAdr, v:workAdr

v:agent Property

v:agent — A person that acts as one's agent.

Description

The v:agent property specifies a person that acts as one's agent.

Constraints
  • The domain of the v:agent property is the v:VCard class.

  • The range of the v:agent property is the v:VCard class.

v:bday Property

v:bday — The birthday of a person.

Description

The v:bday property specifies the birthday of a person.

Constraints
  • The domain of the v:bday property is the v:VCard class.

  • The range of the v:bday property is xs:date.

v:category Property

v:category — A category of a vCard.

Description

The v:category property specifies a category for a vCard.

Constraints
  • The domain of the v:category property is the v:VCard class.

v:class Property

v:class — A class (e.g., public, private, etc.) of a vCard.

Description

The v:class property specifies a class (e.g., public, private, etc.) of a vCard.

Constraints
  • The domain of the v:class property is the v:VCard class.

v:country-name Property

v:country-name — The country of a postal address.

Description

The v:country-name property specifies the country of a postal address.

Constraints
  • The domain of the v:country-name property is the v:Address class.

See also

“Country name” in Section 3.2.1 of RFC 2426.

v:email Property

v:email — An email address.

Description

The v:email property specifies an email address.

Constraints
  • The domain of the v:email property is the v:VCard class.

Properties

The v:email property has subproperties: v:mobileEmail, v:personalEmail, v:unlabeledEmail, v:workEmail

v:extended-address Property

v:extended-address — The extended address of a postal address.

Description

The v:extended-address property specifies the extended address of a postal address.

Constraints
  • The domain of the v:extended-address property is the v:Address class.

See also

“Extended address” in Section 3.2.1 of RFC 2426.

v:family-name Property

v:family-name — A family name part of a person's name.

Description

The v:family-name property specifies the family name part of a person's name.

Constraints
  • The domain of the v:family-name property is the v:Name class.

See also

“Family Name” in Section 3.1.2 of RFC 2426.

v:fax Property

v:fax — A fax number of a person.

Description

The v:fax property specifies a fax number of a person.

Properties

The v:fax property is a subproperty of: v:tel

v:fn Property

v:fn — A formatted name of a person.

Description

The v:fn property specifies a formatted name of a person.

Constraints
  • The domain of the v:fn property is the v:VCard class.

v:geo Property

v:geo — A geographic location associated with a person.

Description

The v:geo property specifies a geographic location associated with a person.

Constraints
  • The domain of the v:geo property is the v:VCard class.

  • The range of the v:geo property is the v:Location class.

v:given-name Property

v:given-name — A given name part of a person's name.

Description

The v:given-name property specifies the given name part of a person's name.

Constraints
  • The domain of the v:given-name property is the v:Name class.

See also

“Given Name” in Section 3.1.2 of RFC 2426.

v:homeAdr Property

v:homeAdr — A home address of a person.

Description

The v:homeAdr property specifies a home address of a person.

Constraints
  • The range of the v:homeAdr property is the v:Address class.

Properties

The v:homeAdr property is a subproperty of: v:adr

v:homeTel Property

v:homeTel — A home phone number of a person.

Description

The v:homeTel property specifies a home phone number of a person.

Properties

The v:homeTel property is a subproperty of: v:tel

v:honorific-prefix Property

v:honorific-prefix — An honorific prefix part of a person's name.

Description

The v:honorific-prefix property specifies an honorific prefix part of a person's name.

Constraints
  • The domain of the v:honorific-prefix property is the v:Name class.

See also

“Honorific Prefixes” in Section 3.1.2 of RFC 2426.

v:honorific-suffix Property

v:honorific-suffix — An honorific suffix part of a person's name.

Description

The v:honorific-suffix property specifies an honorific suffix part of a person's name.

Constraints
  • The domain of the v:honorific-suffix property is the v:Name class.

See also

“Honorific Suffixes” in Section 3.1.2 of RFC 2426.

v:key Property

v:key — A key (e.g, PKI key) of a person.

Description

The v:key property specifies a key (e.g, PKI key) of a person.

Constraints
  • The domain of the v:key property is the v:VCard class.

v:label Property

v:label — The formatted version of a postal address (a string with embedded line breaks, punctuation, etc.).

Description

The v:label property specifies the formatted version of a postal address (a string with embedded line breaks, punctuation, etc.).

Constraints
  • The domain of the v:label property is the v:Address class.

v:latitude Property

v:latitude — The latitude of a geographic location.

Description

The v:latitude property specifies the latitude of a geographic location.

Constraints
  • The domain of the v:latitude property is the v:Location class.

  • The range of the v:latitude property is xs:double.

See also

“Latitude” in Section 3.4.2 of RFC 2426.

v:locality Property

v:locality — The locality (e.g., city) of a postal address.

Description

The v:locality property specifies the locality (e.g., city) of a postal address.

Constraints
  • The domain of the v:locality property is the v:Address class.

See also

“Locality” in Section 3.2.1 of RFC 2426.

v:longitude Property

v:longitude — The longitude of a geographic location.

Description

The v:longitude property specifies the longitude of a geographic location.

Constraints
  • The domain of the v:longitude property is the v:Location class.

  • The range of the v:longitude property is xs:double.

See also

“Longitude” in Section 3.4.2 of RFC 2426.

v:mailer Property

v:mailer — A mailer associated with a vCard.

Description

The v:mailer property specifies a mailer associated with a vCard.

Constraints
  • The domain of the v:mailer property is the v:VCard class.

v:mobileEmail Property

v:mobileEmail — A mobile email address of a person.

Description

The v:mobileEmail property specifies a mobile email address of a person.

Properties

The v:mobileEmail property is a subproperty of: v:email

v:mobileTel Property

v:mobileTel — A mobile phone number of a person.

Description

The v:mobileTel property specifies a mobile phone number of a person.

Properties

The v:mobileTel property is a subproperty of: v:tel

v:n Property

v:n — The components of the name of a person.

Description

The v:n property specifies the components of the name of a person.

Constraints
  • The domain of the v:n property is the v:VCard class.

  • The range of the v:n property is the v:Name class.

v:nickname Property

v:nickname — The nickname of a person.

Description

The v:nickname property specifies the nickname of a person.

Constraints
  • IS THIS RIGHT? The domain of the v:nickname property is the v:VCard class.

v:note Property

v:note — Notes about a person on a vCard.

Description

The v:note property specifies notes about a person on a vCard.

Constraints
  • The domain of the v:note property is the v:VCard class.

v:org Property

v:org — An organization associated with a person.

Description

The v:org property specifies an organization associated with a person.

Constraints
  • The domain of the v:org property is the v:VCard class.

  • The range of the v:org property is the v:Organization class.

v:organization-name Property

v:organization-name — The name of an organization.

Description

The v:organization-name property specifies the name of an organization.

Constraints
  • The domain of the v:organization-name property is the v:Organization class.

See also

“Organization Name” in Section 3.5.5 of RFC 2426.

v:organization-unit Property

v:organization-unit — The name of a unit within an organization.

Description

The v:organization-unit property specifies the name of a unit within an organization.

Constraints
  • The domain of the v:organization-unit property is the v:Organization class.

See also

“Organization Unit” in Section 3.5.5 of RFC 2426.

v:personalEmail Property

v:personalEmail — An email address unaffiliated with any particular organization or employer; a personal email address.

Description

The v:personalEmail property specifies an email address unaffiliated with any particular organization or employer; a personal email address.

Properties

The v:personalEmail property is a subproperty of: v:email

v:photo Property

v:photo — A photograph of a person.

Description

The v:photo property specifies a photograph of a person.

Constraints
  • The domain of the v:photo property is the v:VCard class.

v:post-office-box Property

v:post-office-box — The post office box of a postal address.

Description

The v:post-office-box property specifies the post office box of a postal address.

Constraints
  • The domain of the v:post-office-box property is the v:Address class.

See also

“Post office box” in Section 3.2.1 of RFC 2426.

v:postal-code Property

v:postal-code — The postal code (e.g., U.S. ZIP code) of a postal address.

Description

The v:postal-code property specifies the postal code (e.g., U.S. ZIP code) of a postal address.

Constraints
  • The domain of the v:postal-code property is the v:Address class.

See also

“Postal code” in Section 3.2.1 of RFC 2426.

v:region Property

v:region — The region (e.g., state or province) of a postal address.

Description

The v:region property specifies the region (e.g., state or province) of a postal address.

Constraints
  • The domain of the v:region property is the v:Address class.

See also

“Region” in Section 3.2.1 of RFC 2426.

v:rev Property

v:rev — The timestamp of a revision of a vCard.

Description

The v:rev property specifies the timestamp of a revision of a vCard.

Constraints
  • The domain of the v:rev property is the v:VCard class.

  • The range of the v:rev property is the union of xs:date and xs:dateTime.

v:role Property

v:role — A role a person plays within an organization.

Description

The v:role property specifies a role a person plays within an organization.

Constraints
  • The domain of the v:role property is the v:VCard class.

v:sort-string Property

v:sort-string — A version of a person's name suitable for collation.

Description

The v:sort-string property specifies a version of a person's name suitable for collation.

Constraints
  • The domain of the v:sort-string property is the v:VCard class.

v:sound Property

v:sound — A sound (e.g., a greeting or pronounciation) of a person.

Description

The v:sound property specifies a sound (e.g., a greeting or pronounciation) of a person.

Constraints
  • The domain of the v:sound property is the v:VCard class.

v:street-address Property

v:street-address — The street address of a postal address.

Description

The v:street-address property specifies the street address of a postal address.

Constraints
  • The domain of the v:street-address property is the v:Address class.

See also

“Street address” in Section 3.2.1 of RFC 2426.

v:tel Property

v:tel — A telephone number of a person.

Description

The v:tel property specifies a telephone number of a person.

Constraints
  • The domain of the v:tel property is the v:VCard class.

Properties

The v:tel property has subproperties: v:fax, v:homeTel, v:mobileTel, v:unlabeledTel, v:workTel

v:title Property

v:title — A person's title.

Description

The v:title property specifies a person's title.

Constraints
  • The domain of the v:title property is the v:VCard class.

v:tz Property

v:tz — A timezone associated with a person.

Description

The v:tz property specifies the home timezone associated with a person.

Constraints
  • The domain of the v:tz property is the v:VCard class.

v:uid Property

v:uid — A UID of a person's vCard.

Description

The v:uid property specifies A UID of a person's vCard.

Constraints
  • The domain of the v:uid property is the v:VCard class.

v:unlabeledAdr Property

v:unlabeledAdr — An (explicitly) unlabeled address of a person.

Description

The v:unlabeledAdr property specifies an (explicitly) unlabeled address of a person.

Constraints
  • The range of the v:unlabeledAdr property is the v:Address class.

Properties

The v:unlabeledAdr property is a subproperty of: v:adr

v:unlabeledEmail Property

v:unlabeledEmail — An (explicitly) unlabeled email address of a person.

Description

The v:unlabeledEmail property specifies an (explicitly) unlabeled email address of a person.

Properties

The v:unlabeledEmail property is a subproperty of: v:email

v:unlabeledTel Property

v:unlabeledTel — An (explicitly) unlabeled phone number of a person.

Description

The v:unlabeledTel property specifies an (explicitly) unlabeled phone number of a person.

Properties

The v:unlabeledTel property is a subproperty of: v:tel

v:url Property

v:url — A URL associated with a person.

Description

The v:url property specifies a URL associated with a person.

Constraints
  • The domain of the v:url property is the v:VCard class.

v:workAdr Property

v:workAdr — A work address of a person.

Description

The v:workAdr property specifies a work address of a person.

Constraints
  • The range of the v:workAdr property is the v:Address class.

Properties

The v:workAdr property is a subproperty of: v:adr

v:workEmail Property

v:workEmail — A work email address of a person.

Description

The v:workEmail property specifies a work email address of a person.

Properties

The v:workEmail property is a subproperty of: v:email

v:workTel Property

v:workTel — A work phone number of a person.

Description

The v:workTel property specifies a work phone number of a person.

Properties

The v:workTel property is a subproperty of: v:tel

B References

[RFC 2426] IETF (Internet Engineering Task Force). RFC 2426: vCard MIME Directory Profile. Dawson, F. and T. Howes. September 1998.

C Change Log

14 Nov 2006, ndw
  • Added “nickname” property; not sure about domain.
  • Added links to RFC 2426, per http://www.w3.org/2006/03/hcard.
  • Fixed typo in v:adr: “range” was used where “domain” was intended.