搜索快捷键 cmd + k | ctrl + k
duckpgq

支持 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 []