【问题标题】:Neo4j return nodes indirectly connected to each other with merged relationshipNeo4j 返回节点之间通过合并关系间接连接
【发布时间】:2014-07-14 12:45:05
【问题描述】:

我有一个数据集,其中包含以下查询 返回整个拓扑。

MATCH (na:node)-[ra:composition]-(ia:interface)-[rb:compound]-(ib:interface)-[rc:composition]-(nb:node)
RETURN na,ia,ib,nb
LIMIT 1000

我想将 ia 和 ib 合并为一个关系 这样我只会让节点相互连接,而不是它们的 中间接口。

像这样:

(na:node)-[r:CONNECTED_TO]-(nb:node)

有人知道怎么做吗?

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    我不完全确定我是否正确理解你想要做什么,但从臀部射击:

    MATCH (na:node)-[ra:composition]-(ia:interface)-[rb:compound]-(ib:interface)-[rc:composition]-(nb:node)
    WITH na,nb
    LIMIT 1000
    MERGE (na)-[:CONNECTED_TO]-(nb)
    RETURN count(*)
    

    运行此查询,直到 count 等于 0

    【讨论】:

    • 谢谢,我不想修改数据。我只想显示信息较少的数据。也就是说,我想看看节点是如何相互连接的,但我不关心看到反过来连接节点的中间接口。
    • 那你为什么不直接返回 na,nb 呢?
    • 然后我没有得到任何关系,并且节点看起来它们没有相互连接,即使它们通过 ia 和 ib 间接相互连接
    • 好的,我明白你的意思了,Neo4j 浏览器中的默认可视化只能显示那里的内容。你无法以不同的方式形象化它。如果你真的想做这些事情,你可以使用 D3js、Sigma.js 或 Vivagraph.js 来创建你自己的可视化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多