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

Higgins Data Model 1.0

(Redirected from Data Model)
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}
Higgins logo 76Wx100H.jpg

Version 1.0

  • This page describes the Higgins Data Model 1.0 & 1.1

Published Links

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

  1. AnyURI
  2. Base64Binary
  3. Boolean
  4. Byte
  5. 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

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

  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:

Updates

Back to the top