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.
Higgins Data Model 1.0
Contents
Version 1.0
- This page describes the Higgins Data Model 1.0 & 1.1
Published Links
- http://www.eclipse.org/higgins/ontologies/2008/6/higgins - most recent published version
- http://www.eclipse.org/higgins/ontologies/2008/6/higgins-doc/index.html - most recent documentation
Introduction
The Higgins Data Model (HDM) is described by higgins.owl.
HDM 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 Providers to define for themselves.
Note: In the Identity Attribute Service the term "Digital Subject" was changed to "Node" just before the release of Higgins 1.0. However, the term was not changed in version 1.0 of higgins.owl where the term "Digital Subject" remains.
Context Ontologies
Every Context can defines its own ontology. This ontology declares the OWL classes and properties used by instances within that Context. This Context-defined ontology must be based on higgins.owl (i.e. it must import higgins.owl).
Classes
This section is a summary of the main classes in higgins.owl. Each numbered item lists a class (e.g. "Attribute"). The sub-items show properties defined for this class (e.g. "source") prefixed by the cardinality of this property on this class (e.g. "O..N").
Note: subclasses of SimpleValue are listed separately in the next section to reduce clutter.
Classes in alphabetic order:
- Attribute
- Instances of this class are used as the domain of a set of higgins:metadata properties that, taken together, are considered to be the metadata about a higgins:attribute sub-property.
- ComplexValue
- subclass of Value
- ContextId
- URI of a Context
- ContextObject
- 0..N hasContextRelations
- ContextRelation
- 0..N contextId
- SimpleValue (subclass of Value)
- 1..N simpleValue
- Digital Subject
- 1..1 uniqueIdentifier
- 0..N timeSpan
- 0..N attribute
- SubjectRelation
- Subclass of ComplexValue.
- 1..1 contextId
- 1..1 subjectId
- SubjectCorrelation
- Subclass of SubjectRelation. If DigitalSubject A has a correlation relation to DigitalSubject B, this implies that that A and B represent different representations of the same underlying Entity. This relation only navigable in one direction: in this example from A to B.
- TimeSpan
- 0..1 validFrom --if not present, assume validFrom is the beginning of time
- 0..1 validTo --if not present, assume validTo is the end of time
- Value
- 0..N source
- 0..N creator
- 0..N creationTime
- 0..N timeSpan
- 0..1 lastModified
- 0..1 syncConflict
- 0..1 lastVerifiedFromSource
- 0..1 lastVerifyAttempt
Subclasses of SimpleValue
The following mirror the XML Schema types recommended for use with OWL
- AnyURI
- Base64Binary
- Boolean
- Byte
- Date
...etc
DataType (literal valued) Properties
- lastModified
- domain: Value
- range: xsd:dateTime
- lastVerifiedFromSource
- domain: Value
- range: xsd:dateTime
- lastVerifyAttempt
- domain: Value
- range: xsd:dateTime
- simpleMetadata
- domain: Value, DigitalSubject
- simpleValue
- domain: SimpleValue
- subjectID
- domain: SubjectRelation
- range: xsd:normalizedString
- syncConflict
- domain: Value
- range: xsd:boolean
- validFrom
- domain: TimeSpan
- range: xsd:date
- validTo
- domain: TimeSpan
- range: xsd:date
Sub-Properties of simpleValue
- anyURI - domain(AnyURI), range(xsd:anyURI)
- boolean - domain(Boolean), range(xsd:boolean)
- base64Binary - domain(Base64), range(xsd:base64Binary)
...etc for all of the rest of the XML Schema datatypes
Object (object valued) Properties
- attribute - domain(DigitalSubject, ContextObject, ComplexValue), range(Value, Attribute)
- complexMetadata - domain(DigitalSubject, Attribute)
- complexValue - domain(ComplexAttribute)
- contextID - domain(ContextRelation, SubjectRelation), range(ContextID)
- contextRelation - domain(ContextObject), range(ContextRelation)
- source - domain(Attribute), range(SubjectRelation). The value is a SubjectRelation that indicates the authoritative source of the value of this Attribute
- timeSpan - domain(DigitalSubject, Attribute), range(TimeSpan)
- uniqueIdentifier - domain(DigitalSubject), range(higgins:StringSimpleAttribute). Uniquely identifies a DigitalSubject within a context
Annotation Properties
The following have been copied verbatim from http://protege.stanford.edu/plugins/owl/owl-library/2005/08/07/xsp.owl. These allow us to express the semantics of XML Schema within a Higgins-based ontology RDF file.
- base
- fractionDigits
- length
- maxExclusive
- maxInclusive
- maxLength
- minExclusive
- minInclusive
- minLength
- pattern
- totalDigits
Misc Notes
The value of the uniqueIdentifier attribute is immutable. All Digital Subjects have exactly one uniqueIdentifier attribute whose value is set when the Digital Subject is instantiated.
Note: The properties of the Context container itself are attached to special object called ContextObject within the instance data and also described in the ontology.
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 (Digital Subject, or Entity) and "full-name" and "email" as kinds of attributes.
Here are some HOWL-based Ontologies:
- test-person Example Context Ontology
- Person-with-address Example Context Ontology
- Person-with-friend Example Context Ontology
Updates
- HOWL Update 1.1.106 - published as ../1.1M4/higgins
- HOWL Update 1.1.105 - interm version
- HOWL Update 1.1.104 - interim version
- HOWL Update 1.1.103 - interim version
- HOWL Update 1.1.102 - published as ../1.1M2/higgins
- HOWL Update 1.21 - interim version; now renamed 1.1.101
- HOWL Update 1.20 - first cut at HOWL 1.1