vO.1.2 Release Notes¶
This release includes some major bug-fixes, several new features and API changes described below.
Blue Graph’s core¶
Updates to the
PGFrame interface include:
- Added methods:
rename_edge_propertiesfor changing property names;
add_edges_from_dffor additing nodes and edges using dataframes.
from_ontologyclassmethod for importing (e.g. from Webprotege) ontologies as property graphs.
Property values that are added to existing properties are now aggregated into sets (and not replaced as it was before).
Fix of a major bug occuring during node merging.
Several minor bugfixes of the Neo4j backend were included in this release. In additon, the interfaces of
pgframe_to_neo4j has changed:
NaNproperties are skipped;
Node types can be used as Neo4j node labels;
Edge types can be used as Neo4j edge relationship types: edges with multiple types result in multiple Neo4j relationships with respective types and their properties replicated (this behaviour is implemented due to the fact that Neo4j relationships can have exactly one relationship type).
Graph preprocessing with BlueGraph¶
Semantic property encoding¶
Updates to the encoders:
Word2VecModelis renamed to
Doc2VecEncoderand is inherited from
The above-mentioned changes allow using the BlueGraph’s encoders as a part of
Downstream tasks with BlueGraph¶
Similarity processor updates:
Smarter handling of elements not existing in the index (when vectors or similar points are requested,
Segmented Faiss index can be initialized without vectors, the model can be trained on the first call to
Embedding pipeline updates:
Added basic prediction interface (the
get_similar_pointsto be able to query similarity for the unknown vectors;
Optimized embedding pipeline memory usage: embedding table is not stored explicitly, but is a part of Faiss index.
Embedder is a mini-service for retrieving embedding vectors and similar points distributed as a part of BlueGraph. A detailed description of the API can be found here. Two examples can be found in the Embedder API for NCIt term embedding notebook and Embedder API for node embedding.
This release includes the following updates to the service:
- Embedder app can predict vectors for unseen points, the following formats can be passed on the input
raw: raw data as is
json_pgframe: a JSON representation of a PGFrame
nexus_dataset: endpoint, bucket, resource id and a Nexus token (in the request header), fetches the dataset by resource ID, downloads it and creates a PGFrame (dataset is a JSON representation of a PGFrame).
API changes: the POST method for
similar-points/operates on unseen points;
Dockerfile fix (smaller image size), dockerignore updates
Embedder app can fetch local models from the directory (specified in the configs).