tbq
tbq
我在tugraph browser里进行cypher查询(数据大小十几个g)速度过慢,且出现out of memory问题,于是我想用shell运行cypher查询,但是tugraph/tugraph-db-centos7里没有lgraph_cypher命令
# 问题 * 对于如下cypher及执行计划: ``` match (a) with a.id as id unwind [id] as x return x; Execution Plan: Produce Results Project [x] Unwind [_to_list_(id),x] Project [id] All Node Scan...
# 问题描述 子图为TuGraph提供的MovieDemo, Cypher为"match p=(n1)-[r1]->(m:movie)(n2) return n1.login,n2.login", 根据MovieDemo的Schema,n1和n2都只可能是user类型,所以n1.login和n2.login都不应该是"null",但是从结果看不是这样,再次测试发现很多n1,n2都是person类型,这说明(n1)-[r3]->(n2)的限制并没有被应用,从执行计划上看也是这样。 ``` Produce Results Project [n1.login,n2.login] Expand(All) [m m ] All Node Scan [n1] ``` 根据源码看,cypher::PatternGraph::_CollectExpandStepsByDFS的提取最大连通子图的方式本来就不支持环,对于这个cypher,它会先将{n1,r1,m}这个三元组加入,然后将{m,r2,n2}这个三元组加入,然后n1,m,n2这三个点都被访问过那么就不会加入新的三元组,所以就不会处理环。 # 处理意见 对于cypher::PatternGraph::_CollectExpandStepsByDFS这个函数,每次加入新的三元组的时候不应该判断邻点有没有被访问?应该判断边有没有被访问?毕竟三元组事实上是和一条边一一对应的
# Description I used the LDBC-SNB dataset with a Scale Factor of 1. For this test statement below ``` match (n0:Place)(n2)-[r3]->(n3:Place) return count(n3) ``` Running this in both TuGraph and...