Copyright © 2005, 2006 Harry Halpin, Brian Suda, Norman Walsh
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.
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).
v:VCard
Class - Resources that are vCardsv:Name
Class - Resources that are vCard personal namesv:Address
Class - Resources that are vCard (postal) addressesv:Organization
Class - Resources that are vCard organizationsv:Location
Class - Resources that are vCard geographic locationsv:additional-name
Property - An additional part of a person's namev:adr
Property - A postal or street address of a personv:agent
Property - A person that acts as one's agentv:bday
Property - The birthday of a personv:category
Property - A category of a vCardv:class
Property - A class (e.g., public, private, etc.) of a vCardv:country-name
Property - The country of a postal addressv:email
Property - An email addressv:extended-address
Property - The extended address of a postal addressv:family-name
Property - A family name part of a person's namev:fax
Property - A fax number of a personv:fn
Property - A formatted name of a personv:geo
Property - A geographic location associated with a personv:given-name
Property - A given name part of a person's namev:homeAdr
Property - A home address of a personv:homeTel
Property - A home phone number of a personv:honorific-prefix
Property - An honorific prefix part of a person's namev:honorific-suffix
Property - An honorific suffix part of a person's namev:key
Property - A key (e.g, PKI key) of a personv: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 locationv:locality
Property - The locality (e.g., city) of a postal addressv:logo
Property - A logo associated with a person or their organizationv:longitude
Property - The longitude of a geographic locationv:mailer
Property - A mailer associated with a vCardv:mobileEmail
Property - A mobile email address of a personv:mobileTel
Property - A mobile phone number of a personv:n
Property - The components of the name of a personv:nickname
Property - The nickname of a personv:note
Property - Notes about a person on a vCardv:org
Property - An organization associated with a personv:organization-name
Property - The name of an organizationv:organization-unit
Property - The name of a unit within an organizationv:personalEmail
Property - An email address unaffiliated with any particular organization or employer; a personal email addressv:photo
Property - A photograph of a personv:post-office-box
Property - The post office box of a postal addressv:postal-code
Property - The postal code (e.g., U.S. ZIP code) of a postal addressv:region
Property - The region (e.g., state or province) of a postal addressv:rev
Property - The timestamp of a revision of a vCardv:role
Property - A role a person plays within an organizationv:sort-string
Property - A version of a person's name suitable for collationv:sound
Property - A sound (e.g., a greeting or pronounciation) of a personv:street-address
Property - The street address of a postal addressv:tel
Property - A telephone number of a personv:title
Property - A person's titlev:tz
Property - A timezone associated with a personv:uid
Property - A UID of a person's vCardv:unlabeledAdr
Property - An (explicitly) unlabeled address of a personv:unlabeledEmail
Property - An (explicitly) unlabeled email address of a personv:unlabeledTel
Property - An (explicitly) unlabeled phone number of a personv:url
Property - A URL associated with a personv:workAdr
Property - A work address of a personv:workEmail
Property - A work email address of a personv:workTel
Property - A work phone number of a personThe namespace name for this vocabulary is http://www.w3.org/2006/vcard/ns#.
TBD
TBD
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>
The following sections outline the classes and properties in detail.
v:VCard
Classv:VCard — Resources that are vCards.
The v:VCard
class identifies resources that are vCards.
A v:VCard
can have at most 1 v:rev
property.
v:Name
Classv:Name — Resources that are vCard personal names.
The v:Name
class identifies resources that are personal names in vCards.
A v:Name
can have at most 1 v:family-name
property.
A v:Name
can have at most 1 v:given-name
property.
A v:Name
can have at most 1 v:additional-name
property.
A v:Name
can have at most 1 v:honorific-prefix
property.
A v:Name
can have at most 1 v:honorific-suffix
property.
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
Classv:Address — Resources that are vCard (postal) addresses.
The v:Address
class identifies resources that are the postal addresses on a vCard.
A v:Address
can have at most 1 v:post-office-box
property.
A v:Address
can have at most 1 v:extended-address
property.
A v:Address
can have at most 1 v:street-address
property.
A v:Address
can have at most 1 v:locality
property.
A v:Address
can have at most 1 v:region
property.
A v:Address
can have at most 1 v:postal-code
property.
A v:Address
can have at most 1 v:country-name
property.
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
Classv:Organization — Resources that are vCard organizations.
The v:Organization
class identifies resources that are vCard organizations.
A v:Organization
can have at most 1 v:organization-name
property.
A v:Organization
can have at most 1 v:organization-unit
property.
The following properties have a domain of v:Organization
: v:organization-name,
v:organization-unit
v:Location
Classv:Location — Resources that are vCard geographic locations.
The v:Location
class identifies resources that are geographic locations.
A v:Location
can have at most 1 v:latitude
property.
A v:Location
can have at most 1 v:longitude
property.
The following properties have a domain of v:Location
: v:latitude,
v:longitude
v:additional-name
Propertyv:additional-name — An additional part of a person's name.
The v:additional-name
property specifies an additional part of a person's name.
The domain of the v:additional-name
property is the v:Name
class.
“Additional Names” in Section 3.1.2 of RFC 2426.
v:adr
Propertyv:adr — A postal or street address of a person.
The v:adr
property specifies a postal or street address of a person.
The v:adr
property has subproperties: v:homeAdr,
v:unlabeledAdr,
v:workAdr
v:agent
Propertyv:agent — A person that acts as one's agent.
The v:agent
property specifies a person that acts as one's agent.
v:bday
Propertyv:bday — The birthday of a person.
The v:bday
property specifies the birthday of a person.
The domain of the v:bday
property is the v:VCard
class.
The range of the v:bday
property is xs:date
.
v:category
Propertyv:category — A category of a vCard.
The v:category
property specifies a category for a vCard.
The domain of the v:category
property is the v:VCard
class.
v:class
Propertyv:class — A class (e.g., public, private, etc.) of a vCard.
The v:class
property specifies a class (e.g., public, private, etc.) of a vCard.
The domain of the v:class
property is the v:VCard
class.
v:country-name
Propertyv:country-name — The country of a postal address.
The v:country-name
property specifies the country of a postal address.
The domain of the v:country-name
property is the v:Address
class.
“Country name” in Section 3.2.1 of RFC 2426.
v:email
Propertyv:email — An email address.
The v:email
property specifies an email address.
The domain of the v:email
property is the v:VCard
class.
The v:email
property has subproperties: v:mobileEmail,
v:personalEmail,
v:unlabeledEmail,
v:workEmail
v:extended-address
Propertyv:extended-address — The extended address of a postal address.
The v:extended-address
property specifies the extended address of a postal address.
The domain of the v:extended-address
property is the v:Address
class.
“Extended address” in Section 3.2.1 of RFC 2426.
v:family-name
Propertyv:family-name — A family name part of a person's name.
The v:family-name
property specifies the family name part of a person's name.
The domain of the v:family-name
property is the v:Name
class.
“Family Name” in Section 3.1.2 of RFC 2426.
v:fax
Propertyv:fax — A fax number of a person.
The v:fax
property specifies a fax number of a person.
The v:fax
property is a subproperty of: v:tel
v:fn
Propertyv:fn — A formatted name of a person.
The v:fn
property specifies a formatted name of a person.
The domain of the v:fn
property is the v:VCard
class.
v:geo
Propertyv:geo — A geographic location associated with a person.
The v:geo
property specifies a geographic location associated with a person.
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
Propertyv:given-name — A given name part of a person's name.
The v:given-name
property specifies the given name part of a person's name.
The domain of the v:given-name
property is the v:Name
class.
“Given Name” in Section 3.1.2 of RFC 2426.
v:homeAdr
Propertyv:homeAdr — A home address of a person.
The v:homeAdr
property specifies a home address of a person.
The range of the v:homeAdr
property is the v:Address
class.
The v:homeAdr
property is a subproperty of: v:adr
v:homeTel
Propertyv:homeTel — A home phone number of a person.
The v:homeTel
property specifies a home phone number of a person.
The v:homeTel
property is a subproperty of: v:tel
v:honorific-prefix
Propertyv:honorific-prefix — An honorific prefix part of a person's name.
The v:honorific-prefix
property specifies an honorific prefix part of a person's name.
The domain of the v:honorific-prefix
property is the v:Name
class.
“Honorific Prefixes” in Section 3.1.2 of RFC 2426.
v:honorific-suffix
Propertyv:honorific-suffix — An honorific suffix part of a person's name.
The v:honorific-suffix
property specifies an honorific suffix part of a person's name.
The domain of the v:honorific-suffix
property is the v:Name
class.
“Honorific Suffixes” in Section 3.1.2 of RFC 2426.
v:key
Propertyv:key — A key (e.g, PKI key) of a person.
The v:key
property specifies a key (e.g, PKI key) of a person.
The domain of the v:key
property is the v:VCard
class.
v:label
Propertyv:label — The formatted version of a postal address (a string with embedded line breaks, punctuation, etc.).
The v:label
property specifies the formatted version of a postal address (a string with embedded line breaks, punctuation, etc.).
The domain of the v:label
property is the v:Address
class.
v:latitude
Propertyv:latitude — The latitude of a geographic location.
The v:latitude
property specifies the latitude of a geographic location.
The domain of the v:latitude
property is the v:Location
class.
The range of the v:latitude
property is xs:double
.
“Latitude” in Section 3.4.2 of RFC 2426.
v:locality
Propertyv:locality — The locality (e.g., city) of a postal address.
The v:locality
property specifies the locality (e.g., city) of a postal address.
The domain of the v:locality
property is the v:Address
class.
“Locality” in Section 3.2.1 of RFC 2426.
v:logo
Propertyv:logo — A logo associated with a person or their organization.
The v:logo
property specifies a logo associated with a person or their organization.
The domain of the v:logo
property is the v:VCard
class.
v:longitude
Propertyv:longitude — The longitude of a geographic location.
The v:longitude
property specifies the longitude of a geographic location.
The domain of the v:longitude
property is the v:Location
class.
The range of the v:longitude
property is xs:double
.
“Longitude” in Section 3.4.2 of RFC 2426.
v:mailer
Propertyv:mailer — A mailer associated with a vCard.
The v:mailer
property specifies a mailer associated with a vCard.
The domain of the v:mailer
property is the v:VCard
class.
v:mobileEmail
Propertyv:mobileEmail — A mobile email address of a person.
The v:mobileEmail
property specifies a mobile email address of a person.
The v:mobileEmail
property is a subproperty of: v:email
v:mobileTel
Propertyv:mobileTel — A mobile phone number of a person.
The v:mobileTel
property specifies a mobile phone number of a person.
The v:mobileTel
property is a subproperty of: v:tel
v:n
Propertyv:n — The components of the name of a person.
The v:n
property specifies the components of the name of a person.
v:nickname
Propertyv:nickname — The nickname of a person.
The v:nickname
property specifies the nickname of a person.
IS THIS RIGHT? The domain of the v:nickname
property is the v:VCard
class.
v:note
Propertyv:note — Notes about a person on a vCard.
The v:note
property specifies notes about a person on a vCard.
The domain of the v:note
property is the v:VCard
class.
v:org
Propertyv:org — An organization associated with a person.
The v:org
property specifies an organization associated with a person.
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
Propertyv:organization-name — The name of an organization.
The v:organization-name
property specifies the name of an organization.
The domain of the v:organization-name
property is the v:Organization
class.
“Organization Name” in Section 3.5.5 of RFC 2426.
v:organization-unit
Propertyv:organization-unit — The name of a unit within an organization.
The v:organization-unit
property specifies the name of a unit within an organization.
The domain of the v:organization-unit
property is the v:Organization
class.
“Organization Unit” in Section 3.5.5 of RFC 2426.
v:personalEmail
Propertyv:personalEmail — An email address unaffiliated with any particular organization or employer; a personal email address.
The v:personalEmail
property specifies an email address unaffiliated with any particular organization or employer; a personal email address.
The v:personalEmail
property is a subproperty of: v:email
v:photo
Propertyv:photo — A photograph of a person.
The v:photo
property specifies a photograph of a person.
The domain of the v:photo
property is the v:VCard
class.
v:post-office-box
Propertyv:post-office-box — The post office box of a postal address.
The v:post-office-box
property specifies the post office box of a postal address.
The domain of the v:post-office-box
property is the v:Address
class.
“Post office box” in Section 3.2.1 of RFC 2426.
v:postal-code
Propertyv:postal-code — The postal code (e.g., U.S. ZIP code) of a postal address.
The v:postal-code
property specifies the postal code (e.g., U.S. ZIP code) of a postal address.
The domain of the v:postal-code
property is the v:Address
class.
“Postal code” in Section 3.2.1 of RFC 2426.
v:region
Propertyv:region — The region (e.g., state or province) of a postal address.
The v:region
property specifies the region (e.g., state or province) of a postal address.
The domain of the v:region
property is the v:Address
class.
“Region” in Section 3.2.1 of RFC 2426.
v:rev
Propertyv:rev — The timestamp of a revision of a vCard.
The v:rev
property specifies the timestamp of a revision of a vCard.
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
Propertyv:role — A role a person plays within an organization.
The v:role
property specifies a role a person plays within an organization.
The domain of the v:role
property is the v:VCard
class.
v:sort-string
Propertyv:sort-string — A version of a person's name suitable for collation.
The v:sort-string
property specifies a version of a person's name suitable for collation.
The domain of the v:sort-string
property is the v:VCard
class.
v:sound
Propertyv:sound — A sound (e.g., a greeting or pronounciation) of a person.
The v:sound
property specifies a sound (e.g., a greeting or pronounciation) of a person.
The domain of the v:sound
property is the v:VCard
class.
v:street-address
Propertyv:street-address — The street address of a postal address.
The v:street-address
property specifies the street address of a postal address.
The domain of the v:street-address
property is the v:Address
class.
“Street address” in Section 3.2.1 of RFC 2426.
v:tel
Propertyv:tel — A telephone number of a person.
The v:tel
property specifies a telephone number of a person.
The domain of the v:tel
property is the v:VCard
class.
The v:tel
property has subproperties: v:fax,
v:homeTel,
v:mobileTel,
v:unlabeledTel,
v:workTel
v:title
Propertyv:title — A person's title.
The v:title
property specifies a person's title.
The domain of the v:title
property is the v:VCard
class.
v:tz
Propertyv:tz — A timezone associated with a person.
The v:tz
property specifies the home timezone associated with a person.
The domain of the v:tz
property is the v:VCard
class.
v:uid
Propertyv:uid — A UID of a person's vCard.
The v:uid
property specifies A UID of a person's vCard.
The domain of the v:uid
property is the v:VCard
class.
v:unlabeledAdr
Propertyv:unlabeledAdr — An (explicitly) unlabeled address of a person.
The v:unlabeledAdr
property specifies an (explicitly) unlabeled address of a person.
The range of the v:unlabeledAdr
property is the v:Address
class.
The v:unlabeledAdr
property is a subproperty of: v:adr
v:unlabeledEmail
Propertyv:unlabeledEmail — An (explicitly) unlabeled email address of a person.
The v:unlabeledEmail
property specifies an (explicitly) unlabeled email address of a person.
The v:unlabeledEmail
property is a subproperty of: v:email
v:unlabeledTel
Propertyv:unlabeledTel — An (explicitly) unlabeled phone number of a person.
The v:unlabeledTel
property specifies an (explicitly) unlabeled phone number of a person.
The v:unlabeledTel
property is a subproperty of: v:tel
v:url
Propertyv:url — A URL associated with a person.
The v:url
property specifies a URL associated with a person.
The domain of the v:url
property is the v:VCard
class.
v:workAdr
Propertyv:workAdr — A work address of a person.
The v:workAdr
property specifies a work address of a person.
The range of the v:workAdr
property is the v:Address
class.
The v:workAdr
property is a subproperty of: v:adr
v:workEmail
Propertyv:workEmail — A work email address of a person.
The v:workEmail
property specifies a work email address of a person.
The v:workEmail
property is a subproperty of: v:email
v:workTel
Propertyv:workTel — A work phone number of a person.
The v:workTel
property specifies a work phone number of a person.
The v:workTel
property is a subproperty of: v:tel
[RFC 2426] IETF (Internet Engineering Task Force). RFC 2426: vCard MIME Directory Profile. Dawson, F. and T. Howes. September 1998.