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.