Context Data Model
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.
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.
An overview presentation on the data model can be found here: Higgins Data Model Intro (PPT) (This PPT is now out of date: We've recently renamed Digital Subject -> Entity and made other renamings.
The Higgins Global Graph defines these Concepts:
- Context Relation
- Context Correlation
- Context Type
- I-Node Relation
- I-Node Correlation
- Attribute Value Datatype
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.
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 (all of these need to be updated)
- test-person Example Context Ontology
- Person-with-address Example Context Ontology
- Person-with-friend Example Context Ontology
HOWL and 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 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 could 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.
- Digital social networks (node-edge graphs): data behind Facebook, MySpace, LinkedIn, etc; or the graphs created by mining email traffic
- Email/IM/collaboration client account data: email and IM client accounts, contact/buddy lists
- Identity/profile data stored in website "silos": personal information stored sites like eBay, Amazon, Google Groups, Yahoo Groups
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.
- I-Node Relation - A URI used to identify an I-Node
- I-Node Correlation - A URI used to identify an I-Node
- I-NodeId - An optional URI Attribute on an I-Node that uniquely identifies an I-Node within a Context
- Context Correlation - A URI used to identify an Context
- Context Relation - A URI used to identify an Context
- ContextId - A URI used to identify a Higgins Context
- Higgins XRDS Service Endpoint - Conventions on how XRDS is used to support access to I-Nodes in the graph referenced by I-Node Relations
- Higgins XDI Context Reference - As above but using XDI instead of XRDS
- HOWL - Conventions on how W3C Web Ontology Langugage (OWL) is used to describe the attributes of Entities (nodes) in the graph --the Higgins Global Graph
RDF/OWL Related Resources
- W3C OWL working group: http://www.w3.org/2007/OWL/wiki/OWL_Working_Group
- OWL 1.1 at Google Code: http://code.google.com/p/owl1-1/
- OWL 1.1 WD 8: http://www.w3.org/TR/owl11-syntax/
- 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
- Sebastian Dietzold, Generating RDF Models from LDAP Directories (PDF), 2nd Workshop on Scripting for the Semantic Web co-located with the 3rd European Semantic Web Conference, June 12, 2006
- "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