Context Data Model
The Higgins Global Graph provides a foundation for integrating, unifying, and sharing identity data. It enables portability of three key types of data:
- 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.
See the Higgins Data Model Intro (PPT) for a Powerpoint overview.
- Context Relation
- Context Correlation
- Data Range --formerly Attribute Value Datatype
- Node Relation
- Node Correlation
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.
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):
- test-person Example Context Ontology
- Person-with-address Example Context Ontology
- Person-with-friend Example Context Ontology
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.
- ContextIdDatatype - A URI or XRI used to identify a Context
- NodeIdDatatype - A URI or XRI used to identify a Node, either absolutely within a specific Context or relatively within a given Context.
- Context Discovery defines the process of resolving a NodeIdDatatype to obtain a Higgins XRDS Service Endpoint or Higgins XDI Context Descriptor.
- Higgins XRDS Service Endpoint defines how XRDS documents are used to support access to Nodes in the Higgins Global Graph.
- Higgins XDI Context Descriptor does the same for XDI documents.
- HOWL - Conventions on how W3C Web Ontology Langugage (OWL) is used to describe the Attributes of Nodes representing Entities in the Higgins Global Graph.
RDF/OWL Related Resources
- Semantic Web (RDF/OWL) Resources
- Toolkit: Developers Guide to Semantic Web Toolkits
- Reference documents: W3C Web Ontology Working Group
- Tutorial: http://www.cs.man.ac.uk/~horrocks/ISWC2003/Tutorial/
- Normalization to OWL/RDF
- "D3.2: Models" FIDIS, October, 2005, (PDF 74 pages). Summary: "The objective of this document is to present in a synthetic way different models of representation of a person ("person schema") that can be used in different application domains.
- eduPerson spex