担保网络指标统计
Here’s the table of contents: 担保网络指标统计
担保网路的指标统计,在本次的案例中主要实现指定公司和网络深度之后,统计该网络涉及公司和担保关系的数量。
一、担保网络图数据模型
担保网络描述的是公司和公司之间的担保关系,在建模时使用HORGGuaranteeV003标签表示公司,公司之间发生担保的时序指标数据用JSON字符串的形存储在关系属性中。
二、噪音数据处理函数
2.1 时间字段噪音处理函数
// 【标准化时间字段:可选是否对无效时间对象是否去噪】【保留14位LONG类型数字】
// * @param object:时间相关的对象
// * @param isStdDate:无效OBJECT是否默认补充系统时间
// * @param 【可选参数】sort:
// * ASC('asc') 升序排序拿第一条
// * DESC('desc') 降序排序拿第一条
// * RANDOM('random') 随机拿第一条
// * SEQUENCE('sequence') 按照列表序列拿有效的第一条
RETURN olab.standardize.date(202011,true,NULL);
RETURN olab.standardize.date('202011',true,NULL);
RETURN olab.standardize.date('2020-11-26 08:47:38.0',true,NULL);
RETURN olab.standardize.date('2020-11-26T08:47:38',true,NULL);
RETURN olab.standardize.date([20201201,-1,201912,2020,"dasd"],TRUE,'ASC')
2.2 处理担保网络关系指标的噪音数据
担保网络关系指标的数据,指的是公司之间多次担保的时间序列数据。这个时间序列的数据在建模的时候,使用JSON字符串的方式存储在关系的属性中,使用时使用存储过程进行过滤分析。噪音数据的处理对于模型结果的修正是有帮助的,如下的例子是对关系指标中
endDate
字段进行去噪处理。
MATCH p=(n:HORGGuaranteeV003 {name:'中国保利集团有限公司'})-[r1:担保]-(:HORGGuaranteeV003) WITH apoc.convert.fromJsonList(r1.guarantee_detail) AS list LIMIT 100
UNWIND list AS map
RETURN olab.standardize.date(map.endDate,true,NULL)
三、指定公司统计二度以内担保网络指标
3.1 统计公司数量
查询
中国保利集团有限公司
于2019年12月时间切片下的担保网络,统计二度以内实体数量和关系数量
// `中国保利集团有限公司`于2019年12月时间切片下的担保网络,统计实体数量
MATCH p=(n:HORGGuaranteeV003 {name:'中国保利集团有限公司'})-[*..2]-(:HORGGuaranteeV003) WITH p
WITH RELATIONSHIPS(p) AS rels,p
WHERE ALL(rel IN rels WHERE ANY(map IN apoc.convert.fromJsonList(rel.guarantee_detail) WHERE map.defineDate<=20191201000000 AND olab.standardize.date(map.endDate,true,NULL)>=20191201000000))
UNWIND NODES(p) AS node
RETURN SIZE(COLLECT(DISTINCT node)) AS nodeSize
3.2 统计担保关系数量【不是担保行为次数】
// `中国保利集团有限公司`于2019年12月时间切片下的担保网络,统计关系数量
MATCH p=(n:HORGGuaranteeV003 {name:'中国保利集团有限公司'})-[*..2]-(:HORGGuaranteeV003) WITH p
WITH RELATIONSHIPS(p) AS rels,p
WHERE ALL(rel IN rels WHERE ANY(map IN apoc.convert.fromJsonList(rel.guarantee_detail) WHERE map.defineDate<=20191201000000 AND olab.standardize.date(map.endDate,true,NULL)>=20191201000000))
UNWIND RELATIONSHIPS(p) AS rel
RETURN SIZE(COLLECT(DISTINCT rel)) AS relSize
四、指定公司统计1~6度担保网络指标
查询
中国保利集团有限公司
于2019年12月时间切片下的担保网络,统计1~6度担保网络中实体数量
- 通过apoc.cypher.run过程动态拼接查询
UNWIND [1,2,3,4,5,6] AS layer
CALL apoc.cypher.run(
'MATCH p=(n:HORGGuaranteeV003 {name:{name}})-[*..'+layer+']-(:HORGGuaranteeV003) WITH p
WITH RELATIONSHIPS(p) AS rels,p
WHERE ALL(rel IN rels WHERE ANY(map IN apoc.convert.fromJsonList(rel.guarantee_detail) WHERE map.defineDate<=20191201000000 AND olab.standardize.date(map.endDate,true,NULL)>=20191201000000))
UNWIND NODES(p) AS node
RETURN SIZE(COLLECT(DISTINCT node)) AS nodeSize',{name:'中国保利集团有限公司'}
)
YIELD value RETURN value
- 分别统计
中国保利集团有限公司
在1层,2层,3层担保网络涉及公司数量,测算其担保网络的规模效应