Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search

Higgins Data Model 1.0

Revision as of 11:55, 25 June 2010 by Unnamed Poltroon (Talk) (Published Links)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Higgins logo 76Wx100H.jpg

Version 1.0

  • This page describes the Higgins Data Model 1.0 & 1.1

Published Links


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).


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:

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.
subclass of Value
URI of a Context
  • 0..N hasContextRelations
  • 0..N contextId
SimpleValue (subclass of Value)
  • 1..N simpleValue
Digital Subject
  • 1..1 uniqueIdentifier
  • 0..N timeSpan
  • 0..N attribute
Subclass of ComplexValue.
  • 1..1 contextId
  • 1..1 subjectId
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.
  • 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
  • 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

  1. AnyURI
  2. Base64Binary
  3. Boolean
  4. Byte
  5. Date


DataType (literal valued) Properties

  • domain: Value
  • range: xsd:dateTime
  • domain: Value
  • range: xsd:dateTime
  • domain: Value
  • range: xsd:dateTime
  • domain: Value, DigitalSubject
  • domain: SimpleValue
  • domain: SubjectRelation
  • range: xsd:normalizedString
  • domain: Value
  • range: xsd:boolean
  • domain: TimeSpan
  • range: xsd:date
  • domain: TimeSpan
  • range: xsd:date

Sub-Properties of simpleValue

  1. anyURI - domain(AnyURI), range(xsd:anyURI)
  2. boolean - domain(Boolean), range(xsd:boolean)
  3. base64Binary - domain(Base64), range(xsd:base64Binary)

...etc for all of the rest of the XML Schema datatypes

Object (object valued) Properties

  1. attribute - domain(DigitalSubject, ContextObject, ComplexValue), range(Value, Attribute)
  2. complexMetadata - domain(DigitalSubject, Attribute)
  3. complexValue - domain(ComplexAttribute)
  4. contextID - domain(ContextRelation, SubjectRelation), range(ContextID)
  5. contextRelation - domain(ContextObject), range(ContextRelation)
  6. source - domain(Attribute), range(SubjectRelation). The value is a SubjectRelation that indicates the authoritative source of the value of this Attribute
  7. timeSpan - domain(DigitalSubject, Attribute), range(TimeSpan)
  8. uniqueIdentifier - domain(DigitalSubject), range(higgins:StringSimpleAttribute). Uniquely identifies a DigitalSubject within a context

Annotation Properties

The following have been copied verbatim from These allow us to express the semantics of XML Schema within a Higgins-based ontology RDF file.

  1. base
  2. fractionDigits
  3. length
  4. maxExclusive
  5. maxInclusive
  6. maxLength
  7. minExclusive
  8. minInclusive
  9. minLength
  10. pattern
  11. 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:


Back to the top