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"

(Core Semantics)
(Redirecting to Context Data Model 1.0)
 
(25 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Introduction ==
+
#REDIRECT [[Context Data Model 1.0]]
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
+
* [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 an overview.
+
* [[Higgins Global Graph Background]] for information about motivations and design goals.
+
 
+
== Core Semantics ==
+
The [[HGG]] is based on the core semantics of the W3C's [http://www.w3.org/RDF/ Resource Description Framework] (RDF). 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]] 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 properties of type T but if it exists it may only have have 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 in underlying identifiers, 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]]
+
 
+
==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]
+

Latest revision as of 16:04, 20 June 2008

Back to the top