@TOC[1] Here's the table of contents:
担保网路的指标统计,在本次的案例中主要实现指定公司和网络深度之后,统计该网络涉及公司和担保关系的数量。担保百科解释[2]
担保网络描述的是公司和公司之间的担保关系,在建模时使用HORGGuaranteeV003标签表示公司,公司之间发生担保的时序指标数据用JSON字符串的形存储在关系属性中。
关于函数使用的更多介绍请查看这里[3]
// 【标准化时间字段:可选是否对无效时间对象是否去噪】【保留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')
担保网络关系指标的数据,指的是公司之间多次担保的时间序列数据。这个时间序列的数据在建模的时候,使用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)
查询
中国保利集团有限公司
于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
// `中国保利集团有限公司`于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
查询
中国保利集团有限公司
于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层担保网络涉及公司数量,测算其担保网络的规模效应
[1]
TOC: 担保网络指标统计
[2]
担保百科解释: https://baike.baidu.com/item/%E6%8B%85%E4%BF%9D/15441366?fr=aladdin
[3]
关于函数使用的更多介绍请查看这里: https://github.com/ongdb-contrib/ongdb-lab-apoc/