15.4.1 Loading a Graph
The following describes the steps for loading a graph:
- 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()
- 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)