|
|
(42 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | == Introduction ==
| + | #REDIRECT [[Context Data Model 1.0]] |
− | 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 [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 ==
| + | |
− | 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]]
| + | |
− | | + | |
− | == Higgins Ontology Language (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 [[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]]
| + | |
− | | + | |
− | == 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 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:
| + | |
− | * ''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: IdAS Specifications ==
| + | |
− | | + | |
− | The [[Higgins Global Graph]] implementation is built on existing, proven web and semantic web technologies. It extends these by profiling their use within the context of Higgins.
| + | |
− | | + | |
− | [[Image:HGG-v10.PNG]]
| + | |
− | | + | |
− | === Identifiers ===
| + | |
− | * [[ContextId Data Range]] - A URI or XRI used to identify a [[Context]]
| + | |
− | * [[NodeId Data Range]] - A URI or XRI used to identify a [[Node]], either absolutely within a specific [[Context]] or relatively within a given [[Context]].
| + | |
− | | + | |
− | === Discovery ===
| + | |
− | * [[Context Discovery]] defines the process of resolving a [[NodeId Data Range]] 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 [[Node]]s in the [[Higgins Global Graph]].
| + | |
− | * [[Higgins XDI Context Descriptor]] does the same for XDI documents.
| + | |
− | | + | |
− | === Ontology ===
| + | |
− | * [[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==
| + | |
− | * [[Data Model Open Issues]]
| + | |
− | | + | |
− | == References ==
| + | |
− | ===RDF/OWL Related Resources===
| + | |
− | * OWL
| + | |
− | ** 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: [http://www.wiwiss.fu-berlin.de/suhl/bizer/toolkits/ Developers Guide to Semantic Web Toolkits]
| + | |
− | ** Reference documents: [http://www.w3.org/2001/sw/WebOnt/#Current W3C Web Ontology Working Group]
| + | |
− | ** Tutorial: http://www.cs.man.ac.uk/~horrocks/ISWC2003/Tutorial/
| + | |
− | * Normalization to OWL/RDF
| + | |
− | ** [http://www.ldap.com/1/spec/schema/ont.shtml Schemat]
| + | |
− | ** Sebastian Dietzold, Generating RDF Models from LDAP Directories (PDF), [http://www.semanticscripting.org/SFSW2006/ 2nd Workshop on Scripting for the Semantic Web] co-located with the [http://www.eswc2006.org/ 3rd European Semantic Web Conference], June 12, 2006
| + | |
− | | + | |
− | ===Misc Resources===
| + | |
− | * http://wiki.idcommons.net/index.php/Identity_Schemas
| + | |
− | * "D3.2: Models" FIDIS, October, 2005, ([http://www.fidis.net/fileadmin/fidis/deliverables/fidis-wp2-del2.3.models.pdf 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.
| + | |
− | * [http://www.nmi-edit.org/eduPerson/internet2-mace-dir-eduperson-200604.html eduPerson spex]
| + | |
− | | + | |
− | == Links ==
| + | |
− | * [http://eclipse.org/higgins Higgins Home]
| + | |