17.3.14 Inferring Embeddings for a Supervised EdgeWise Model

You can use a trained model to infer embeddings for unseen nodes and store them in the database as described in the following code:

opg4j> var edgeVectors = model.inferEmbeddings(fullGraph, testEdges).flattenAll()
opg4j> edgeVectors.write().
         db().
         name("edge vectors").
         tablename("edgeVectors").  
         overwrite(true).             
         store()
PgxFrame edgeVectors = model.inferEmbeddings(fullGraph, testEdges).flattenAll();
edgeVectors.write()
    .db()
    .name("edge vectors")
    .tablename("edgeVectors") 
    .overwrite(true)            
    .store();
edge_vectors = model.infer_embeddings(full_Graph, test_edges).flatten_all()
edge_vectors.write().db().table_name("table_name").name("edge_vectors").overwrite(True).store()
The schema for the edgeVectors will be as follows without flattening (flattenAll splits the vector column into separate double-valued columns):
+---------------------------------------------------------------+
| edgeId                                | embedding             |
+---------------------------------------------------------------+

All the preceding examples assume that you are inferring the embeddings for a model in the current logged in database. If you must infer embeddings for the model in a different database, then you must additionally provide the database credentials such as username, password and JDBC URL to the inferEmbeddings method. Refer to Inferring Embeddings for a Model in Another Database for an example.