0
我有一個簡單的社交信息流的節點,其中幾個節點和關係如下所示:Neo4j的混合使用和不使用擴展關係
row 1: (a) -> (stream) -> (d)
row 2: (a) -> (stream) -> (d) -> (source)
基本上,我想拉都行,但把一些限制源的類型,例如我目前使用的是:
MATCH (a)-[]->(stream)-[]->(d)
OPTIONAL MATCH (d)-[]->(source)
WHERE source.x = 3
RETURN stream, d, source
這很好。幾乎。當source.x = 3時,我得到兩行。這是完美的。但是,當source.x!= 3時,我希望查詢忽略第二行,但由於可選匹配,行仍然出現。
When source.x = 3
row 1. stream, d, null
row 2. stream, d, source
When source.x != 3
row 1. stream, d, null
row 2. stream, d, null
當source.x!= 3時,我希望查詢忽略第二行。因爲它包含(源)節點,但不包含我們想要的節點。輸出應該是這樣的:
row 1. stream, d, null
基本上類似,如果(源)不存在秀行..如果它確實存在,顯示行只有source.x = 3
這是很難按照你的問題。請提供一些實際數據和結果。 – cybersam
@cybersam添加了一個簡化示例 – pewpewlasers