Esempio n. 1
0
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(
        vertices={"person": ["firstName"]}, edges={"knows": ["creationDate"]}
    )
    sg._project_to_simple()._ensure_loaded()
Esempio n. 2
0
def ldbc_graph_undirected(graphscope_session):
    graph = load_ldbc(
        graphscope_session,
        prefix="{}/ldbc_sample".format(test_repo_dir),
        directed=False,
    )
    yield graph
    del graph
Esempio n. 3
0
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(
        )[0]
    knows_count = interactive.execute(
        'g.V().hasLabel("person").outE("knows").count()').all()[0]
    interactive2 = gs_session_distributed.gremlin(sub_graph)
    sub_person_count = interactive2.execute("g.V().count()").all()[0]
    sub_knows_count = interactive2.execute("g.E().count()").all()[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(vertices={"person": []}, edges={"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
    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(
        )[0]
    msub_interactive = gs_session_distributed.gremlin(msub_graph)
    sub_person_count = msub_interactive.execute("g.V().count()").all()[0]
    assert person_count == sub_person_count
Esempio n. 4
0
def ldbc_graph(graphscope_session):
    graph = load_ldbc(graphscope_session,
                      prefix="{}/ldbc_sample".format(test_repo_dir))
    yield graph
    del graph