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 "Persona Attribute List"

(Misc)
(Redirecting to Flat Persona vocabulary)
 
(74 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]]
+
#REDIRECT [[Flat Persona vocabulary]]
 
+
This page describes the mapping rules from a human-readable description of an attribute to the equivalent PDM attribute(s). The mapping is usually 1:1 but there will be exceptions.
+
 
+
=== TODO ===
+
* The tables are incomplete. There are some attributes defined in PDM that have not yet been listed here. A work in progress.
+
 
+
=== Introduction  ===
+
 
+
Since getting the world's developers to commit to a single, rich ontology will never happen, the next best thing is to define a rich, fine-grained internal ontology (as we have done in [[Persona Data Model 2.0]] (PDM)) and then define mapping rules between it an vocabularies that exist in the wild.
+
 
+
One of the sub-parts of PDM is an ontology to describe these mapping functions and some supporting concepts. It is called mapping.owl and is described briefly on the main [[Persona Data Model 2.0|PDM]] page. @@@TODO not yet!
+
 
+
Mapping in or out of another vocabulary can be thought of as involving two steps. First a human needs to look at an attribute in some target vocabulary T classify it as some concept C. The rows in the tables on this page describe the mapping from C to entities and attribute instances in a concrete instance of the PDM model. For example, if in vocabulary T we saw a term that we'd classify as a person's given (aka first) name then we search for a row by that name on this page and then lookup the function and arguments on that row. The functions represent paths through a PDM-conforming object graph. In the case of given name we'd find the following matching row:
+
 
+
{| cellspacing="0" cellpadding="5" border="1" class="wikitable"
+
|- style="background: none repeat scroll 0% 0% rgb(214, 222, 233); color: black;"
+
! align="left" width="30%" valign="top" | Attribute
+
! align="left" width="20%" valign="top" | Function
+
! align="left" width="10%" valign="top" | Arg1
+
! align="left" width="10%" valign="top" | Arg2
+
! align="left" width="10%" valign="top" | Arg3
+
! align="left" width="10%" valign="top" | Arg4
+
! align="left" width="10%" valign="top" | Comment
+
|-
+
| Given Name
+
| rolePathLiteral
+
| RP<br>
+
| v:n<br>
+
| v:given-name<br>
+
| <br>
+
| <br>
+
|}
+
 
+
The function to be applied called <code>rolePathLiteral</code>. Its name is a hint as to how it operates. This function takes three arguments (RP, v:n, v:given-name). The <code>rolePathLiteral</code> starts at the root of the Persona graph (the <code>RootMe</code> node) and breadth-first following <code>p:subCorrelation</code> links searches for the first persona node that is tagged with a role that matches the role of the overall mapping context.
+
 
