« October 2002 | Main | April 2003 »

November 2002 Archives

November 6, 2002

Hyperobject

During the development of UMLisp, I developed a small object representation scheme designed to support Unified Medical Language System (UMLS) objects. The UMLS is densely relational. A single concept can have thousands of subobjects and related objects. Using an object representation library allowed a simple, unified way to represent relationships between the 30 distinct object types in UMLS.

For my UMLS browser, I needed to print objects in ASCII text, HTML, and XML formats with optional printing of field labels and hyperlinks to related objects. I've packaged this object representation library and have made it freely available. This library is available under a BSD license and can be downloaded from ftp://ftp.b9.com/hyperobject/".

November 25, 2002

New Hyperobject

I released a new version of hyperobject that allows slot options to be specified with the slot definition rather than the class definition. An example demonstrates the difference in the schema:

Old Version
(defclass person ()
  ((last-name :type :string)
   (first-name :type :string)
   (dob :type integer)
   (addresses))
  (:metaclass hyperobject-class-old)
  (:ref-fields (last-name find-person-by-last-name))
  (:subobjects addresses)
  (:fields last-name first-name (dob format-date))

New Version

(defclass person ()
  ((last-name :type :string :reference find-person-by-last-name)
   (first-name :type :string)
   (dob :type integer :print-formatter format-date)
   (addresses :subobject t))
  (:metaclass hyperobject-class)
  (:print-slots last-name first-name dob))

This is much improved and will simply adding new object representation features.

About November 2002

This page contains all entries posted to Kevin Rosenberg in November 2002. They are listed from oldest to newest.

October 2002 is the previous archive.

April 2003 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Creative Commons License
This weblog is licensed under a Creative Commons License.