TDH社区版本次发布StellarDB社区版开发版,让更多用户地低资源成本上手体验企业级图数据库。如果您感兴趣的话,可以访问星环官网进行产品下载,StellarDB社区开发版是免费提供给大家的,欢迎大家下载使用。
StellarDB社区开发版相关链接
操作前提
您需要先基于安装手册完成StellarDB图数据库的安装后才可以开始进行下方操作。
金融技术的飞速进步促使金融机构规模急剧扩张,同时,洗钱犯罪活动亦随之进化,变得更为新颖、专业化、团伙导向且难以察觉,给反洗钱工作带来严峻挑战。在此背景下,本演示将以StellarDB的KGExplorer工具为核心,展示如何分析并可视化银行转账记录,从中抽丝剥茧,揭示潜在的反洗钱犯罪线索。
节点名称(label) | 节点包含的属性(数据的类型) |
---|---|
客户 | 姓名(STRING)、地址(STRING) |
受益人 | 姓名(STRING)、地址(STRING) |
银行 | 名称(STRING) |
交易 | id(STRING)、金额(INT) |
边名称(label) | 边的起始节点与指向节点 |
---|---|
发起交易 | 客户指向交易 |
转账给 | 交易执行受益人 |
持有账户 | 客户指向银行 |
步骤一 进入KG Explorer后,点击右上角“创建图”按钮,填写图名称后开始创建。
注意:StellarDB社区开发版创建图时,副本数只能为1。
按alt/command+左键单击。Tip:将点的颜色进行差异化定义,以便于后续观察分析。
在画布中添加节点,将节点的的“label”定义为“客户”,并为其添加“姓名”与“地址”属性,属性类型为均为“STRING”,添加完成后点击“保存”。
在画布中添加节点后,将节点的“label”定义为“交易”,并为其添加“id”属性,属性类型为“STRING”,添加“金额”属性,属性类型为“INT”。添加完成后点击“保存”。
重复上述操作,分别添加“银行”与“受益人”等节点,并为其添加对应的属性及属性的数据类型(具体属性参考第二部分节点介绍中的表格)。
按住shift键同时选中两个节点完成关系添加。
注意,关系具有指向性,先点击为起点,后点击为终点。
按住shift键,依次点击“客户”与“交易”,创建“客户”与“交易”节点之间的关系,label为“发起交易”,添加完成后点击“保存”。
重复上述操作,分别在“客户”与“银行”之间创建“持有账户”关系、“交易”与“受益人”之间创建“转账给”关系。
此时,图谱已经创建完成,点击右上角“发布”后,即可导入数据进行数据分析。
注意:在上传文件之前,需要提前对‘hive’用户进行赋权,否则上传时将报错。操作方式有两种,推荐使用Guardian赋权的方式解决。
1. 在Guardian服务界面“一键开启安全”后,访问Guardian Server界面对hive用户赋予 HDFS 的 ‘/’ 目录可读可写可执行的权限。(推荐操作)
2. 未开启Guardian时,在服务端初始化客户端后,执行如下命令:
export HADOOP_USER_NAME=hdfs
hdfs dfs -chmod -R 777 /
在图管理页面找到刚刚创建的图谱,点击“导数”进入数据导入页面。
在“数据导入”页面中选择“文件管理”,点击“上传文件”后,选中您刚刚下载的csv文件,将其上传至KG。上传成功后可以看到数据源文件列表中有对应的文件显示。
此时需点击编辑,将“col0”列的列名改为“客户姓名”,将“交易金额”列的数据类型改为“int”。
然后,返回csv导数页面,按照如下顺序,依次点击选中目标数据集。注意:此处需点击7次 ‘添加’,然后将添加文件分别设定为4个“点”与3条“边”。
先对4个点数据配置属性映射。具体映射配置的内容为:
第一个点数据对应点的uid为“客户姓名”,label映射为“客户”;下方属性映射:图属性“姓名”对应的映射列名为“客户姓名”、“地址”对应“客户地址”。可参照下图进行配置:
第二个点数据“交易”属性配置如下所示:
第三个点数据“受益人”属性配置如下所示:
第四个点数据“银行”属性配置如下所示:
接着对边数据进行起点uid、终点uid映射配置。
配置完成后,点击右下角“导入”,等待数秒钟后,即可完成数据导入。
Note:导入完成后可以点击右侧感叹号查看是否有失败的,如果有的话仔细查看是否前面的步骤配置有问题,进行重新映射或修改点/边数据。
回到首页进入图探索页面
操作示例一:展示客户与银行节点之间的关系
MATCH (c:客户)-[a:持有账户]->(b:银行)
RETURN c,a,b
limit 100
操作示例二:展示客户节点、交易节点、受益人节点之间的关系。
MATCH (c:客户)-[f:发起交易]->(t:交易)-[z:转账给]->(s:受益人)
RETURN c,f,t,z,s
limit 50
检测大额交易:金额超过1000万的交易
MATCH (c:客户)-[f:发起交易]->(t:交易)-[z:转账给]->(s:受益人)
WHERE t.金额 > 10000000
RETURN c,f,t,z,s
检测频繁的小额交易:金额10000以内,且超过10笔交易
MATCH (c:客户)-[f:发起交易]->(t:交易)
WHERE t.金额 < 10000
WITH c, COUNT(t) AS transactionCount
WHERE transactionCount > 10
RETURN transactionCount,c
查询频繁交易的客户与受益人,超过5次的相同客户与受益人的转账,并展示交易次数
MATCH (c:客户)-[:发起交易]->(t:交易)-[:转账给]->(b:受益人)
WITH c, b, COUNT(t) as transactionCount WHERE transactionCount > 5
RETURN c.姓名 AS 客户名字, b.姓名 AS 受益人名字, transactionCount
ORDER BY transactionCount DESC
找出进行交易次数最多的客户,了解哪些客户最活跃。
MATCH (c:客户)-[:发起交易]->(:交易)
WITH c, COUNT(*) AS transactionCount
ORDER BY transactionCount DESC
LIMIT 10
RETURN c.姓名 AS 客户名字, transactionCount AS 交易次数
基于受益人地址分析资金流向的地域分布。
MATCH (:交易)-[:转账给]->(b:受益人)
WITH b.地址 AS Address, COUNT(*) AS TransferCount
RETURN Address, TransferCount
ORDER BY TransferCount DESC
了解各银行被多少客户持有账户,评估银行的市场占有率。
MATCH (c:客户)-[:持有账户]->(b:银行)
WITH b, COUNT(DISTINCT c) AS accountHolders
RETURN b.名称 AS 银行名称, accountHolders AS 账户持有者数量
以上就是完整的demo教程,希望对您快速上手图数据库有所帮助,如果还有想要学习了解的内容,欢迎多多留言~~
TDH社区版本次发布StellarDB社区版开发版,让更多用户地低资源成本上手体验企业级图数据库。如果您感兴趣的话,可以访问星环官网进行产品下载,StellarDB社区开发版是免费提供给大家的,欢迎大家下载使用。
StellarDB社区开发版相关链接
操作前提
您需要先基于安装手册完成StellarDB图数据库的安装后才可以开始进行下方操作。
金融技术的飞速进步促使金融机构规模急剧扩张,同时,洗钱犯罪活动亦随之进化,变得更为新颖、专业化、团伙导向且难以察觉,给反洗钱工作带来严峻挑战。在此背景下,本演示将以StellarDB的KGExplorer工具为核心,展示如何分析并可视化银行转账记录,从中抽丝剥茧,揭示潜在的反洗钱犯罪线索。
节点名称(label) | 节点包含的属性(数据的类型) |
---|---|
客户 | 姓名(STRING)、地址(STRING) |
受益人 | 姓名(STRING)、地址(STRING) |
银行 | 名称(STRING) |
交易 | id(STRING)、金额(INT) |
边名称(label) | 边的起始节点与指向节点 |
---|---|
发起交易 | 客户指向交易 |
转账给 | 交易执行受益人 |
持有账户 | 客户指向银行 |
步骤一 进入KG Explorer后,点击右上角“创建图”按钮,填写图名称后开始创建。
注意:StellarDB社区开发版创建图时,副本数只能为1。
按alt/command+左键单击。Tip:将点的颜色进行差异化定义,以便于后续观察分析。
在画布中添加节点,将节点的的“label”定义为“客户”,并为其添加“姓名”与“地址”属性,属性类型为均为“STRING”,添加完成后点击“保存”。
在画布中添加节点后,将节点的“label”定义为“交易”,并为其添加“id”属性,属性类型为“STRING”,添加“金额”属性,属性类型为“INT”。添加完成后点击“保存”。
重复上述操作,分别添加“银行”与“受益人”等节点,并为其添加对应的属性及属性的数据类型(具体属性参考第二部分节点介绍中的表格)。
按住shift键同时选中两个节点完成关系添加。
注意,关系具有指向性,先点击为起点,后点击为终点。
按住shift键,依次点击“客户”与“交易”,创建“客户”与“交易”节点之间的关系,label为“发起交易”,添加完成后点击“保存”。
重复上述操作,分别在“客户”与“银行”之间创建“持有账户”关系、“交易”与“受益人”之间创建“转账给”关系。
此时,图谱已经创建完成,点击右上角“发布”后,即可导入数据进行数据分析。
注意:在上传文件之前,需要提前对‘hive’用户进行赋权,否则上传时将报错。操作方式有两种,推荐使用Guardian赋权的方式解决。
1. 在Guardian服务界面“一键开启安全”后,访问Guardian Server界面对hive用户赋予 HDFS 的 ‘/’ 目录可读可写可执行的权限。(推荐操作)
2. 未开启Guardian时,在服务端初始化客户端后,执行如下命令:
export HADOOP_USER_NAME=hdfs
hdfs dfs -chmod -R 777 /
在图管理页面找到刚刚创建的图谱,点击“导数”进入数据导入页面。
在“数据导入”页面中选择“文件管理”,点击“上传文件”后,选中您刚刚下载的csv文件,将其上传至KG。上传成功后可以看到数据源文件列表中有对应的文件显示。
此时需点击编辑,将“col0”列的列名改为“客户姓名”,将“交易金额”列的数据类型改为“int”。
然后,返回csv导数页面,按照如下顺序,依次点击选中目标数据集。注意:此处需点击7次 ‘添加’,然后将添加文件分别设定为4个“点”与3条“边”。
先对4个点数据配置属性映射。具体映射配置的内容为:
第一个点数据对应点的uid为“客户姓名”,label映射为“客户”;下方属性映射:图属性“姓名”对应的映射列名为“客户姓名”、“地址”对应“客户地址”。可参照下图进行配置:
第二个点数据“交易”属性配置如下所示:
第三个点数据“受益人”属性配置如下所示:
第四个点数据“银行”属性配置如下所示:
接着对边数据进行起点uid、终点uid映射配置。
配置完成后,点击右下角“导入”,等待数秒钟后,即可完成数据导入。
Note:导入完成后可以点击右侧感叹号查看是否有失败的,如果有的话仔细查看是否前面的步骤配置有问题,进行重新映射或修改点/边数据。
回到首页进入图探索页面
操作示例一:展示客户与银行节点之间的关系
MATCH (c:客户)-[a:持有账户]->(b:银行)
RETURN c,a,b
limit 100
操作示例二:展示客户节点、交易节点、受益人节点之间的关系。
MATCH (c:客户)-[f:发起交易]->(t:交易)-[z:转账给]->(s:受益人)
RETURN c,f,t,z,s
limit 50
检测大额交易:金额超过1000万的交易
MATCH (c:客户)-[f:发起交易]->(t:交易)-[z:转账给]->(s:受益人)
WHERE t.金额 > 10000000
RETURN c,f,t,z,s
检测频繁的小额交易:金额10000以内,且超过10笔交易
MATCH (c:客户)-[f:发起交易]->(t:交易)
WHERE t.金额 < 10000
WITH c, COUNT(t) AS transactionCount
WHERE transactionCount > 10
RETURN transactionCount,c
查询频繁交易的客户与受益人,超过5次的相同客户与受益人的转账,并展示交易次数
MATCH (c:客户)-[:发起交易]->(t:交易)-[:转账给]->(b:受益人)
WITH c, b, COUNT(t) as transactionCount WHERE transactionCount > 5
RETURN c.姓名 AS 客户名字, b.姓名 AS 受益人名字, transactionCount
ORDER BY transactionCount DESC
找出进行交易次数最多的客户,了解哪些客户最活跃。
MATCH (c:客户)-[:发起交易]->(:交易)
WITH c, COUNT(*) AS transactionCount
ORDER BY transactionCount DESC
LIMIT 10
RETURN c.姓名 AS 客户名字, transactionCount AS 交易次数
基于受益人地址分析资金流向的地域分布。
MATCH (:交易)-[:转账给]->(b:受益人)
WITH b.地址 AS Address, COUNT(*) AS TransferCount
RETURN Address, TransferCount
ORDER BY TransferCount DESC
了解各银行被多少客户持有账户,评估银行的市场占有率。
MATCH (c:客户)-[:持有账户]->(b:银行)
WITH b, COUNT(DISTINCT c) AS accountHolders
RETURN b.名称 AS 银行名称, accountHolders AS 账户持有者数量
以上就是完整的demo教程,希望对您快速上手图数据库有所帮助,如果还有想要学习了解的内容,欢迎多多留言~~