2
我有一个返回两个Tag
节点之间的TagSynonym
节点的Cypher查询:Neo4j的暗号递归查询
MATCH (t:Tag)<-[:FOR]-(ts:TagSynonym)-[:HAS]->(s:Tag)
WHERE t.id = {tagId} AND s.id = {synonymId}
RETURN ts
此外,s:Tag
节点本身可以有一个像自己的TagSynonym
节点:
(s)<-[:FOR]-(ts:TagSynonym)-[:HAS]->(ss:Tag)
和ss
等可以有其自己的TagSynonym
等等。
这个结构的深度可能相当大。
请帮我以此来回报所有TagSynonym
成立于t:Tag
及其所有同义词接班人的扩展这个查询(标签为s:Tag
,更深到这个递归结构的结束。)
谢谢您的回答。我道歉,但没有apoc可以实现吗?我以前尝试安装apoc,但失败(特别是对于基于嵌入式Neo4j的测试),并在我的应用程序中使用纯Cypher查询。 – alexanoid
我添加了一个非APOC查询,可能适合你。我不确定它会如何与您的数据行为。也要警惕路径扩展中裸露的'*';它可能会很快失去控制,这取决于你的Tag和TagSynonym节点的复杂关系。 –
谢谢,它正在工作! – alexanoid