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"

(Introduction)
(Removing all content from page)
 
(33 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{#eclipseproject:technology.higgins}}
 
[[Image:Higgins_logo_76Wx100H.jpg|right]]
 
  
== Version ==
 
This page applies to Higgins 1.0.x.  See [[Higgins_Global_Graph_1.1]] for the version currently under development.
 
 
== 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:
 
* [[Higgins Global Graph Background]] for information about motivations and design goals.
 
 
== Core Semantics ==
 
The [[HGG]] encompasses the core semantics of the W3C's [http://www.w3.org/RDF/ 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 called a [[Higgins Identifier]]. Objects identified by URIs in RDF are called ''Resources'', whereas in HGG they are identified by [[Higgins Identifier]]s and are called [[Node]]s.
 
 
[[HGG]] includes a kind of object called a [[Context]] that has no analog in RDF. Individual [[Context]]s can be thought of as containers of portions of the overall graph of objects. [[Context]]s 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 purely 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 [[Attribute]]s.
 
 
== Domain Concepts ==
 
The [[Higgins Global Graph]] defines these [[Concepts]] (listed alphabetically):
 
 
# [[Attribute]]
 
# [[Context]]
 
# [[ContextId]]
 
# [[Context Relation]]
 
# [[Context Correlation]]
 
# [[Data Range]] --formerly [[Attribute Value Datatype]]
 
# [[Entity]]
 
# [[Node]] --formerly [[Digital Subject]]
 
# [[NodeId]]
 
# [[Node Relation]]
 
# [[Node Correlation]]
 
 
== The HOWL Ontology ==
 
The [[HGG]] provides a description of its own model in OWL. This description is called [[HOWL]] (higgins.owl). Due to the differences between RDF and [[HGG]] mentioned above, this description is only an approximation, albeit a very useful one. It enables Higgins developers to use RDF and OWL tools and technologies in the development of Higgins applications and [[Context Provider]]s 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 Provider]]s to define for themselves.
 
 
See also:
 
* [[HOWL]]
 
 
=== 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]] and "full-name" and "email" as kinds of [[Attribute]]s.
 
 
Here are some HOWL-based Ontologies (''note - these need to be updated''):
 
* [[test-person Example Context Ontology]]
 
* [[Person-with-address Example Context Ontology]]
 
* [[Person-with-friend Example Context Ontology]]
 
 
==Misc ==
 
* [[Global Graph Open Issues]]
 
* [[HGG-Related Resources]]
 
 
[[Category:Higgins Data Model]]
 

Latest revision as of 11:42, 27 May 2010

Back to the top