Converts a Kuzu query result into an igraph graph object.
Arguments
- query_result
A
kuzu_query_resultobject fromkuzu_execute()that contains a graph.
Details
This function takes a kuzu_query_result object, converts it to a
networkx graph in Python, extracts the nodes and edges into R data frames,
and then constructs an igraph object. It is the final step in the
kuzu_execute -> as_igraph workflow.
Examples
# \donttest{
if (requireNamespace("igraph", quietly = TRUE)) {
conn <- kuzu_connection(":memory:")
kuzu_execute(conn, "CREATE NODE TABLE Person(name STRING,
PRIMARY KEY (name))")
kuzu_execute(conn, "CREATE REL TABLE Knows(FROM Person TO Person)")
kuzu_execute(conn, "CREATE (p:Person {name: 'Alice'}),
(q:Person {name: 'Bob'})")
kuzu_execute(conn, "MATCH (a:Person), (b:Person) WHERE
a.name='Alice' AND
b.name='Bob'
CREATE (a)-[:Knows]->(b)"
)
res <- kuzu_execute(conn, "MATCH (p:Person)-[k:Knows]->(q:Person)
RETURN p, k, q")
g <- as_igraph(res)
print(g)
rm(conn, res, g)
}
#> Error in py_run_string_impl(code, local, convert): ModuleNotFoundError: No module named 'kuzu'
#> Run `reticulate::py_last_error()` for details.
# }
