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.
Difference between revisions of "Persona Data Model 2.0"
(→Examples) |
(→Examples) |
||
Line 69: | Line 69: | ||
== Examples == | == Examples == | ||
− | + | Example of what might be in a root context: | |
[[Image:Example root.png|center]] | [[Image:Example root.png|center]] |
Revision as of 18:04, 8 February 2011
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}The Persona Data Model 2.0 is a vocabulary for describing people. It is based on the Higgins Data Model 2.0 which is in turn based on Context Data Model 2.0 (aka CDM 2.0). It used by Attribute Data Service 2.0.
Contents
Person graph
A natural, human person is represented as a graph of p:Person
entities (nodes, or vertices) interconnected by links (edges). Each node represents a different facet of the user (person). Each node is an entity (i.e. a set of attributes & values). These attributes may be simple literals (e.g. the user's first name) or they may be other entities. These latter complex attributes are rendered a as links (edges) to other nodes, but these edges and nodes are not considered part of the graph.
The graph is a logical abstraction. The data behind these nodes may be physically located anywhere on the Internet.
Typically each node in the person graph is located in its own container call a Context. The root node lies in a special context (for each user) called the root context.
All of the main person entities can be reached by traversing links of the following kinds, (although other links may also exist (e.g. p:source
, foaf:knows
, etc.)):
h:correlation
h:relation
h:indeterminate
In order to simplify the diagram below we follow a convention whereby the links are drawn between contexts whereas in reality the links are between the main p:Person
objects within each of these contexts. Further, these main person entities may well themselves have complex attributes (i.e. links to other entities). These have also been omitted.
Representing Social Graphs
h:relation
HDM defines a h:relation
complex attribute that is used in PDM to link one Person
node to another where each Person
node represents a different person. No symmetry is implied in this thus the statement (A h:relation
B) is akin to saying person A "knows of" person B.
Shown below are two social graph examples. One uses foaf:knows
links and and (unrelated to this) shows each node in its own context. The other uses h:relation
links and (unrelated) shows all person nodes in a single context. In the Work context we see that the user knows three colleagues but doesn't know how they know one another. In the Home & Family context we see that the user knows two people and that everyone knows one another. The foaf:knows
links are shown in both directions although logically this is redundant since foaf:knows
is what is a called a symmetric relation.
Nodes that represent the user are shown in purple. Nodes representing a person other than the user are shown in red.
foaf:knows
To indicate that a person A "knows" person B where some level of reciprocated interaction between the parties is implied, we use foaf:knows.
Since foaf:knows is a broader concept than h:relation, foaf:knows is not a sub-attribute of h:relation. Thus if we had the statement "A h:relation B" then we might later add a second statement "A foaf:knows B" to add the stronger, broader (and symmetric) concept of "knowing."
h:indeterminate
HDM also defines h:indeterminate
link attribute on node A to indicates that its value(s) may or may not represent the same thing as is represented by A.
Implementation Note
Consumers of the HDM may traverse h:relation
, h:correlation
and h:indeterminate
attribute links and (despite ignoring all other links) traverse the entire graph of Person
nodes.
Vocabularies
Contexts may describe their contents in any vocabulary they wish so long as it builds on the Persona vocabulary. In the person graph example above all of the contexts except one describe their contents using the Persona Data Model (vocabulary) (shown as purple "PDM"s above). The exception is the managed i-card from Equifax which uses attribute (aka claim) URIs defined by the OASIS IMI TC and by the ICF's (Information Card Foundation) schema working group.
- Persona vocabulary - the main PDM data model that all contexts must use or build on
- Flat Persona vocabulary - a flattened, simplified subset useful for querying PDM-based data stores
Concept Scheme
Persona.owl includes the following skos:Concept instances. This structure is used to define the logical groupings of attributes defined in the Persona Data Model.
See Higgins Data Model 2.0 for information about Concept schemes.
Naming Conventions
@@@Need to rewrite. Old Persona Data Model Naming Notes
Examples
Example of what might be in a root context:
Links
Rough notes; a bit long in the tooth:
- Data Sharing With Alice And Bob
- Activity Streams In Persona
- [1] - a developer summary of AppCard implementation issues