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

Context Data Model 2.0

Revision as of 21:24, 1 September 2008 by Paul.socialphysics.org (Talk | contribs) (Key Concepts)

{{#eclipseproject:technology.higgins}}

Higgins logo 76Wx100H.jpg

Version 1.1

  • This page describes the Higgins 1.1 Context Data Model
  • See Context Data Model 1.0 for the released Higgins 1.0 version

Introduction

The Context Data Model (CDM) is a portion of the Higgins Data Model.

Although the CDM can be used for almost any kind of data, the focus of CDM is to provide a foundation for integrating, unifying, and sharing identity-related data. In particular we are focused on information about a person, a group or an entire organization. This might include contact information, authentication data, preferences, email addresses, interests, employer-related information. An object representing a single person, might have relationships to other objects and other people in the same or different data contexts.

See:

CDM Core Semantics

The Context Data Model (CDM) encompasses the core semantics of the W3C's Resource Description Framework (RDF); anything expressible in RDF is expressible in the CDM although the converse isn't true.

Most of the subtle but important differences between CDM and RDF are derived from differences in the choice of identifiers used to identify objects in each model. RDF is based on pure HTTP URIs, whereas CDM is based on a more generalized URI called a UDI. Objects identified by URIs in RDF are called Resources, whereas in CDM they are identified by UDIs and are called Entities.

The CDM includes a kind of object called a Context that has no analog in RDF. Individual Contexts can be thought of as containers of portions of the overall graph of objects. Contexts partition the data space into disjoint sets of objects. Context Provider plug-in implementations map data stored in a various kinds of data stores into objects within Context boundaries in CDM.

The CDM also differs from RDF on a syntactic (semantically lossless) level. In RDF an object may have N properties of type T each of which has a single value whereas in the CDM an object may only have 0..1 property of type T, and if the property exists it has 1..N values. Further, in the CDM these properties are called Attributes.

Key Concepts

There are three "top level" concepts to understand:

  1. Context - a container of objects called Entities. Are identified by a Context UDI
  2. Entity - instances of objects (as well as the Entity Classes and Attribute Types that define them). All objects (except Contexts themselves) are called Entities. All are identified by an Entity UDI
  3. Attribute - a property of an Entity or a Context.

Here are a few more:

  1. In addition to simple attributes, Entities can be linked to other Entities by using complex Attributes (whose value is another Entity UDI). These links are called Entity Relations. An Entity Correlation is a special kind of link that says that the interlinked Entities are all just different representations (often in different contexts) of the same underlying person, organization, concept or thing. New attribute value datatypes (e.g. syntax restrictions on xml:strings) can be defined using Data Ranges
  2. As with Entities, Contexts can also be interlinked with Context Relations and Context Correlations.
  3. The CDM is self-describing, recursive. We use special kinds of Entities to describe classes of entities as well as Attribute Types.

Access Control:

  1. Starting in 1.1M4 we are beginning to define a set of attributes that describe access control policies. These will be included in the CDM model.

higgins.owl and cdm.owl

The CDM model is a set of concepts. From 1.1M4 forward, we divide this set of concepts into two subsets. The first subset contains concepts that can are expressed in OWL1.1 and can be directly imported and used as a base ontology by RDF/OWL data sources and systems. These are contained in the file higgins.owl 1.1 -- a file that has been nicknamed HOWL. This file describes many of the core concepts used in the CDM. higgins.owl 1.1 is an abstract (sometimes called an "upper") ontology for identity information. It is abstract in that it doesn't describe any concrete attributes such as "email address" or "first name". It also doesn't define very specialized classes of objects such as "calendar event" or "student", "movie", "book", etc. These are left to Context Providers to define for themselves.

The second subset contains concepts that, while they can be described in OWL, are unique to CDM and are not compatible with existing RDF/OWL data sources. These are described in a file called cdm.owl 1.1. These concepts are implemented and exposed in the IdAS Java API.

Building on higgins.owl 1.1

Developers must create specialized ontologies based on HOWL that describe specific concrete domains.

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 Entity and "full-name" and "email" as kinds of Attributes.

Misc

Back to the top