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

Difference between revisions of "Context Data Model 1.X"

(Extending HOWL)
Line 44: Line 44:
 
Developers must create specialized ontologies based on HOWL that describe specific concrete domains.
 
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 [[Node]] and "full-name" and "email" as kinds of Attributes.  
+
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 Node (Digital Subject) and "full-name" and "email" as kinds of attributes.  
  
 
Here are some HOWL-based Ontologies:
 
Here are some HOWL-based Ontologies:

Revision as of 14:30, 22 April 2008

{{#eclipseproject:technology.higgins}}

Higgins logo 76Wx100H.jpg

Version

This page applies to Higgins 1.0 only. See Higgins Global Graph 1.1 for the version currently under development and much more fully documented.

Introduction

Although it can be used for almost any kind of data, the focus of the Higgins Global Graph (HGG) 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:

Core Semantics

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

Most of the subtle but important differences between HGG 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 HGG is based on a more generalized URI.

HGG 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 global graph into disjoint sets of objects. Context Provider plug-in implementations map sets of data resources stored in a various kinds of data stores into objects within Context boundaries in the HGG.

HGG 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 HGG an object may only have 0..1 property of type T, and if the property exists it has 1..N values. Further, in HGG these properties are called Attributes.

Domain Concepts

The Higgins Global Graph 1.0 defines these concepts:

Attribute
Defines a property of an Node or a Context. Has a type (URI). Has one or more values all of which MUST be unique. The value of an Attribute is an instance of AttributeValue.
AttributeValue
An object that hold either a literal value or a complex value. In Higgins 1.0 this instance can also hold what was called "metadata" values (e.g. creation date-time, expiration date-time).
Context
A set of one or more Nodes
ContextId
A URI that identifies a Context
Entity
Person, thing, juridical entity, concept, animal or anything with separate existence.
Node (aka Digital Subject)
A representation of an Entity within a given context. Nodes and Entities are not the same concept. The distinction is subtle but critical. In Higgins the same Entity is usually represented by multiple Nodes in different Contexts.
NodeId
A NodeId is a kind of simple-valued Attribute of an Node. Its value uniquely identifies an instance of an Node. The value of an NodeId is a single NodeId Data Range URI
Node Relation
A kind of Attribute of a Node. Each value of an Node Relation identifies a Node [Note: the target Nodes may be in the same or different Contexts as the source Node ]. The value(s) of an Node Relation is a Node. More precisely, the value is a NodeId Data Range URI that is dereferenced to produce a Node instance.
Node Correlation
A Node Correlation is a kind of Attribute of a source Node. Each value of a Node Correlation identifies a target Node. Each source-target Node pair expresses that both Nodes are representations of the same Entity

The HOWL Ontology

The HGG is defined in the W3C's web ontology language in a file called HOWL (higgins.owl). Due to the differences between RDF and HGG mentioned above, this description is only an approximation, albeit a useful one. It enables Higgins developers to use RDF and OWL tools and technologies in the development of Higgins applications and Context Providers without any modifications.

HOWL 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.

See also:

Extending HOWL

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 Node (Digital Subject) and "full-name" and "email" as kinds of attributes.

Here are some HOWL-based Ontologies:

Back to the top