Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "VCard vocabulary usage"

(Classes and Attributes Used)
(Attributes Not Used)
 
(71 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}} [[Image:Higgins logo 76Wx100H.jpg|right]]
+
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}  
  
Persona imports [http://www.w3.org/TR/vcard-rdf/ vCard], uses most of it as is, but with a few tweaks described below.
+
The [[Persona vocabulary]] imports [http://www.w3.org/TR/vcard-rdf/ vCard] (http://www.w3.org/2006/vcard/ns) and uses some, but not all of its attributes and classes.  
  
== UML Overview==
+
== UML Overview ==
We show below the aspect of PDM that builds on the vCard ontology. The heart of the PDM model is the <code>p:Person</code> class. Concepts from vCard are shown in italics. Item in non-italics are defined in persona.owl discussed further on.
+
  
[[Image:Vcard 2.0.109b.png|center]]
+
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==
+
[[Image:Vcard02.0.119.png|center]]
  
Note: Additional attributes from persona.owl or higgins.owl are shown in bold below.
+
== Classes and Attributes Used ==
  
=== v:Address ===
+
Note: Additional attributes from persona.owl or higgins.owl are shown in bold below.
  
*'''p:addressNote''' *
+
The following attributes are used on p:Person objects:
*'''h:start ''' ..1
+
* 0..1 title
*'''h:end''' ..1
+
* 0..1 tel
*v:address ..1
+
* 0..1 n
*v:extended-address ..1  
+
* 0..1 adr
*v:post-office-box ..1  
+
* 0..1 org
*v:locality ..1
+
*v:region ..1
+
*v:postal-code ..1
+
*v:country-name ..1
+
  
===v:Name===
+
=== Address ===
* v:honorific-prefix ..1
+
* v:given-name ..1
+
* v:additional-name *
+
* v:family-name ..1
+
* v:honorific-suffix ..1
+
  
===v:Organization===
+
* 0..1 address
* v:organization-name ..1
+
* 0..1 extended-address 
* v:organization-unit ..1
+
* 0..1 post-office-box
 +
* 0..1 locality
 +
* 0..1 postal-code
  
===Other attributes===
+
=== Email ===
* v:logo
+
* v:tel
+
  
== Classes Not Used ==
+
Has no attributes.
  
*v:Label (disjoint with v:Tel) - not used (don't yet understand what it is)
+
=== Name ===
*v:Tel - not used; we use foaf:phone instead
+
  
==Attributes Not Used==
+
* 0..1 given-name
The following attributes are '''not''' used:
+
* 0..N additional-name
* v:street-address - we use the more granular p:street, p:houseName, p:houseNumber, p:apartment instead
+
* 0..1 family-name
*v:category
+
* 0..1 honorific-suffix
*v:class
+
*v:email - we use foaf:mbox instead
+
*v:fn
+
*v:agent - we use hasAgent instead
+
*v:geo - we use geo:location instead
+
*v:key
+
*v:mailer - not sure what this is
+
*v:photo - we use foaf:thumbnail instead
+
*v:prodid
+
*v:rev
+
*v:sort-string
+
*v:sound
+
*v:tz - not sure syntax of range/value
+
*v:uid - we use entityId instead
+
*v:url - we use foaf:page (and sub-attributes) instead
+
  
== Links ==
+
=== Organization ===
* [[Persona Data Model 2.0]]
+
 
 +
* 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 ==
 +
* honorific-prefix - use p:honorificPrefix
 +
* 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.
 +
 
 +
== Links ==
 +
 
 +
*[[Persona Data Model 2.0]]

Latest revision as of 18:32, 28 June 2012

{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}

The Persona vocabulary imports vCard (http://www.w3.org/2006/vcard/ns) and uses some, but not all of its attributes and classes.

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.

Vcard02.0.119.png

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

Email

Has no attributes.

Name

  • 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

  • honorific-prefix - use p:honorificPrefix
  • 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:

  1. 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.

Links

Back to the top