+
Let's take a moment to explain what this means. Since a single person is represented in PDM as multiple persona nodes (facets) when trying to map "given-name" we need to understand the broad, overall context of the interaction. Depending on the context a person might answer differently. For example if the context was a virtual world like Second Life, the person's given name is almost always not their "real world" given name. Persona nodes in PDM carry a number of "role" tags that indicate appropriateness/use in one of these overall contexts. (We're using the word context generically here, we are not (for once!) referring to Higgins Contexts.
+
 
+
So to continue our example, let's assume that the overall context is "eCommerce". The <code>rolePathLiteral</code> function will start at the root RootMe node and breadth-first find the first Persona node that has a matching role value of "eCommerce". If none are found then the first Person found that matches the rest of the criteria we're about to explain, will be used.
+
 
+
The rest of the criteria are that the persona node must have a "path" (we're done with "role" we're now onto "path"), that is, a complex-valued attribute (aka link) of type <code>v:n</code> (from the vcard vocabulary). Further, it must have a simple-valued attribute of type <code>v:given-name</code>. The value of this literal attribute is the result of mapping the human concept of "given name."
+
 
+
=== Account  ===
+
 
+
{| cellspacing="0" cellpadding="5" border="1" class="wikitable"
+
|- style="background: none repeat scroll 0% 0% rgb(214, 222, 233); color: black;"
+
! align="left" width="30%" valign="top" | Attribute
+
! align="left" width="20%" valign="top" | Function
+
! align="left" width="10%" valign="top" | Arg1
+
! align="left" width="10%" valign="top" | Arg2
+
! align="left" width="10%" valign="top" | Arg3
+
! align="left" width="10%" valign="top" | Arg4
+
! align="left" width="10%" valign="top" | Comment
+
|-
+
| Account Username
+
| rolePathLiteral
+
| RP<br>
+
| foaf:account<br>
+
| foaf:accountName<br>
+
| <br>
+
| <br>
+
|-
+
| Account Password<br>
+
| rolePathLiteral<br>
+
| "<br>
+
| "<br>
+
| p:password<br>
+
| <br>
+
| <br>
+
|-
+
| Account Confirm Password
+
| rolePathLiteral<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
|-
+
| Account Username Email<br>
+
| roleObject<br>
+
| "<br>
+
| foaf:mbox<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Account Username Email Confirm<br>
+
| roleObject<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|}
+
 
+
=== Names  ===
+
 
+
{| cellspacing="0" cellpadding="5" border="1" class="wikitable"
+
|- style="background: none repeat scroll 0% 0% rgb(214, 222, 233); color: black;"
+
! align="left" width="30%" valign="top" | Attribute
+
! align="left" width="20%" valign="top" | Function
+
! align="left" width="10%" valign="top" | Arg1
+
! align="left" width="10%" valign="top" | Arg2
+
! align="left" width="10%" valign="top" | Arg3
+
! align="left" width="10%" valign="top" | Arg4
+
! align="left" width="10%" valign="top" | Comment
+
|-
+
| Honorific Prefix<br>
+
| rolePathLiteralInitial<br>
+
| RP<br>
+
| v:n<br>
+
| v:honorific-prefix<br>
+
| <br>
+
| <br>
+
|-
+
| Given Name
+
| rolePathLiteral
+
| "<br>
+
| "<br>
+
| v:given-name<br>
+
| <br>
+
| <br>
+
|-
+
| Additional Names<br>
+
| rolePathLiteral<br>
+
| "<br>
+
| "<br>
+
| v:additional-name<br>
+
| <br>
+
| <br>
+
|-
+
| Additional Names - Initial<br>
+
| rolePathLiteralInitial<br>
+
| "<br>
+
| "<br>
+
| v:additional-name<br>
+
| <br>
+
| <br>
+
|-
+
| Family Name<br>
+
| rolePathLiteral<br>
+
| "<br>
+
| "<br>
+
| v:family-name<br>
+
| <br>
+
| <br>
+
|-
+
| Honorific Suffix<br>
+
| rolePathLiteralInitial<br>
+
| "<br>
+
| "<br>
+
| v:honorific-suffix<br>
+
| <br>
+
| <br>
+
|-
+
| Formatted Name<br>
+
| TBD<br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Honorific Prefix<br>
+
| rolePathLiteralInitial<br>
+
| RP, p:Recipient<br>
+
| v:n<br>
+
| v:honorific-prefix<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Given Name
+
| rolePathLiteral
+
| "<br>
+
| "<br>
+
| v:given-name<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Additional Names<br>
+
| rolePathLiteral<br>
+
| "<br>
+
| "<br>
+
| v:additional-name<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Additional Names - Initial<br>
+
| rolePathLiteralInitial<br>
+
| "<br>
+
| "<br>
+
| v:additional-name<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Family Name<br>
+
| rolePathLiteral<br>
+
| "<br>
+
| "<br>
+
| v:family-name<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Honorific Suffix<br>
+
| rolePathLiteralInitial<br>
+
| "<br>
+
| "<br>
+
| v:honorific-suffix<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Formatted Name<br>
+
| TBD<br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Billing Honorific Prefix<br>
+
| rolePathLiteralInitial<br>
+
| RP, p:Buyer<br>
+
| v:n<br>
+
| v:honorific-prefix<br>
+
| <br>
+
| <br>
+
|-
+
| Billing Given Name
+
| rolePathLiteral
+
| "<br>
+
| "<br>
+
| v:given-name<br>
+
| <br>
+
| <br>
+
|-
+
| Billing Additional Names<br>
+
| rolePathLiteral<br>
+
| "<br>
+
| "<br>
+
| v:additional-name<br>
+
| <br>
+
| <br>
+
|-
+
| Billing Additional Names - Initial<br>
+
| rolePathLiteralInitial<br>
+
| "<br>
+
| "<br>
+
| v:additional-name<br>
+
| <br>
+
| <br>
+
|-
+
| Billing Family Name<br>
+
| rolePathLiteral<br>
+
| "<br>
+
| "<br>
+
| v:family-name<br>
+
| <br>
+
| <br>
+
|-
+
| Billing Honorific Suffix<br>
+
| rolePathLiteralInitial<br>
+
| "<br>
+
| "<br>
+
| v:honorific-suffix<br>
+
| <br>
+
| <br>
+
|-
+
| Billing Formatted Name<br>
+
| TBD<br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
|}
+
 
+
=== Addresses  ===
+
 
+
{| cellspacing="0" cellpadding="5" border="1" class="wikitable"
+
|- style="background: none repeat scroll 0% 0% rgb(214, 222, 233); color: black;"
+
! align="left" width="30%" valign="top" | Attribute
+
! align="left" width="20%" valign="top" | Function
+
! align="left" width="10%" valign="top" | Arg1
+
! align="left" width="10%" valign="top" | Arg2
+
! align="left" width="10%" valign="top" | Arg3
+
! align="left" width="10%" valign="top" | Arg4
+
! align="left" width="10%" valign="top" | Comment
+
|-
+
| Recipient Address<br>
+
| rolePathLiteral<br>
+
| RP p:Recipient<br>
+
| v:adr<br>
+
| v:street-address<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Extended Address<br>
+
| "
+
| "<br>
+
| "<br>
+
| v:extended-address<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Locality<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| v:locality<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Region<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| v:region<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Postal Code<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| v:postal-code<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient 4 Digit Extension Zip<br>
+
| TBD<br>
+
| "<br>
+
| "<br>
+
| v:postal-code<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Home Address<br>
+
| rolePathLiteral<br>
+
| RP p:Recipient p:Home<br>
+
| v:adr<br>
+
| v:street-address<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Home Extended Address<br>
+
| "
+
| "<br>
+
| "<br>
+
| v:extended-address<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Home Locality<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| v:locality<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Home Region<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| v:region<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Home Postal Code<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| v:postal-code<br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Home 4 Digit Extension Zip<br>
+
| TBD<br>
+
| "<br>
+
| "<br>
+
| v:postal-code<br>
+
| <br>
+
| <br>
+
|-
+
| Billing Address<br>
+
| rolePathLiteral<br>
+
| RP p:Buyer<br>
+
| v:adr<br>
+
| v:street-address<br>
+
| <br>
+
| <br>
+
|-
+
| Billing Extended Address<br>
+
| "
+
| "<br>
+
| "<br>
+
| v:extended-address<br>
+
| <br>
+
| <br>
+
|-
+
| Billing Locality<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| v:locality<br>
+
| <br>
+
| <br>
+
|-
+
| Billing Region<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| v:region<br>
+
| <br>
+
| <br>
+
|-
+
| Billing Postal Code<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| v:postal-code<br>
+
| <br>
+
| <br>
+
|-
+
| Billing 4 Digit Extension Zip<br>
+
| TBD<br>
+
| "<br>
+
| "<br>
+
| v:postal-code<br>
+
| <br>
+
| <br>
+
|}
+
 
+
=== Birthday  ===
+
 
+
{| cellspacing="0" cellpadding="5" border="1" class="wikitable"
+
|- style="background: none repeat scroll 0% 0% rgb(214, 222, 233); color: black;"
+
! align="left" width="30%" valign="top" | Attribute
+
! align="left" width="20%" valign="top" | Function
+
! align="left" width="10%" valign="top" | Arg1
+
! align="left" width="10%" valign="top" | Arg2
+
! align="left" width="10%" valign="top" | Arg3
+
! align="left" width="10%" valign="top" | Arg4
+
! align="left" width="10%" valign="top" | Comment
+
|-
+
| Year of Birth<br>
+
| roleYear<br>
+
| RP<br>
+
| v:bday<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Buyer Year of Birth<br>
+
| roleYear<br>
+
| RP, p:Buyer<br>
+
| v:bday<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Month of Birth<br>
+
| roleMonth
+
| RP<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Day of Birth<br>
+
| roleDay<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|}
+
 
+
=== Payment Related  ===
+
 
+
{| cellspacing="0" cellpadding="5" border="1" class="wikitable"
+
|- style="background: none repeat scroll 0% 0% rgb(214, 222, 233); color: black;"
+
! align="left" width="30%" valign="top" | Attribute
+
! align="left" width="20%" valign="top" | Function
+
! align="left" width="10%" valign="top" | Arg1
+
! align="left" width="10%" valign="top" | Arg2
+
! align="left" width="10%" valign="top" | Arg3
+
! align="left" width="10%" valign="top" | Arg4
+
! align="left" width="10%" valign="top" | Comment
+
|-
+
| Credit Card Type<br>
+
| TBD<br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Credit Card Number<br>
+
| rolePathClassLiteral<br>
+
| RP, p:Buyer<br>
+
| pay:payment<br>
+
| pay:CreditCard<br>
+
| pay:ccNumber<br>
+
| <br>
+
|-
+
| Credit Card Expiration Date - Month<br>
+
| rolePathClassMonth<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| pay:ccExpiration<br>
+
| <br>
+
|-
+
| Credit Card Expiration Date - Year<br>
+
| rolePathClassYear<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| pay:ccExpiration<br>
+
| <br>
+
|-
+
| Credit Card Name<br>
+
| rolePathClassLiteral<br>
+
| "<br>
+
| "<br>
+
| "<br>
+
| pay:ccName<br>
+
| <br>
+
|-
+
| Credit Card Number<br>
+
| rolePathClassLiteral<br>
+
| RP, p:Home<br>
+
| "<br>
+
| "<br>
+
| pay:ccCID<br>
+
| <br>
+
|}
+
 
+
=== Telephone Numbers  ===
+
 
+
{| cellspacing="0" cellpadding="5" border="1" class="wikitable"
+
|- style="background: none repeat scroll 0% 0% rgb(214, 222, 233); color: black;"
+
! align="left" width="30%" valign="top" | Attribute
+
! align="left" width="20%" valign="top" | Function
+
! align="left" width="10%" valign="top" | Arg1
+
! align="left" width="10%" valign="top" | Arg2
+
! align="left" width="10%" valign="top" | Arg3
+
! align="left" width="10%" valign="top" | Arg4
+
! align="left" width="10%" valign="top" | Comment
+
|-
+
| Daytime Phone - Area Code<br>
+
| rolePathAreaCode<br>
+
| RP, p:Daytime<br>
+
| v:tel
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Daytime Phone Number - Less Area Code<br>
+
| rolePathSevenDigits<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Daytime Phone Number - First Three<br>
+
| rolePathFirstThree<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Daytime Phone Number - Last Four<br>
+
| rolePathLastFour<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Daytime Phone Number - Extension<br>
+
| rolePathExtension<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Home Phone Number - Area Code<br>
+
| rolePathAreaCode<br>
+
| RP, p:Home<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Home Phone Number - First Three<br>
+
| rolePathFirstThree<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Home Phone Number - Last Four<br>
+
| rolePathLastFour<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Home Phone Number - Extension<br>
+
| rolePathExtension<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Daytime Phone - Area Code<br>
+
| rolePathAreaCode<br>
+
| RP, p:Recipient, p:Daytime<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Daytime Phone Number - Less Area Code<br>
+
| rolePathSevenDigits<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Daytime Phone Number - First Three<br>
+
| rolePathFirstThree<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Daytime Phone Number - Last Four<br>
+
| rolePathLastFour<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Daytime Phone Number - Extension<br>
+
| rolePathExtension<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Phone Number - Area Code<br>
+
| rolePathAreaCode<br>
+
| RP, p:Recipient<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Phone Number - First Three<br>
+
| rolePathFirstThree<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Phone Number - Last Four<br>
+
| rolePathLastFour<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Phone Number - Extension<br>
+
| rolePathExtension<br>
+
| "<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Recipient Phone Number<br>
+
| rolePathLiteral<br>
+
| RP, p:Recipient<br>
+
| "<br>
+
| <br>
+
| <br>
+
| <br>
+
|}
+
 
+
=== Misc  ===
+
 
+
{| cellspacing="0" cellpadding="5" border="1" class="wikitable"
+
|- style="background: none repeat scroll 0% 0% rgb(214, 222, 233); color: black;"
+
! align="left" width="30%" valign="top" | Attribute
+
! align="left" width="20%" valign="top" | Function
+
! align="left" width="10%" valign="top" | Arg1
+
! align="left" width="10%" valign="top" | Arg2
+
! align="left" width="10%" valign="top" | Arg3
+
! align="left" width="10%" valign="top" | Arg4
+
! align="left" width="10%" valign="top" | Comment
+
|-
+
| Country<br>
+
| rolePathLiteral<br>
+
| RP<br>
+
| v:adr<br>
+
| v:country<br>
+
| <br>
+
| <br>
+
|-
+
| Gender<br>
+
| roleLiteral<br>
+
| "<br>
+
| foaf:gender<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Buyer Gender<br>
+
| roleLiteral<br>
+
| ", p:Buyer<br>
+
| foaf:gender<br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Company Name<br>
+
| rolePathLiteral<br>
+
| RP, p:Work<br>
+
| v:org<br>
+
| v:organization-name<br>
+
| <br>
+
| <br>
+
|-
+
| Title<br>
+
| rolePathLiteral<br>
+
| "<br>
+
| "<br>
+
| v:title<br>
+
| <br>
+
| <br>
+
|-
+
| Timezone<br>
+
| TBD<br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Employment Status<br>
+
| TBD<br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Biography<br>
+
| TBD<br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
|-
+
| Language<br>
+
| TBD<br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
| <br>
+
|}
+

Latest revision as of 14:43, 11 November 2010

Back to the top