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"

(Addresses)
(Account)
Line 46: Line 46:
  
 
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."
 
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."
 +
 +
=== Parameterization ===
 +
 +
To reduce redundancy in the following tables, we use the following parameterization scheme:
 +
 +
The <Type> may be one of:
 +
* Shipping
 +
* Home
 +
* Shipping, Home
 +
* Work
 +
* Billing
 +
 +
And to retrieve the correct type for each of the above, set the <Role> (respectively):
 +
* Recipient
 +
* Home
 +
* Recipient, Home
 +
* Work
 +
* Buyer
  
 
=== Account  ===
 
=== Account  ===

Revision as of 15:21, 16 August 2010

{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}
Higgins logo 76Wx100H.jpg

The goal of this page is to list all of the attribute concepts that can be described by the PDM, along with the formal mapping rule into an instance of the a PDM graph. This listing will aid developers creating schema mapping tranformations into and out from the PDM.

TODO

  • The tables are incomplete at present.

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.

We define mapping functions that get values of attributes in PDM object graphs. The inverse of these functions can set these values (although not all functions have inverse functions). One of the sub-parts of PDM is an ontology to describe these mapping functions. It is called mapping.owl and is described briefly on the main PDM page.

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.

The application of mapping rules is considered to occur within what we call an "external context." 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 containing 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 referring to Higgins Contexts).

The external context is represented as "RP" in the tables below. The actual values of RP would be one of the subclasses of "External" Role defined in PDM. These include Ecommerce, Gaming, SocialNetworking, etc.

An Example: Given Name

If in vocabulary T we saw a term that we'd classify as a person's given name, then we'd first search for a row by that name in one of the tables on this page. We'd then lookup the function and arguments on that row. The function traverses a path (or in rare cases a set of paths) through a PDM graph. In the case of given name we'd find the following matching row:

Attribute Function Arg1 Arg2 Arg3 Arg4 Comment
Given Name rolePathLiteral RP
v:n
v:given-name


The function to be applied called rolePathLiteral. Its name is a hint as to how it operates. This function takes three arguments (RP, v:n, v:given-name). The rolePathLiteral starts at the root of the Persona graph (the RootMe node) and breadth-first following p:subCorrelation links searches for the first persona node that is tagged with a role that matches the role of the external context.

Let's assume that the value of RP (the external context) is "eCommerce". The rolePathLiteral 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. In this example and in all others the role argument (usually Arg1) is used to disambiguate between multiple alternatives that otherwise match the rest of the criteria. The more role tags that match, the better the quality of the match.

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 v:n (from the vcard vocabulary). Further, it must have a simple-valued attribute of type v:given-name. The value of this literal attribute is the result of mapping the human concept of "given name."

Parameterization

To reduce redundancy in the following tables, we use the following parameterization scheme:

The <Type> may be one of:

  • Shipping
  • Home
  • Shipping, Home
  • Work
  • Billing

And to retrieve the correct type for each of the above, set the <Role> (respectively):

  • Recipient
  • Home
  • Recipient, Home
  • Work
  • Buyer

Account

Attribute Function Arg1 Arg2 Arg3 Arg4 Comment
Account Username rolePathLiteral RP
foaf:account
foaf:accountName


Account Password
rolePathLiteral
"
"
p:password


Account Confirm Password rolePathLiteral
"
"
"


Account Username Email
roleObject
"
foaf:mbox



Account Username Email Confirm
roleObject
"
"



Names

Attribute Function Arg1 Arg2 Arg3 Arg4 Comment
Honorific Prefix
rolePathLiteralInitial
RP
v:n
v:honorific-prefix


Given Name rolePathLiteral "
"
v:given-name


Additional Names
rolePathLiteral
"
"
v:additional-name


Additional Names - Initial
rolePathLiteralInitial
"
"
v:additional-name


Family Name
rolePathLiteral
"
"
v:family-name


Honorific Suffix
rolePathLiteralInitial
"
"
v:honorific-suffix


Formatted Name
TBD





Recipient Honorific Prefix
rolePathLiteralInitial
RP, p:Recipient
v:n
v:honorific-prefix


Recipient Given Name rolePathLiteral "
"
v:given-name


Recipient Additional Names
rolePathLiteral
"
"
v:additional-name


Recipient Additional Names - Initial
rolePathLiteralInitial
"
"
v:additional-name


Recipient Family Name
rolePathLiteral
"
"
v:family-name


