v1.5.0
This is the first GitHub-based release of the JULIE Lab Neo4j server plugins.
The plugins are mainly two-fold: One plugin for ontological concept handling, the other for a persistent realization of the Aho-Corasick algorithm.
The concept related plugin can be used with the output of the julielab-bioportal-ontology-tools or any other graph-data in the required JSON format. The concepts are then arranged within Neo4j as a graph that arranges the concepts in "facets" where a facet may just be one ontology or terminology. The main achievement of the plugin is the automatic merging of concepts that have the same ID. When importing two ontologies that share concepts, the concepts won't be added twice but just get different relationships corresponding to the facet they belong to. Also concept mappings may be integrated into the graph, creating mapping relationships between concepts and resulting in aggregate nodes (roughly equivalent to blank nodes in RDF) aggregating all concepts together that have been mapped to each other (assuming the mapping to be impose an equivalence relation which actually might not be true!).
The Aho-Corasick algorithm is a TRIE-based string matching algorithm that is typically performed by an in-memory data structure. For extremely large dictionaries this might be an issue, however. This plugin was created to allow string tagging from Neo4j, resulting in a much slower algorithm but allowing much larger dictionaries. Thus, the plugin might of use if there is very large dictionary for which the TRIE does not fit into the memory any more but for which only few or not time critical requests are issued. Please note that the plugin is currently not working because it has been developed with an older version of Neo4j and hasn't been updated to the 2.3 APIs.