我的数据库里有一个很大的Graph,里面有其他的东西,但我只是拿来做个样本。
我有一个场景,我到达节点6,问了不同的问题。根据父节点的不同,问题也不同。如果是节点1,问题也不同,对于节点2,问题也不同。
当我到达节点6时,我想检测它沿着哪条路径到达节点6。有什么方法可以做到这一点吗?
这是我的创建密码
CREATE (feat1:FEATURE {name: 'Login', desc: 'Customer Login'}),
(feat2:FEATURE {name: 'Profile', desc: 'Customer PROFILE'}),
(R1:RULE {name:'R1',question:'q1'}),
(Auth1:THREAT {name: 'auth1', desc: '', impact: ''}),
(Auth2:THREAT {name: 'auth2', desc: '' ,impact: ''}),
(av_WEB_LOG:Attack_Vector {name: 'WEB_LOG',
desc: ''}),
(feat1)-[:HAS]->(Auth1),
(feat2)-[:HAS]->(Auth2),
(feat2)-[:HAS]->(Auth1),
(Auth1)-[:HAS]->(R1),
(Auth2)-[:HAS]->(R1),
(R1)-[:HAS]->(av_WEB_LOG),
1条答案
按热度按时间lxkprmvk1#
这个简单的命令档会告诉您web_login是否有来自Login或Profile的路径。请注意,CASE WHEN ELSE只会给予您一个结果,可能是path1或path2,也可能是没有路径。符号[:HAS*3]表示从Login到目的节点有3个跳跃。