def test_demo(data_dir): image, ci = get_gs_image_on_ci_env() if ci: sess = graphscope.session( show_log=True, num_workers=1, k8s_gs_image=image, ) else: sess = graphscope.session( show_log=True, num_workers=1, ) graph = load_ldbc(sess, data_dir) # Interactive engine interactive = sess.gremlin(graph) sub_graph = interactive.subgraph( # noqa: F841 'g.V().hasLabel("person").outE("knows")') # Analytical engine # project the projected graph to simple graph. simple_g = sub_graph.project_to_simple(v_label="person", e_label="knows") pr_result = graphscope.pagerank(simple_g, delta=0.8) tc_result = graphscope.triangles(simple_g) # add the PageRank and triangle-counting results as new columns to the property graph # FIXME: Add column to sub_graph sub_graph.add_column(pr_result, {"Ranking": "r"}) sub_graph.add_column(tc_result, {"TC": "r"}) # GNN engine sess.close()
def test_demo_distribute(data_dir, modern_graph_data_dir): image, ci = get_gs_image_on_ci_env() if ci: sess = graphscope.session( show_log=True, num_workers=2, k8s_gs_image=image, ) else: sess = graphscope.session( show_log=True, num_workers=2, ) graph = load_ldbc(sess, data_dir) # Interactive engine interactive = sess.gremlin(graph) sub_graph = interactive.subgraph( # noqa: F841 'g.V().hasLabel("person").outE("knows")') person_count = (interactive.execute( 'g.V().hasLabel("person").outE("knows").bothV().dedup().count()').all( ).result()[0]) knows_count = (interactive.execute( 'g.V().hasLabel("person").outE("knows").count()').all().result()[0]) interactive2 = sess.gremlin(sub_graph) sub_person_count = interactive2.execute("g.V().count()").all().result()[0] sub_knows_count = interactive2.execute("g.E().count()").all().result()[0] assert person_count == sub_person_count assert knows_count == sub_knows_count # Analytical engine # project the projected graph to simple graph. simple_g = sub_graph.project_to_simple(v_label="person", e_label="knows") pr_result = graphscope.pagerank(simple_g, delta=0.8) tc_result = graphscope.triangles(simple_g) # add the PageRank and triangle-counting results as new columns to the property graph # FIXME: Add column to sub_graph sub_graph.add_column(pr_result, {"Ranking": "r"}) sub_graph.add_column(tc_result, {"TC": "r"}) # test subgraph on modern graph mgraph = load_modern_graph(sess, modern_graph_data_dir) # Interactive engine minteractive = sess.gremlin(mgraph) msub_graph = minteractive.subgraph( # noqa: F841 'g.V().hasLabel("person").outE("knows")') person_count = (minteractive.execute( 'g.V().hasLabel("person").outE("knows").bothV().dedup().count()').all( ).result()[0]) msub_interactive = sess.gremlin(msub_graph) sub_person_count = msub_interactive.execute( "g.V().count()").all().result()[0] assert person_count == sub_person_count # GNN engine sess.close()
def test_project_to_simple_string_eprop(graphscope_session): data_dir = os.path.expandvars("${GS_TEST_DIR}/load_ldbc") g = load_ldbc(graphscope_session, data_dir) sg = g.project_to_simple(v_label="person", e_label="knows", v_prop="firstName", e_prop="creationDate")
def test_demo(data_dir): gs_image, gie_manager_image = get_gs_image_on_ci_env() sess = graphscope.session( num_workers=1, k8s_gs_image=gs_image, k8s_gie_graph_manager_image=gie_manager_image, k8s_coordinator_cpu=0.5, k8s_coordinator_mem="2500Mi", k8s_vineyard_cpu=0.1, k8s_vineyard_mem="512Mi", k8s_engine_cpu=0.1, k8s_engine_mem="1500Mi", k8s_vineyard_shared_mem="2Gi", ) graph = load_ldbc(sess, data_dir) # Interactive engine interactive = sess.gremlin(graph) sub_graph = interactive.subgraph( # noqa: F841 'g.V().hasLabel("person").outE("knows")') # Analytical engine # project the projected graph to simple graph. simple_g = sub_graph.project_to_simple(v_label="person", e_label="knows") pr_result = graphscope.pagerank(simple_g, delta=0.8) tc_result = graphscope.triangles(simple_g) # add the PageRank and triangle-counting results as new columns to the property graph # FIXME: Add column to sub_graph sub_graph.add_column(pr_result, {"Ranking": "r"}) sub_graph.add_column(tc_result, {"TC": "r"}) # GNN engine sess.close()
def test_demo_distribute(gs_session_distributed, data_dir, modern_graph_data_dir): graph = load_ldbc(gs_session_distributed, data_dir) # Interactive engine interactive = gs_session_distributed.gremlin(graph) sub_graph = interactive.subgraph( # noqa: F841 'g.V().hasLabel("person").outE("knows")') person_count = (interactive.execute( 'g.V().hasLabel("person").outE("knows").bothV().dedup().count()').all( ).result()[0]) knows_count = (interactive.execute( 'g.V().hasLabel("person").outE("knows").count()').all().result()[0]) interactive2 = gs_session_distributed.gremlin(sub_graph) sub_person_count = interactive2.execute("g.V().count()").all().result()[0] sub_knows_count = interactive2.execute("g.E().count()").all().result()[0] assert person_count == sub_person_count assert knows_count == sub_knows_count # Analytical engine # project the projected graph to simple graph. simple_g = sub_graph.project_to_simple(v_label="person", e_label="knows") pr_result = graphscope.pagerank(simple_g, delta=0.8) tc_result = graphscope.triangles(simple_g) # add the PageRank and triangle-counting results as new columns to the property graph # FIXME: Add column to sub_graph sub_graph.add_column(pr_result, {"Ranking": "r"}) sub_graph.add_column(tc_result, {"TC": "r"}) # test subgraph on modern graph mgraph = load_modern_graph(gs_session_distributed, modern_graph_data_dir) # Interactive engine minteractive = gs_session_distributed.gremlin(mgraph) msub_graph = minteractive.subgraph( # noqa: F841 'g.V().hasLabel("person").outE("knows")') person_count = (minteractive.execute( 'g.V().hasLabel("person").outE("knows").bothV().dedup().count()').all( ).result()[0]) msub_interactive = gs_session_distributed.gremlin(msub_graph) sub_person_count = msub_interactive.execute( "g.V().count()").all().result()[0] assert person_count == sub_person_count
def test_demo(gs_session, data_dir): graph = load_ldbc(gs_session, data_dir) # Interactive engine interactive = gs_session.gremlin(graph) sub_graph = interactive.subgraph( # noqa: F841 'g.V().hasLabel("person").outE("knows")') # Analytical engine # project the projected graph to simple graph. simple_g = sub_graph.project_to_simple(v_label="person", e_label="knows") pr_result = graphscope.pagerank(simple_g, delta=0.8) tc_result = graphscope.triangles(simple_g) # add the PageRank and triangle-counting results as new columns to the property graph # FIXME: Add column to sub_graph sub_graph.add_column(pr_result, {"Ranking": "r"}) sub_graph.add_column(tc_result, {"TC": "r"})
def ldbc_graph(graphscope_session): graph = load_ldbc(graphscope_session, prefix="{}/ldbc_sample".format(test_repo_dir)) yield graph graph.unload()
def test_demo_distribute(data_dir, modern_graph_data_dir): gs_image, gie_manager_image = get_gs_image_on_ci_env() sess = graphscope.session( num_workers=1, k8s_gs_image=gs_image, k8s_gie_graph_manager_image=gie_manager_image, k8s_coordinator_cpu=0.5, k8s_coordinator_mem="2500Mi", k8s_vineyard_cpu=0.1, k8s_vineyard_mem="512Mi", k8s_engine_cpu=0.1, k8s_engine_mem="1500Mi", k8s_etcd_cpu=2, k8s_vineyard_shared_mem="2Gi", k8s_volumes=get_k8s_volumes(), ) graph = load_ldbc(sess, data_dir) # Interactive engine interactive = sess.gremlin(graph) sub_graph = interactive.subgraph( # noqa: F841 'g.V().hasLabel("person").outE("knows")' ) person_count = ( interactive.execute( 'g.V().hasLabel("person").outE("knows").bothV().dedup().count()' ) .all() .result()[0] ) knows_count = ( interactive.execute('g.V().hasLabel("person").outE("knows").count()') .all() .result()[0] ) interactive2 = sess.gremlin(sub_graph) sub_person_count = interactive2.execute("g.V().count()").all().result()[0] sub_knows_count = interactive2.execute("g.E().count()").all().result()[0] assert person_count == sub_person_count assert knows_count == sub_knows_count # Analytical engine # project the projected graph to simple graph. simple_g = sub_graph.project_to_simple(v_label="person", e_label="knows") pr_result = graphscope.pagerank(simple_g, delta=0.8) tc_result = graphscope.triangles(simple_g) # add the PageRank and triangle-counting results as new columns to the property graph # FIXME: Add column to sub_graph sub_graph.add_column(pr_result, {"Ranking": "r"}) sub_graph.add_column(tc_result, {"TC": "r"}) # test subgraph on modern graph mgraph = load_modern_graph(sess, modern_graph_data_dir) # Interactive engine minteractive = sess.gremlin(mgraph) msub_graph = minteractive.subgraph( # noqa: F841 'g.V().hasLabel("person").outE("knows")' ) person_count = ( minteractive.execute( 'g.V().hasLabel("person").outE("knows").bothV().dedup().count()' ) .all() .result()[0] ) msub_interactive = sess.gremlin(msub_graph) sub_person_count = msub_interactive.execute("g.V().count()").all().result()[0] assert person_count == sub_person_count # GNN engine sess.close()