15.4.1 Loading a Graph

The following describes the steps for loading a graph:
  1. Create a Session and an Analyst.
    cd /opt/oracle/graph/
    ./bin/opg4j
    // starting the shell will create an implicit session and analyst
    opg4j> import oracle.pgx.config.mllib.ActivationFunction
    opg4j> import oracle.pgx.config.mllib.WeightInitScheme
    opg4j> var session = Pgx.createSession("my-session")
    opg4j> var analyst = session.createAnalyst()
    import oracle.pgx.api.*;
    import oracle.pgx.api.mllib.SupervisedEdgeWiseModel;
    import oracle.pgx.api.filter.EdgeFilter;
    import oracle.pgx.api.frames.*;
    import oracle.pgx.config.mllib.ActivationFunction;
    import oracle.pgx.config.mllib.GraphWiseConvLayerConfig;
    import oracle.pgx.config.mllib.GraphWisePredictionLayerConfig;
    import oracle.pgx.config.mllib.SupervisedEdgeWiseModelConfig;
    import oracle.pgx.config.mllib.WeightInitScheme;
    PgxSession session = Pgx.createSession("my-session");
    Analyst analyst = session.createAnalyst();
    session = pypgx.get_session(session_name="my-session")
    analyst = session.create_analyst()
  2. Load the graph.
    opg4j> var fullGraph = session.readGraphWithProperties("<path_to_movielens.json>")
    opg4j> var filter = EdgeFilter.fromPgqlResultSet(session.queryPgql("SELECT e FROM movielens MATCH (v1) -[e]-> (v2) WHERE ID(e) % 4 > 0"), "e")
    opg4j> var trainGraph = fullGraph.filter(filter)
    opg4j> var testEdges = fullGraph.getEdges().
                         stream().
                         filter(e -> !trainGraph.hasEdge(e.getId())).
                         collect(Collectors.toList())
    PgxGraph fullGraph = session.readGraphWithProperties("<path_to_movielens.json>");
    EdgeFilter filter = EdgeFilter.fromPgqlResultSet(session.queryPgql("SELECT e FROM movielens MATCH (v1) -[e]-> (v2) WHERE ID(e) % 4 > 0"), "e");
    PgxGraph trainGraph = fullGraph.filter(filter);
    List<PgxEdge> testEdges = fullGraph.getEdges()
                                .stream()
                                .filter(e -> !trainGraph.hasEdge(e.getId()))
                                .collect(Collectors.toList());
    from pypgx.api.filters import EdgeFilter
    full_graph = session.read_graph_with_properties("<path_to_movielens.json>")
    edge_filter = EdgeFilter.from_pgql_result_set(
        session.query_pgql("SELECT e FROM movielens MATCH (v1) -[e]-> (v2) WHERE ID(e) % 4 > 0"), "e"
    )
    train_graph = full_graph.filter(edge_filter)
    test_edges = []
    train_edges = train_graph.get_edges()
    for e in full_graph.get_edges():
        if(not train_edges.contains(e)):
            test_vertices.append(e)