The API for Simple OML

~ Under Construction ~

Overview

Here we define the API for Simple OML. We organize this by making use of the associated efforts in RADIX, GINF, CGIF and OKBC.

Overall Design

The API provides classes for Instance.Object, Instance.BinaryRelation, Collection, and CollectionStore.

The Instance.BinaryRelation class has methods for getting and setting the source.Instance, classification.BinaryRelation, and target.Instance of the binary relation instance.

A group of binary relation instances can be bundled together in a "Collection" instance. Collections have methods for adding and deleting objects and binary relations. Collections also have a query method that returns a collection. (This is analogous to the relational database model, where the result of querying a table
is another table.) A collection is an object (it has a URI) and assertions (usually in the form of binary relations) can be made about a collection like any other resource.

Collections are held in a "CollectionStore". The collectionStore is itself a collection. Specifically, it is the (nested) collection that also holds the assertions about the import time, creator, etc. of the collections it contains.

A Provisional API

Here is defined the interface for the following classes.

  • Thing
  • Instance.Object
  • Instance.BinaryRelation
  • Collection
  • CollectionStore
  • Query

Instance.BinaryRelation

A binary relation instance in a Simple OML collection.

This class has getter and setter methods for the source.Instance, classification.BinaryRelation, and target.Instance parts of the binary relation instance.

Simple OML allows the target.Instance of the binary relation instance to be an object instance or a data value. Primitive data types include strings, booleans, numbers, dates, etc. Simple OML follows XML Schema in the way it handles data types and data values.

Query

A Query is a pattern applied to a collection in order to select a subcollection for return. This can be elaborated towards the combination of multiple queries.

A query is a binary relation pattern. If an object instance is specified as one component of the binary relation instance, then the parts of the collection that match it are selected. Another useful possibility is to specify the type of the binary relation instance (the return would be a new collection containing all the binary relation instances of the ambient collection having the specified type. You can also restrict this further by specifying types for the source.Instance and target.Instance.

 

 

é

Please send questions, comments and suggestions about this page to: Robert E. Kent rekent@ontologos.org

Copyright © 1999 TOC (The Ontology Consortium). All rights reserved.