在java中的neo4j嵌入式数据库中,我应该如何检查两个节点是否相互关联?
我想要语法或教程链接,我已经看过neo4j网站,但没有找到它.
谢谢.
在此cypher查询中,将返回与STATUS ="on"属性相互关联的节点之间的最长路径/路径,但我还想获得路径/路径的最后一个节点.
查询:
START n=node(*)
MATCH p=n-[rels:INCLUDE*]->m
WHERE ALL (rel IN rels
WHERE rel.status='on')
WITH COLLECT(p) AS paths, MAX(length(p)) AS maxLength
RETURN FILTER(path IN paths
WHERE length(path)= maxLength) AS longestPaths
Run Code Online (Sandbox Code Playgroud)
我该如何将其添加到查询中?谢谢.
当我读到这两个时,我认为他们两个都在解释相同的方法,我用谷歌搜索但没有发现任何东西.实施方面有区别吗?Cassandra本身就是二级索引,但倒排索引必须由我自己实现?
顺便说一句,哪个搜索速度更快?
我想编写一个cypher查询,它查找节点中与STATUS ="on"属性相互关系的所有最长路径,这是我到目前为止所做的:
start n=node(*)
match p = n-[r:INCLUDE*..]->m
with n,MAX(length(p)) as l
match p = n-[r:INCLUDE*..]->m
WHERE all(rel in r
where rel.status='on' AND (length(p) = l) )
return p,l
Run Code Online (Sandbox Code Playgroud)
它返回3个1,2和3长度的路径,不仅是最长的路径,我的查询应该只找到最长的路径,我的意思是如果有8个路径适合我的第一个where条件(where rel.status='on'
),长度为1, 2,3,3,4,6,6,6,只返回长度为6的三条路径.
我该怎么办?
请指导我,我是neo4j的新手,并尝试过很多但除了头晕之外没有任何东西,我会非常感谢你的帮助.
我考虑用C#编写桌面软件,然后从sql server读取/写入数据,我可以在没有安装sql server的系统上运行这个软件.
我看到了stackoverflow的两个链接,但没有得到我的答案.
我想知道能否做到?
如果有,怎么样?
提前致谢.