Package project35.soa.ontology.sources

This package contains all the classes which support the ontology source class that is part of the Project35 Ontology Service Framework.


Interface Summary
DictionaryDescriptionSupport Copyright (c) 2003 University of Mancester.
ImageDescriptionSupport describes an Ontology Source that can provide images based on an identifier.
OntologyCaching this is an interface that lets Project35 handle ontology sources that use caching.
OntologyProvenance Copyright (c) 2008 Kevin Garwood for Project35.
OntologySource describes a class that provides ontology terms to an OntologyViewer
OntologyTermValueSupplier a class that supplies ontology term values.
TermDescriptionSupport a marker interface that describes an ontology source which provides some kind of description of its terms.
TreeOntologySource interface that describes an OntologySource that can organise its terms as a tree data structure
URLDescriptionSupport this is a marker interface that would be used to let Project35 assume that for most cases, an ontology source will return a non-null value for URL getWebPage(String identifier).

Class Summary
AbstractTreeOntologySource This class is used to manage a tree of terms.
DefaultSubtreeOntologySource used to provide an ontology source that is rooted at a particular node It is used by other ontology sources which support the idea of anchoring a large ontology with seed terms that help reduce the amount of terms displayed to an end-user.
OntologyContext holds information about what fields are on the current form.
OntologyContextField a convenience data container used by OntologyContext.
OntologyRelationshipType an enumeration class that describes different kinds of relationships supported in ontologies.
OntologyRelationshipUtility provides functionality for gathering terms based on relationships supported in a simple hierarchy
OntologyTerm Describes an ontology term.
OntologyTermUtility This class is used to create ontology term identifiers and extract terms from identifiers; also used to create provenance terms given ontology terms.
OntologyTreeCloner clones an ontology tree; used by AbstractOntologySource to clone parts of an ontology source that work with anchor terms.
PictureOntologySource a marker class that also implements ImageDescriptionSupport.
SchemaConceptOntologyTermUtility a convenience class that converts information about schema concepts into ontology terms.
SingleColumnTextSource an ontology source that reads terms from a text file that contains a single column of ontology terms.
TabIndentedTextSource an ontology source that reads terms from a tab-indented text file
TermIdentifierUtility This class is used to create ontology term identifiers and extract terms from identifiers.
TreeOntologyTerm an ontology term that understands the notion of a parent term
XMLOntologySource an ontology source that reads its terms from a bespoke XML format.

Package project35.soa.ontology.sources Description

This package contains all the classes which support the ontology source class that is part of the Project35 Ontology Service Framework. OntologySource is the main interface developers must implement to make their own providers of ontology terms. TreeOntologySource extends the OntologySource by supporting the notion of a tree of terms.

Most of the classes in this package support default implementations of TreeOntologySource. AbstractTreeOntologySource contains most of the code for searching through a tree. It also makes use of OntologyTreeCloner to return sub-ontologies that are copies of the tree that are rooted by certain terms. TabIndentedTextSource extends AbstractTreeOntologySource and reads terms from a tab-indented text file. XMLOntologySource extends the same class but uses its own particular XML-based format for expressing ontology terms.

SingleColumnTextSource is an example of an ontology source that implements OntologySource but not TreeOntologySource. It reads its terms from a text file containing a single column of terms.

There are a number of classes related to the representation of an ontology term. OntologyTerm is a data container class with properties that include an identifier, a label, and a collection of related terms. The class does not describe how terms are related. However, the relations are inferred by the OntologyRelationshipType parameter that is used when an OntologySource returns a collection of terms related to a given term. TreeOntologyTerm extends OntologyTerm to include a notion of a parent term. Most of the default ontology source implementations use TermIdentifierUtility to create default identifiers for terms.

The package also includes a number of marker interfaces that provide rendering hints for Project35's project35.soa.ontology.views.DefaultOntologyViewer class. ImageDescriptionSupport implies that most terms will have an associated image. PictureOntologySource, a sub-class of XMLOntologySource, uses this interface. The viewer uses the support of this interface to make it show terms as a collection of thumbnail images. DictionaryDescriptionSupport implies that most terms are associated with a definition. The viewer uses this information to support a tabular view of terms with columns for term and definition. URLDescriptionSupport implies that a source will have a help web page for most terms. Sources which implement this interface cause the viewer to include an HTML panel to present the web page for the currently selected ontology term.