Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Data Models 1.X

Revision as of 12:02, 31 January 2008 by Paul.socialphysics.org (Talk | contribs) (Higgins Data Model Definition)

Overview

The Higgins data model provides a common representation for identity, profile and relationship data to enable interoperability and data portability across heterogeneous sites and systems.

The model can provide data portability, interoperability and unification for three kinds of identity data about what we call Digital Subjects (e.g. people). These three kinds are identity, profile and relationship. Identity information is related to identification, authentication, etc. Profile information can be preferences, interests, and associated objects like events and things, wishlists. Relationships are links to other Digital Subjects--they can be used to represent friends and other kinds of associations with other Digital Subjects. A key kind of relation introduced in the model is the a Higgins correlation--a link between different representations of the same real world object (e.g. you) in different contexts.

The Higgins framework is has three layers:

White-box.PNGThree-layers-v4.PNG

The upper layer
Provides end-user applications called "Identity Selectors" that manage I-Cards and present end-users with a visual metaphor for the Digital Identities and their component Claims.
The middle layer
Provides web services for Identity Providers and Relying Parties
The lower (data) layer
Provides a common data model incorporated in the Higgins Global Graph. This layer is based on a data model abstraction includes data stores called Contexts, the Digital Subjects within them, the Identity Attributes on each Digital Subject, and the links (called Relations) between them. This is the "pure" data layer. The abstract data model is realized as concrete data by the Identity Attribute Service (IdAS) and supporting Context Providers.

The rest of this page describes the data model of the lower layer as implemented by the Higgins Identity Attribute Service.

See Data Model Background for more information about the motivations for and design goals behind the model.

Higgins Data Model Definition

As mentioned above, this section describes the data model of the lowest layer of the Higgins framework. "Upper" level objects such as I-Cards each describing a Digital Identity comprised of a set of Claims, and so on are not discussed here.

Rather than invent a new metamodel from scratch, the model is based on the W3C's Resource Description Framework (RDF) and Web Ontology Language (OWL 1.0). We used RDF and OWL to express a very abstract base ontology called higgins.owl (aka HOWL) that in turn describe the domain of identity information. The "Lexicon" project within the Identity Gang defined a set of identity domain concepts/terms that have been directly formalized in HOWL. These domain concepts include:

  1. Context
  2. ContextId
  3. Correlation
  4. Digital Subject
  5. Entity (not modeled)
  6. Identity Attribute
  7. Relation
  8. SubjectId

Their semantics (with the exception of Entity which is not modeled) have been expressed in higgins.owl that is summarized in the Higgins Ontology page. The Higgins Ontology pages define the semantics of HOWL.

An overview presentation on the data model can be found here: Higgins Data Model Intro (PPT)

Extending HOWL

HOWL is a base ontology. To be useful in real-world applications developers must develop specialized ontologies based on HOWL that describe a specific concrete domain.

For example, if a developer wanted to describe a CRM database, she would create an OWL ontology that would describe the data objects in the CRM database. This CRM database is called a Context in Higgins. If, for example, the database contained records about customers and those customers had full-names and email addresses, then the developer would define "Customer" as a sub-class of Digital Subject and "full-name" and "email" as kinds of Identity Attributes.

Here are some HOWL-based Ontologies:

HOWL and IdAS

The Identity Attribute Service (IdAS) provides a Java API that exposes read/write-able data from a wide variety of external data sources in the common Higgins model. The IdAS API implements but does not define the semantics of the Higgins data model.

Context Provider plug-ins to IdAS are used to adapt external system, site, database or other data source to the IdAS API. These Context Providers are responsible for data transformation between the Higgins model and their own internal data model. Higgins does not constrain the Context Provider's choice of data representation; it could be XML-based, object-oriented, relational, or anything else.

Context Providers can be used to adapt data stores/sources such as:

  • Directories: LDAP stores like eDirectory, Active Directory, OpenLDAP, etc...
  • Relational databases used by enterprise apps to store identity/profile information.
  • Digital social networks (node-edge graphs): data behind Facebook, MySpace, LinkedIn, etc; or the graphs created by mining email traffic
  • Email/IM/collaboration client account data: email and IM client accounts, contact/buddy lists
  • Identity/profile data stored in website "silos": personal information stored sites like eBay, Amazon, Google Groups, Yahoo Groups

Open Issues

Scope

The data model addresses "The need for interoperability" described here: Higgins Goals. In addition, items #3 and #5 of the charter state or imply the need for a robust identity and social networking data model:

Scope item 3. Provide an API and data model for the virtual integration and federation of identity and security information from a wide variety of sources.
Scope item 5. Provide a social relationship data integration framework that enables these relationships to be persistent and reusable across application boundaries.

References

RDF/OWL Related Resources

Misc Resources

Links

Back to the top