1. Use cases & requirements

It is impossible to predict the means by which people will be contacted: from mail and telephones to email and VoIP. Some contact details are related to physical locations, like an office’s postal address and fax number, while others are not, like a person’s mobile number and email address. To support the widest variety of mediums in the widest range of contexts, the Contact detail class should allow user-defined contact details.

A civil society organization has the phone number of a legislator; however, it doesn't know whether it is the capitol office number, the constituency office number or a mobile number. A suitable specification should be able to handle data at varying levels of precision.

The Contact detail class should have properties for:

  1. label

    e.g. “Hill address” or “Mobile number”.

  2. type of medium

    e.g. “address” or “cell”.

  3. value

    e.g. a postal address, mobile number, email address, contact form, etc.

  4. note

    e.g. for grouping contact details by physical location.

  5. the date from which the contact detail is valid

    A member of parliament is changing address as of next month.

  6. the date from which the contact detail is no longer valid

    Three years ago, an MP’s office shared an address with a business whose owner the MP presently claims not to know.

2. Standard reuse

The survey of existing specifications found that RFC 6350 (vCard 4.0), with its RDF mappings, is the only vocabulary to meet all requirements. Few specification allow for the ad hoc definition of contact details. Ultimately, only the data model – consisting of RDF, RDF Schema, and SKOS terms – was reused.

3. Classes and properties

Term Mapping Definition
Contact detail No rdf:type A means of contacting an entity
label rdfs:label A human-readable label for the contact detail
type of medium rdf:type1 A type of medium, e.g. "fax" or "email"
value rdf:value A value, e.g. a phone number or email address
note skos:note A note, e.g. for grouping contact details by physical location
valid from schema:validFrom The date from which the contact detail is valid
valid until schema:validUntil The date from which the contact detail is no longer valid

1. The vCard Ontology uses rdf:type to indicate the type of address or telephone number.

4. Serialization

  • Telephone number values should be in RFC 3966 format, without the tel: prefix.

5. Code lists

Type of medium

Implementations may use values from outside the following lists.

Types of medium code list
Value Description
address A postal address
email An email address
url A URL to a contact form, etc.

The following is a copy of RFC 6350 (vCard 4.0)’s code list.

Types of medium (telephone types) code list
Value Description
text A telephone number primarily supporting text messages (SMS)
voice A voice telephone number
fax A facsimile telephone number
cell A mobile telephone number
video A video conferencing telephone number
pager A paging device telephone number
textphone A telecommunication device for people with hearing or speech difficulties