Page History
...
Information regarding the software requirements LexEVS can be found in the WIP Format LexEVS 5.x Installation Guide.
Setting up your Environment
Information regarding the installation and configuration of the LexEVS environment can be found in the WIP Format LexEVS 5.x Installation Guide.
LexEVS API
Programming interfaces for the system fall into three primary categories:<u>
- Core Services
...
- - Includes the LexBIGService, LexBIGServiceManager, CodedNodeSet and CodedNodeGraph classes, which provide the initial entry points for programmatic access to all system features and data.
...
- Service Extensions
...
- - The extension mechanism provides for pluggable system features. Current extension points allow for the introduction of custom load and indexing mechanisms, unique query sort and filter mechanisms, and generic functional extensions which can be advertised for availability to client programs.
...
- Utilities
...
- - Utility classes, such as those implementing iterator support, are provided by the system to provide convenience and optimize the handling of resources accessed through the runtime.
Core Services
Provides central entry points for programmatic access to system features and data.
...
LexBIGService
Components of interest include:<u>
- CodedNodeGraph
...
- - A virtual graph where the edges represent associations and the nodes represent concept codes. A CodedNodeGraph describes a graph that can be combined with other graphs, queried or resolved into an actual graph rendering.
...
- CodedNodeSet
...
- - A coded node set represents a flat list of coded entries.
...
- LexBIGService
...
- - This interface represents the core interface to a LexEVS service.
...
- LexBIGServiceManager
...
- - The service manager provides a single write and update access point for all of a service's content.
...
- The service manager allows new coding schemes to be validated and loaded, existing coding schemes to be retired and removed and the status of various coding schemes to be updated and changed.
...
- LexBIGServiceMetadata
...
- - Interface to perform system-wide query over optionally loaded metadata for loaded code systems and providers.
Service Extensions
Provides registration and lookup for pluggable system features.
...
Extensions
Components of interest include:<u>
- ExtensionRegistry
...
- - Allows registration and lookup of implementers for extensible pieces of the LexEVS architecture.
...
- Extendable
...
- - Marks a class as an extension to the LexEVS application programming interface. This allows for centralized registration, lookup, and access to defined functions.
Query Extensions
Query extensions provide the ability to further constrain or manage query results.
...
Query
Components of interest include:<u>
- Filter
...
- - Allows for additional filtering of query results.
...
- Sort
...
- - Allows for unique sorting of query results. This interface provides a comparator to evaluate order of any two given items from the result set.
Load Extensions
Load extensions are responsible for the validation and import of content to the LexEVS repository. Vocabularies may be imported from a variety of formats including LexGrid canonical XML, NCI Thesaurus (OWL), and NCI MetaThesaurus (UMLS RRF).
Load
Components of interest include:
...
<u>
- Loader
...
- - The loader interface validates and/or loads content for a service.
...
- LexGrid_Loader
...
- - Validates and/or loads content provided in the LexGrid canonical XML format.
...
- NCI_MetaThesaurusLoader
...
- - Validates and/or loads the complete NCI MetaThesaurus. Content is supplied in RRF format. Note: To load individual coding schemes, consider using the UMLS_Loader as an alternative.
...
- OBO_Loader
...
- - Validates and/or loads content provided in Open Biomedical Ontologies (OBO) text format.
...
- OWL_Loader
...
- - Validates and/or loads content provided in Web Ontology Language (OWL) XML format. Note that for LexEVS phase 1 this loader is designed to specifically handle the NCI Thesaurus as provided in OWL format.
...
- Text_Loader
...
- - A loader for delimited text type files. Text files come in one of two formats: indented code/designation pair or indented code/designation/description triples.
...
- UMLS_Loader
...
- - Load one or more coding schemes from UMLS RRF format stored in a SQL database.
...
- MetaData_Loader
...
- - Validates and/or loads content provided in metadata xml format. The only requirement of the xml file is that it be a valid xml file.
...
- NCIHistoryLoader
...
- - A loader that takes the delimited NCI history file and applies it to a coding scheme.
...
- OBOHistoryLoader
...
- - Load an OBO change history file.
Export Extensions
Export extensions are responsible for the export of content from the LexEVS repository to other representative vocabulary formats.
...
Export
Components of interest include:<u>
- Exporter
...
- - Defines a class of object used to export content from the underlying LexGrid repository to another repository or file format.
...
- LexGrid_Exporter
...
- - Exports content to LexGrid canonical XML format.
...
- OBO_Exporter
...
- - Exports content to OBO text format.
...
- OWL_Exporter
...
- - Exports content to OWL XML format.
Index Extensions
Index extensions are built to optimize the finding, sorting and matching of query results.
...
Index
Components of interest include:<u>
- Index
...
- - Identifies expected behavior and an associated loader to build and maintain a named index. Note that a single loader may be used to maintain multiple named indexes.
...
- IndexLoader
...
- - Manages registered index extensions. A single loader may be used to create and maintain multiple indexes over one or more coding schemes.
...
- It is the responsibility of the loader to properly interpret each index it services by name, version, and provider.
Generic Extensions
Generic extensions provides a mechanism to register application-specific extensions for reference and reuse.
...
Generic
Components of interest include:<u>
- GenericExtension
...
- - The generic extension class. Classes that implement this class are accessible via the LexBIGService interface.
...
- LexBIGServiceConvenienceMethods
...
- - Convenience methods to be implemented as a generic extension of the LexEVS API.
Utilities
Defines helper classes externalized by the LexEVS API.
Iterators
Iterators are used to provide controlled resolution of query results.
Iterators
Components of interest include:<u>
- EntityListIterator
...
- - Generic interface for flexible resolution of LexEVS objects.
...
- ResolvedConceptReferencesIterator
...
- - An iterator for retrieving resolved coding scheme references.
Search Algorithms
Supported LexEVS Search Algorithms
Search Algorithm
Panelcode |
---|
Name: LuceneQuery Version: 1.0 Description: Search with the Lucene query syntax. See See http://lucene.apache.org/java/2_3_2/queryparsersyntax.html)
|
Search Algorithm
Panelcode |
---|
Name: DoubleMetaphoneLuceneQuery Version: 1.0 Description: Search with the Lucene query syntax, using a 'sounds like' algorithm. A search for A search for 'atack' will get a hit on 'attack' See See http://lucene.apache.org/java/2_3_2/queryparsersyntax.html)
|
Search Algorithm
Panelcode |
---|
Name: StemmedLuceneQuery Version: 1.0 Description: Search with the Lucene query syntax, using stemmed terms. A search for A search for 'trees' will get a hit on 'tree' See See http://lucene.apache.org/java/2_3_2/queryparsersyntax.html)
|
Search Algorithm
Panelcode |
---|
Name: startsWith Version: 1.0 Description: Equivalent to 'term*' (case insensitive) |
Search Algorithm
Panelcode |
---|
Name: exactMatch Version: 1.0 Description: Exact match (case insensitive) |
Search Algorithm
Panelcode |
---|
Name: contains Version: 1.0 Description: Equivalent to '* term* *' - in other words - a trailing wildcard on aterm term (but no leading wild card) and the term can appear at any position. |
Search Algorithm
Panelcode |
---|
Name: RegExp Version: 1.0 Description: A Regular Expression query. Searches against the lowercased text, soa regular expression that specifies an uppercase character will never return a match. Additionally, this searches against the entire string as a single token, rather than the tokenized string - so write your regular expression accordingly. Supported syntax is documented here: a regular expression that specifies an uppercase character will never return a match. Additionally, this searches against the entire string as a single token, rather than the tokenized string - so write your regular expression accordingly. Supported syntax is documented here: http://jakarta.apache.org/regexp/apidocs/org/apache/regexp/RE.html
|
Additional Utility Classes
Note: It is highly recommended that all LexEVS programmers familiarize themselves with the classes contained in the <tt>orgorg.LexGrid.LexBIG.
Utility</tt> Utility
package. Many useful features are provided in an effort to increase approachability of the API and assist the programmer in common tasks. This package currently contains the following classes: <u>
- Constructors
...
- - Helper class to ease creating common objects.
...
- ConvenienceMethods
...
- - One-stop shopping for convenience methods that have been implemented against the LexEVS API.
...
- LBConstants
...
- - Provides constants for use in the LexEVS API.
...
- ObjectToString
...
- - Provides centralized formatting of LexEVS Objects to String representations.
Code Examples
Concept Resolution
Programmers access coded concepts by acquiring first a node set or graph. After specifying optional restrictions, the nodes in this set or graph can be resolved as a list of <tt>ConceptReference</tt> ConceptReference objects which in turn contain references to one or more Concept objects. The following example provides a simple query of concept codes:
...
The LexEVS Data Grid Service is a standard caGrid Data service based on the LexEVS 2009 Model
caGrid Data Service Documentation
...