Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "Context Data Model"

(Identifiers)
(updated references and wordsmithed text)
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
The [[Higgins Global Graph]] provides a foundation for achieving data portability, interoperability and unification for three kinds of identity data about people, things or concepts.
+
The [[Higgins Global Graph]] provides a foundation for integrating, unifying, and sharing identity data. It enables portability of three key types of data:
  
This data includes ''identity'' information related to identification, authentication, etc. It also includes attributes such as preferences, interests, and associated objects like events and things, wishlists. Lastly it includes ''relation'' attributes representing friends and other kinds of associations with other people, organizations, etc. An important kind of relation, called a ''correlation'', models a link between different representations of the same person in different contexts.
+
# ''Identity'' data, i.e., identifiers and credentials related to identification, authentication, authorization, etc.  
 +
# '''Attribute''' data, i.e., contact information, preferences, interests, and associated objects like events, wishlists, presence, state, etc.
 +
# '''Relation''' data, i.e., attributes representing relationships (e.g., "friends", "customers", "suppliers") and other kinds of associations with people, organizations, etc. A particular kind of relation, called a '''correlation''', models a link between different representations of the same entity (e.g., a person) in different contexts.
  
An overview presentation on the data model can be found here: [http://dev.eclipse.org/viewsvn/index.cgi/org.eclipse.higgins/trunk/doc/org.eclipse.higgins.doc/Higgins-Data-Model-Intro.ppt?root=Technology_SVN&view=co Higgins Data Model Intro (PPT)]
+
See the [http://dev.eclipse.org/viewsvn/index.cgi/org.eclipse.higgins/trunk/doc/org.eclipse.higgins.doc/Higgins-Data-Model-Intro.ppt?root=Technology_SVN&view=co Higgins Data Model Intro (PPT)] for a Powerpoint overview.
  
 
== Domain Concepts ==
 
== Domain Concepts ==
Line 22: Line 24:
  
 
== HOWL ==
 
== HOWL ==
Rather than invent a new metamodel from scratch, the [[Higgins Global Graph]] data 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 an abstract base ontology called [[HOWL]] (higgins.owl) that in turn describe the domain of identity information.
+
Rather than invent a new metamodel from scratch, the [[Higgins Global Graph]] data model is based on the W3C's Resource Description Framework (RDF) and Web Ontology Language (OWL 1.0). We use RDF and OWL to express an abstract base ontology called [[HOWL]] (higgins.owl) that in turn describes the domain of identity information.
  
 
=== Extending HOWL ===
 
=== Extending HOWL ===
Line 29: Line 31:
 
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 [[Attribute]]s.  
 
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 [[Attribute]]s.  
  
Here are some HOWL-based Ontologies (all of these need to be updated)
+
Here are some HOWL-based Ontologies (''note - these need to be updated''):
 
* [[test-person Example Context Ontology]]  
 
* [[test-person Example Context Ontology]]  
 
* [[Person-with-address Example Context Ontology]]
 
* [[Person-with-address Example Context Ontology]]
 
* [[Person-with-friend Example Context Ontology]]
 
* [[Person-with-friend Example Context Ontology]]
  
== HOWL and IdAS ==
+
== 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 Provider]]s 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.
+
The [[Identity Attribute Service]] (IdAS) provides a Java API that exposes read/write-able data from a wide variety of external data sources that can be "plugged in" to the [[Higgins Global Graph]]. (Note that the IdAS API implements but does not define the semantics of the [[Higgins Global Graph]] model.)
 +
 
 +
[[Context Provider]] plug-ins to IdAS are used to adapt external systems, sites, databases, or other data sources to the IdAS API. These [[Context Provider]]s 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 can be XML-based, object-oriented, relational, or anything else.
  
 
[[Context Provider]]s can be used to adapt data stores/sources such as:
 
[[Context Provider]]s can be used to adapt data stores/sources such as:
* Directories: LDAP stores like eDirectory, Active Directory, OpenLDAP, etc...
+
* ''Directories'': LDAP stores like eDirectory, Active Directory, OpenLDAP, etc.
* Relational databases used by enterprise apps to store identity/profile information.
+
* ''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
+
* ''Online social networks'' (node-edge graphs): data behind Facebook, MySpace, LinkedIn, etc.
* Email/IM/collaboration client account data: email and IM client accounts, contact/buddy lists
+
* ''Messaging systems'': email, IM, collaboration client contact/buddy lists.
* Identity/profile data stored in website "silos": personal information stored sites like eBay, Amazon, Google Groups, Yahoo Groups
+
* ''Website account "silos"'': personal profile and preference information stored sites like eBay, Amazon, Google Groups, Yahoo Groups, etc.
  
== HGG Specifications ==
+
== Higgins Global Graph Specifications ==
  
The [[Higgins Global Graph]] is built on existing, proven web and semantic web technologies. It extends these by defining conventions on their use within the context of Higgins.
+
The [[Higgins Global Graph]] is built on existing, proven web and semantic web technologies. It extends these by profiling their use within the context of Higgins.
  
 
[[Image:HGG-v8.PNG]]
 
[[Image:HGG-v8.PNG]]
Line 53: Line 57:
 
=== Identifiers ===
 
=== Identifiers ===
 
* [[ContextIdDatatype]] - A URI or XRI used to identify a [[Context]]
 
* [[ContextIdDatatype]] - A URI or XRI used to identify a [[Context]]
* [[NodeIdDatatype]] - A URI or XRI used to idenitfy a [[Node]]
+
* [[NodeIdDatatype]] - A URI or XRI used to identify a [[Node]], either absolutely within a specific [[Context]] or relatively within a given [[Context]].
  
 
=== Discovery ===
 
=== Discovery ===
* [[Higgins XRDS Service Endpoint]] - Conventions on how XRDS is used to support access to [[I-Node]]s in the graph referenced by [[I-Node Relation]]s
+
* [[Context Discovery]] defines the process of resolving a [[NodeIdDatatype]] to obtain a [[Higgins XRDS Service Endpoint]] or [[Higgins XDI Context Descriptor]].
* [[Higgins XDI Context Reference]] - As above but using XDI instead of XRDS
+
* [[Higgins XRDS Service Endpoint]] defines how XRDS documents are used to support access to [[Node]]s in the [[Higgins Global Graph]].
 +
* [[Higgins XDI Context Descriptor]] does the same for XDI documents.
  
 
=== Ontology ===
 
=== Ontology ===
* [[HOWL]] - Conventions on how W3C Web Ontology Langugage (OWL) is used to describe the attributes of [[Entity | Entities]] (nodes) in the graph --the [[Higgins Global Graph]]
+
* [[HOWL]] - Conventions on how W3C Web Ontology Langugage (OWL) is used to describe the [[Attribute]]s of [[Node]]s representing [[Entity | Entities]] in the [[Higgins Global Graph]].
  
 
==Open Issues==
 
==Open Issues==

Revision as of 21:15, 12 February 2008

Introduction

The Higgins Global Graph provides a foundation for integrating, unifying, and sharing identity data. It enables portability of three key types of data:

  1. Identity data, i.e., identifiers and credentials related to identification, authentication, authorization, etc.
  2. Attribute data, i.e., contact information, preferences, interests, and associated objects like events, wishlists, presence, state, etc.
  3. Relation data, i.e., attributes representing relationships (e.g., "friends", "customers", "suppliers") and other kinds of associations with people, organizations, etc. A particular kind of relation, called a correlation, models a link between different representations of the same entity (e.g., a person) in different contexts.

See the Higgins Data Model Intro (PPT) for a Powerpoint overview.

Domain Concepts

The Higgins Global Graph defines these Concepts (listed alphabetically):

  1. Attribute
  2. Context
  3. ContextId
  4. Context Relation
  5. Context Correlation
  6. Data Range --formerly Attribute Value Datatype
  7. Entity
  8. Node
  9. NodeId
  10. Node Relation
  11. Node Correlation

HOWL

Rather than invent a new metamodel from scratch, the Higgins Global Graph data model is based on the W3C's Resource Description Framework (RDF) and Web Ontology Language (OWL 1.0). We use RDF and OWL to express an abstract base ontology called HOWL (higgins.owl) that in turn describes the domain of identity information.

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

Here are some HOWL-based Ontologies (note - these need to be updated):

IdAS

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

Context Provider plug-ins to IdAS are used to adapt external systems, sites, databases, or other data sources 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 can 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.
  • Online social networks (node-edge graphs): data behind Facebook, MySpace, LinkedIn, etc.
  • Messaging systems: email, IM, collaboration client contact/buddy lists.
  • Website account "silos": personal profile and preference information stored sites like eBay, Amazon, Google Groups, Yahoo Groups, etc.

Higgins Global Graph Specifications

The Higgins Global Graph is built on existing, proven web and semantic web technologies. It extends these by profiling their use within the context of Higgins.

HGG-v8.PNG

Identifiers

Discovery

Ontology

Open Issues

References

RDF/OWL Related Resources

Misc Resources

Links

Back to the top