支持 SQL/PGQ 和图算法的扩展
维护者: Dtenwolde
安装和加载
INSTALL duckpgq FROM community;
LOAD duckpgq;
示例
CREATE TABLE Person AS SELECT * FROM 'https://gist.githubusercontent.com/Dtenwolde/2b02aebbed3c9638a06fda8ee0088a36/raw/8c4dc551f7344b12eaff2d1438c9da08649d00ec/person-sf0.003.csv';
CREATE TABLE Person_knows_person AS SELECT * FROM 'https://gist.githubusercontent.com/Dtenwolde/81c32c9002d4059c2c3073dbca155275/raw/8b440e810a48dcaa08c07086e493ec0e2ec6b3cb/person_knows_person-sf0.003.csv';
CREATE PROPERTY GRAPH snb
VERTEX TABLES (
Person
)
EDGE TABLES (
Person_knows_person SOURCE KEY (Person1Id) REFERENCES Person (id)
DESTINATION KEY (Person2Id) REFERENCES Person (id)
LABEL knows
);
FROM GRAPH_TABLE (snb
MATCH (a:Person)-[k:knows]->(b:Person)
COLUMNS (a.id, b.id)
)
LIMIT 1;
FROM GRAPH_TABLE (snb
MATCH p = ANY SHORTEST (a:person)-[k:knows]->{1,3}(b:Person)
COLUMNS (a.id, b.id, path_length(p))
)
LIMIT 1;
FROM local_clustering_coefficient(snb, person, knows);
DROP PROPERTY GRAPH snb;
关于 duckpgq
DuckPGQ 扩展支持 SQL/PGQ 语法,该语法是 ISO 制定的官方 SQL:2023 标准的一部分。
它引入了可视化图模式匹配和更简洁的路径查找语法。欲了解更多信息,请参阅 DuckPGQ 文档。
免责声明: 由于此扩展是 CWI 数据库架构小组正在进行的研究项目的一部分,某些功能可能仍在开发中。感谢您的理解和耐心,我们将持续改进它。
新增函数
function_name | 函数类型 | description | comment | examples |
---|---|---|---|---|
cheapest_path_length | 标量 | NULL | NULL | [] |
create_csr_edge | 标量 | NULL | NULL | [] |
create_csr_vertex | 标量 | NULL | NULL | [] |
create_property_graph | table | NULL | NULL | [] |
create_vertex_table | pragma | NULL | NULL | [] |
csr_get_w_type | 标量 | NULL | NULL | [] |
delete_csr | 标量 | NULL | NULL | [] |
describe_property_graph | table | NULL | NULL | [] |
drop_property_graph | table | NULL | NULL | [] |
duckpgq_match | table | NULL | NULL | [] |
get_csr_e | table | NULL | NULL | [] |
get_csr_ptr | table | NULL | NULL | [] |
get_csr_v | table | NULL | NULL | [] |
get_csr_w | table | NULL | NULL | [] |
get_pg_ecolnames | table | NULL | NULL | [] |
get_pg_etablenames | table | NULL | NULL | [] |
get_pg_vcolnames | table | NULL | NULL | [] |
get_pg_vtablenames | table | NULL | NULL | [] |
iterativelength | 标量 | NULL | NULL | [] |
iterativelength2 | 标量 | NULL | NULL | [] |
iterativelengthbidirectional | 标量 | NULL | NULL | [] |
local_clustering_coefficient | 标量 | NULL | NULL | [] |
local_clustering_coefficient | table | NULL | NULL | [] |
pagerank | 标量 | NULL | NULL | [] |
pagerank | table | NULL | NULL | [] |
reachability | 标量 | NULL | NULL | [] |
shortestpath | 标量 | NULL | NULL | [] |
show_property_graphs | pragma | NULL | NULL | [] |
weakly_connected_component | 标量 | NULL | NULL | [] |
weakly_connected_component | table | NULL | NULL | [] |