All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ot8-api.1.1.source-code.module-info Maven / Gradle / Ivy

There is a newer version: 1.2
Show newest version
/**
 * This module contains the api interfaces for use within Annot8. It does not contain any
 * implementations of the interfaces described.
 *
 * 

The basic premise of how Annot8 works is as follows: * *

You have an Item, which is your container and holds information about the data you wish to * process. This Item contains one or more Content objects, which are essentially views on the data * - for instance, if the data you wished to process was a HTML page, you might have a plain text * 'view' of the data as well as a formatted view. * *

On to these Content objects, you createContent Annotations. Annotations indicate that a * certain part of the Content has some special meaning (e.g. it is a mention of a person). These * Annotations are stored in an AnnotationStore, which is held by each Content object. An Annotation * has Bounds associated with it, which indicate the extent of the Annotation. The type of Bounds * will vary depending on the Content. * *

You can link Annotations together with Groups. When adding an Annotation to a Group, you must * assign it a role. This allows Groups to be used for a wide range of use cases, such as creating * relationships or event, and indicating co-reference between Annotations. Groups are stored in a * GroupStore, which is held on the Item object so that a Group may contain Annotations from * multiple Content objects. * *

Most of the objects above processors Properties, which allow you to attach additional * information to an object. Many objects also have a type and an ID. * *

There are three types of 'component' which are used to createContent and manipulate the above * objects. A Source will createContent new Items from some external source, for example a file * system or a database. The Items created by a Source will be passed to one or more Processors, * which will manipulate the Items by adding new Content objects to it, manipulating the Annotations * within these Content objects, and creating Groups of Annotations. * *

Both the Sources and Processors can use the third type of component - a Resource - to access * common or external resources (e.g. a database connection, or reference dataset). * *

It is envisaged that Sources, Processors and Resources will generally be corralled together to * form a processing pipeline which will read data in from one or more sources and do some * processing on it. However, the pipeline concept is not defined in this module so as to leave * users free to combine the components in any manner they wish. */ open module io.annot8.api { exports io.annot8.api.annotations; exports io.annot8.api.bounds; exports io.annot8.api.capabilities; exports io.annot8.api.components; exports io.annot8.api.components.annotations; exports io.annot8.api.components.responses; exports io.annot8.api.data; exports io.annot8.api.exceptions; exports io.annot8.api.helpers; exports io.annot8.api.helpers.builders; exports io.annot8.api.properties; exports io.annot8.api.references; exports io.annot8.api.settings; exports io.annot8.api.stores; exports io.annot8.api.filters; exports io.annot8.api.context; exports io.annot8.api.pipelines; }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy