You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Added release notes, updated docs
* Updated embedder example notebooks (added example model in 'downloads')
* add LOCAL flag to the embedder
* Bugfix in Neo4j, added add_nodes_from_df and add_edges_from_df to PandasPGFrame
This release includes some major bug-fixes, several new features and API changes described below.
6
+
7
+
8
+
Blue Graph's core
9
+
=================
10
+
11
+
PGFrame
12
+
-------
13
+
14
+
Updates to the :code:`PGFrame` interface include:
15
+
16
+
- Added methods:
17
+
- :code:`rename_node_properties` and :code:`rename_edge_properties` for changing property names;
18
+
- :code:`add_nodes_from_df` and :code:`add_edges_from_df` for additing nodes and edges using dataframes.
19
+
- Added the :code:`from_ontology` classmethod for importing (e.g. from Webprotege) ontologies as property graphs.
20
+
- Property values that are added to existing properties are now aggregated into sets (and not replaced as it was before).
21
+
22
+
23
+
Backend support
24
+
===============
25
+
26
+
graph-tool
27
+
----------
28
+
29
+
Fix of a major bug occuring during node merging.
30
+
31
+
32
+
Neo4j
33
+
-----
34
+
35
+
Several minor bugfixes of the Neo4j backend were included in this release. In additon, the interfaces of :code:`pgframe_to_neo4j` has changed:
36
+
37
+
- :code:`NaN` properties are skipped;
38
+
- Node types can be used as Neo4j node labels;
39
+
- 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).
40
+
41
+
42
+
Graph preprocessing with BlueGraph
43
+
==================================
44
+
45
+
46
+
Semantic property encoding
47
+
--------------------------
48
+
49
+
Updates to the encoders:
50
+
51
+
- :code:`Word2VecModel` is renamed to :code:`Doc2VecEncoder` and is inherited from :code:`bluegraph.downstream.Preprocessor`;
52
+
- Wrapped scikit-learn's :code:`TfidfVectorizer` into :code:`TfIdfEncoder` inheriting :code:`bluegraph.downstream.Preprocessor`.
53
+
54
+
The above-mentioned changes allow using the BlueGraph's encoders as a part of :code:`EmbeddingPipeline`).
55
+
56
+
57
+
Downstream tasks with BlueGraph
58
+
===============================
59
+
60
+
61
+
Similarity API
62
+
--------------
63
+
64
+
Similarity processor updates:
65
+
66
+
- Smarter handling of elements not existing in the index (when vectors or similar points are requested, :code:`None` is returned).
67
+
- Segmented Faiss index can be initialized without vectors, the model can be trained on the first call to :code:`add`.
68
+
69
+
70
+
71
+
Embedding pipelines
72
+
--------------------
73
+
74
+
Embedding pipeline updates:
75
+
76
+
- Added basic prediction interface (the :code:`run_prediction` method);
77
+
- Modified :code:`get_similar_points` to be able to query similarity for the unknown vectors;
78
+
- Optimized embedding pipeline memory usage: embedding table is not stored explicitly, but is a part of Faiss index.
79
+
80
+
81
+
Services
82
+
========
83
+
84
+
85
+
Embedder
86
+
--------
87
+
88
+
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 <https://github.com/BlueBrain/BlueGraph/blob/master/services/embedder/api.yaml>`_. Two examples can be found in the `Embedder API for NCIt term embedding <https://github.com/BlueBrain/BlueGraph/blob/master/services/embedder/examples/notebooks/Embedder%20API%20for%20NCIt%20term%20embedding.ipynb>`_ notebook and `Embedder API for node embedding <https://github.com/BlueBrain/BlueGraph/blob/master/services/embedder/examples/notebooks/Embedder%20API%20for%20node%20embedding.ipynb>`_.
89
+
90
+
This release includes the following updates to the service:
91
+
92
+
- Embedder app can predict vectors for unseen points, the following formats can be passed on the input
93
+
* :code:`raw`: raw data as is
94
+
* :code:`json_pgframe`: a JSON representation of a PGFrame
95
+
* :code:`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).
96
+
- API changes: the POST method for :code:`embedding/` and :code:`similar-points/` operates on unseen points;
0 commit comments