user9
2021 年12 月 22 日 01:39
1
nebula 版本:2.6.0
部署方式:单机
安装方式:Docker
Neo4j的语句:
MATCH(s:tag)-[]->(e:edge)<-[]-(d:tag)
WHERE id(s)=="037cec47-d3cd-4d71"
WITH s, d, COUNT(e) AS intersection
MATCH (s)-[]->(e:edge)
WITH s, d, intersection, collect(id(e)) AS s1
MATCH (d)-[]->(e:edge)
WITH s, d, intersection, s1, collect(id(e)) AS s2
WITH d, ((1.0 * intersection)/SIZE(s1+[x IN s2 WHERE NOT x IN s1])) AS ssim
RETURN d
ORDER BY ssim DESC LIMIT 50
wey
2021 年12 月 22 日 01:47
2
多 MATCH PATTERN 的支持正在加紧进行中,不久之后会合并,在那之前有很多表达确实只能转成多次 query
opened 11:17AM - 15 Oct 21 UTC
type/feature req
1.Optional Match
2.Support syntax "(n:label1:label2), -[e:type1|type2]-"
3.Sup… port multiple patterns "Match pattern1, pattern2 ..."
i.e. MATCH (charlie:Person { name: 'Charlie Sheen' }),(rob:Person { name: 'Rob Reiner' })
4.Support multiple match "Match pattern1 Match pattern2 ..."
i.e. MATCH (charlie:Person { name: 'Charlie Sheen' }) Match(rob:Person { name: 'Rob Reiner' })
closed: Support patterns in WHERE clause, such as "WHERE NOT (me)-[:FRIENDS_WITH]->(other)" https://github.com/vesoft-inc/nebula/issues/3083
wey
2021 年12 月 22 日 04:51
4
这种表达用单 query GO 不太好写
我想帮你看的时候发现您写的这个语句我有点奇怪,比如
user9:
(e:edge)
edge 是 nebula 里的 edge 的概念么?是的话这里写的不对了,因为 ()
是 vertex,[]
才是 edge
https://docs.nebula-graph.com.cn/2.6.1/1.introduction/2.data-model/
user9
2021 年12 月 23 日 03:30
6
您好,就是有多query写法的示例吗?我尝试写了下,但始终不对
wey
2021 年12 月 23 日 05:56
7
MATCH 多 pattern 的支持很快就有了,不过还不支持。(敬请期待哈 PR已经有了,还没合 Implement the multi query parts of openCypher. by CPWstatic · Pull Request #3519 · vesoft-inc/nebula · GitHub )
大多数需要多 pattern 才能表达的 query 在(支持 多 MATCH之前)一个query里没法表达,只能在应用程序通过多次 query 来拼出结果哈。
system
关闭
2022 年1 月 22 日 05:57
8
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。