Neo4j 应用案例——电子邮件检测

问题描述

鉴于互联网泄密事件频发,电子邮箱地址已经批量流入数据黑市。存在一些机构从数据黑市批量采购这些电子邮箱,然后批量发送垃圾电子邮件甚至非法电子邮件,给用户带来很大的烦恼,每个用户都会频繁收到大量垃圾电子邮件,以至于邮箱的价值已经大打折扣。对各种垃圾电子邮件或者违法行为进行及时的监控、追踪,必要时对犯罪嫌疑人采取抓捕行动,成为互联网安全的基本内容之一。

1. 案例1——监控“发票”垃圾邮件传播情况

(1)需求描述:展示电子邮件标题含有“普通发票”这一关键词的所有电子邮件的关系图谱。
(2)登录微云数聚公司的网站:http://we-yun.com:7474/
(3)执行程序。

match m=(s:Person)-->(e:Email)-->(r:Person) 
where e.title =~'.*普通发票.*' return m limit 15;

(4)执行结果。
在这里插入图片描述

2. 案例2——寻找“主犯”

(1)需求描述:寻找“主犯”——展示电子邮件标题含有“发票”这一关键词且发送量超过105份的所有电子邮件的关系图谱。
(2)登录微云数聚公司的网站:http://we-yun.com:7474/
(3)执行程序。

match(s:Person)-->(e:Email)-->(r:Person)
where e.title =~ '.*发票.*'
with s,count(e) as num,collect(e) aS emails,
collect(r) as receives where num >105
return s,emails,receives

(4)执行结果。
在这里插入图片描述

3. 邮箱检测示范案例

(1)功能:实现垃圾邮件检测的创建。
(2)执行程序。

create
(A:Person{account:'[email protected]'}),
(B:Person{account:'[email protected]'}),
(C1:Person{account:'mdslkamd;[email protected]'}),
(C2:Person{account:'[email protected]'}),
(C3:Person{account:'[email protected]'}),
(C4:Person{account:'[email protected]'}),
(C5:Person{account:'[email protected]'}),
(C6:Person{account:'[email protected]'}),
(D1:Person{account:'[email protected]'}),
(D2:Person{account:'[email protected]'}),
(D3:Person{account:'[email protected]'}),
(D4:Person{account:'[email protected]'}),
(D5:Person{account:'[email protected]'}),

(E1:Email{time:'20190301 18:21:02',title:'发票'}),
(E2:Email{time:'20190301 18:21:02',title:'发票'}),
(E3:Email{time:'20190301 18:21:02',title:'发票'}),
(E4:Email{time:'20190301 18:21:02',title:'发票'}),
(E5:Email{time:'20190301 18:21:02',title:'发票'}),
(E6:Email{time:'20190301 18:21:02',title:'发票'}),
(F1:Email{time:'20190301 18:21:02',title:'招聘'}),
(F2:Email{time:'20190301 18:21:02',title:'招聘'}),
(F3:Email{time:'20190301 18:21:02',title:'招聘'}),
(F4:Email{time:'20190301 18:21:02',title:'招聘'}),
(F5:Email{time:'20190301 18:21:02',title:'招聘'}),

(A)-[:SEND]->(E1)-[:TO]->(C1),
(A)-[:SEND]->(E2)-[:TO]->(C2),
(A)-[:SEND]->(E3)-[:TO]->(C3),
(A)-[:SEND]->(E4)-[:TO]->(C4),
(A)-[:SEND]->(E5)-[:TO]->(C5),
(A)-[:SEND]->(E6)-[:TO]->(C6),

(B)-[:SEND]->(F1)-[:TO]->(D1),
(B)-[:SEND]->(F2)-[:TO]->(D2),
(B)-[:SEND]->(F3)-[:TO]->(D3),
(B)-[:SEND]->(F4)-[:TO]->(D4),
(B)-[:SEND]->(F5)-[:TO]->(D5)
return *

(3)执行结果。
在这里插入图片描述
(4)监测邮件标题含有“招聘”的发件人、邮件、收件人及其关系。

执行程序:

match m =(s:Person)-->(e:Email)-->(p:Person)
where e.title =~'.*招聘.*'
return m

执行结果。
在这里插入图片描述

发布了36 篇原创文章 · 获赞 42 · 访问量 190万+

猜你喜欢

转载自blog.csdn.net/fufu_good/article/details/104596750