VCard vocabulary usage
The Persona vocabulary imports vCard (http://www.w3.org/2006/vcard/ns) and uses some, but not all of its attributes and classes.
We show below the aspect of the Persona vocabulary that builds on the vCard vocabulary. Classes from other vocabularies are shown in grey.
Classes and Attributes Used
Note: Additional attributes from persona.owl or higgins.owl are shown in bold below.
The following attributes are used on p:Person objects:
- 0..1 title
- 0..1 tel
- 0..1 n
- 0..1 adr
- 0..1 org
- 0..1 address
- 0..1 extended-address
- 0..1 post-office-box
- 0..1 locality
- 0..1 postal-code
Has no attributes.
- 0..1 given-name
- 0..N additional-name
- 0..1 family-name
- 0..1 honorific-suffix
- 0..1 organization-name
- 0..1 organization-unit
Tel (and subclasses)
In PDM (like FOAF) the rdf:value of a Tel instance is a tel URI, whereas in the usual RDF mapping of VCard it is an unstructured string. Here is an example of a VCard:Tel instance:
v:tel [ a v:Work, v:Cell, v:Pref ; rdf:value tel:+1-212-555-0101 ]
See http://www.ietf.org/rfc/rfc3966.txt for details on the tel URI scheme.
- Also used: Parcel, Dom, Intl, Pref, Postal
- Also used: BBS...Voice as shown above
Classes Not Used
- Label (disjoint with Tel) - not used (don't yet understand what it is)
Attributes Not Used
- honorific-prefix - use p:honorificPrefix
- agent - use hasAgent
- bday - p:birthDay, p:birthMonth, p:birthYear
- fn - use skos:prefLabel
- geo - use geo:location
- mailer - not sure what this is
- region - use p:region instead
- country-name - use p:country instead
- tz - not sure syntax of range/value
- uid - use entityId
- url - use foaf:page (and sub-attributes)
Whereas by inference a p:Person node that has a adr or n etc link is a VCard, we add the following constraints (that are not present in usual VCards) on p:Persons using these complex attributes:
- A single p:Person instance has a maximum of one adr, one n, one org
The implication of #1 above is that if a person has N addresses, then N separate p:Person nodes must be instantiated. If it is desired to indicate the time period for which the person lived at a given address, the h:start..h:end attributes on the p:Person node are used.