VCard vocabulary usage
From Eclipsepedia
The Persona vocabulary imports vCard (http://www.w3.org/2006/vcard/ns) and uses some, but not all of its attributes and classes.
Contents |
UML Overview
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
Address
- 0..1 address
- 0..1 extended-address
- 0..1 post-office-box
- 0..1 locality
- 0..1 postal-code
Has no attributes.
Name
- 0..1 honorific-prefix
- 0..1 given-name
- 0..N additional-name
- 0..1 family-name
- 0..1 honorific-suffix
Organization
- 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.
Other classes
- Work
- 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
- agent - use hasAgent
- bday - p:birthDay, p:birthMonth, p:birthYear
- category
- class
- fn - use skos:prefLabel
- geo - use geo:location
- key
- logo
- mailer - not sure what this is
- photo
- prodid
- region - use p:region instead
- country-name - use p:country instead
- rev
- sort-string
- sound
- tz - not sure syntax of range/value
- uid - use entityId
- url - use foaf:page (and sub-attributes)
Other conventions
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.