Recipient Honorific Suffix
rolePathLiteralInitial
"
"
v:honorific-suffix


Recipient Formatted Name
TBD





Billing Honorific Prefix
rolePathLiteralInitial
RP, p:Buyer
v:n
v:honorific-prefix


Billing Given Name rolePathLiteral "
"
v:given-name


Billing Additional Names
rolePathLiteral
"
"
v:additional-name


Billing Additional Names - Initial
rolePathLiteralInitial
"
"
v:additional-name


Billing Family Name
rolePathLiteral
"
"
v:family-name


Billing Honorific Suffix
rolePathLiteralInitial
"
"
v:honorific-suffix


Billing Formatted Name
TBD





Addresses

Attribute Function Arg1 Arg2 Arg3 Arg4 Comment
<Type> Address
rolePathAddress
RP <Role> v:adr
<Type> Apartment
rolePathLiteral
RP <Role> v:adr
p:apartment
<Type> House Number
rolePathLiteral
RP <Role> v:adr
p:houseNumber
<Type> House Name
rolePathLiteral RP <Role> v:adr
p:houseName
<Type> Extended Address
" " " v:extended-address

<Type> Locality "
"
"
v:locality


<Type> District-1 "
"
"
p:district-1


<Type> District-2 "
"
"
p:district-2

<Type> Region
"
"
"
v:region


<Type> Postal Code
"
"
"
v:postal-code


<Type> 4 Digit Extension Zip
TBD
"
"
v:postal-code


Birthday

Attribute Function Arg1 Arg2 Arg3 Arg4 Comment
Year of Birth
roleYear
RP
v:bday



Buyer Year of Birth
roleYear
RP, p:Buyer
v:bday



Month of Birth
roleMonth RP
"



Day of Birth
roleDay
"
"



Payment Related

Attribute Function Arg1 Arg2 Arg3 Arg4 Comment
Credit Card Type
TBD





Credit Card Number
rolePathClassLiteral
RP, p:Buyer
pay:payment
pay:CreditCard
pay:ccNumber

Credit Card Expiration Date - Month
rolePathClassMonth
"
"
"
pay:ccExpiration

Credit Card Expiration Date - Year
rolePathClassYear
"
"
"
pay:ccExpiration

Credit Card Name
rolePathClassLiteral
"
"
"
pay:ccName

Credit Card Number
rolePathClassLiteral
RP, p:Home
"
"
pay:ccCID

Telephone Numbers

Attribute Function Arg1 Arg2 Arg3 Arg4 Comment
Daytime Phone - Area Code
rolePathAreaCode
RP, p:Daytime
v:tel


Daytime Phone Number - Less Area Code
rolePathSevenDigits
"
"



Daytime Phone Number - First Three
rolePathFirstThree
"
"



Daytime Phone Number - Last Four
rolePathLastFour
"
"



Daytime Phone Number - Extension
rolePathExtension
"
"



Home Phone Number - Area Code
rolePathAreaCode
RP, p:Home
"



Home Phone Number - First Three
rolePathFirstThree
"
"



Home Phone Number - Last Four
rolePathLastFour
"
"



Home Phone Number - Extension
rolePathExtension
"
"



Recipient Daytime Phone - Area Code
rolePathAreaCode
RP, p:Recipient, p:Daytime
"



Recipient Daytime Phone Number - Less Area Code
rolePathSevenDigits
"
"



Recipient Daytime Phone Number - First Three
rolePathFirstThree
"
"



Recipient Daytime Phone Number - Last Four
rolePathLastFour
"
"



Recipient Daytime Phone Number - Extension
rolePathExtension
"
"



Recipient Phone Number - Area Code
rolePathAreaCode
RP, p:Recipient
"



Recipient Phone Number - First Three
rolePathFirstThree
"
"



Recipient Phone Number - Last Four
rolePathLastFour
"
"



Recipient Phone Number - Extension
rolePathExtension
"
"



Recipient Phone Number
rolePathLiteral
RP, p:Recipient
"



Misc

Attribute Function Arg1 Arg2 Arg3 Arg4 Comment
Country
rolePathLiteral
RP
v:adr
v:country


Gender
roleLiteral
"
foaf:gender



Buyer Gender
roleLiteral
", p:Buyer
foaf:gender



Company Name
rolePathLiteral
RP, p:Work
v:org
v:organization-name


Title
rolePathLiteral
"
"
v:title


Timezone
TBD





Employment Status
TBD





Biography
TBD





Language
TBD





Back to the top