当前位置:网站首页>Sequence diagram data modeling and industrial chain analysis
Sequence diagram data modeling and industrial chain analysis
2022-07-04 16:39:00 【Ma Chao's blog】
Use chart data to analyze time series data of industrial chain - Design of data model
- Function and process function introduction
- Complete implementation - Build company and product sequence diagram data
- Query case - analysis ' Consumer goods trading ' industry 2020Q2 Total quarterly revenue
- Other information
Design of data model
industry 、 product 、 Company related industrial chain data modeling , Include product level maps 、 Industry stratification map 、 Upstream and downstream map of the industrial chain 、 Company and product atlas . The following is mainly the implementation scheme of sequence diagram data modeling of company and product revenue .
Function and process function introduction
- HTTP request
RETURN olab.http.post('api-address','input')
- Reset MAP- Remove incoming KEY
RETURN olab.reset.map({map},{keys}) AS value
- Generate JSON-STRING
RETURN olab.convert.json({object})
Complete implementation - Build company and product sequence diagram data
- In the following implementation, the timing data related to revenue is used JSON The format data modeling is stored in the attributes of the relationship
The following implementation integrates GraphQL-API、olab-apoc Components 、 Access database and other operations , The constructed graph data finally stores the timing data in a JSON Array .
CALL apoc.periodic.iterate('CALL apoc.load.jdbc(\'jdbc:mysql://contentdb.crkldnwly6ki.rds.cn-north-1.amazonaws.com.cn:3306/database?user=datalab_dev&password=datalabgogo&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC\',
\'SELECT calc.company_id AS fromCompanyId,pro.`name` AS `to`,CONVERT(DATE_FORMAT(calc.report_date,\\\'%Y%m%d%H%i%S\\\'),UNSIGNED INTEGER)
AS report_date,income,profit,product_income,product_income_ratio,product_profit,product_profit_ratio,\\\'id\\\' AS uniqueField,calc.id AS uniqueFieldID,\\\'chinascope_supply_chain.fin_secu_sam_product_calc\\\' AS jsDataApi FROM fin_secu_sam_product_calc calc RIGHT JOIN dict_product_rs pro ON calc.product_code=pro.`code` WHERE calc.update_time>=DATE_SUB(NOW(),INTERVAL 1 DAY)\')',
'WITH REPLACE(\'{"query": "{ horgByName(sourceCode: \\\\\\"company-id\\\\\\", sourceFlag: \\\\\\"chinascope\\\\\\") { name hcode }}","variables": null}\',\'company-id\',row.fromCompanyId) AS query,row WITH apoc.convert.fromJsonMap(olab.http.post(\'http://ip/ongdb/graphql\',query))
AS result,row WHERE result IS NOT NULL WITH result.data.horgByName[0].hcode AS fromHcode,result.data.horgByName[0].name AS fromName,row WHERE fromHcode IS NOT NULL WITH fromHcode,fromName,row.to AS toName,row
WITH fromHcode,fromName,\'HPRDCLS\'+apoc.util.md5([toName]) AS toHcode,row MERGE (from:HORGProductCalc {hcode:fromHcode}) SET from.name=fromName,from:HORG WITH from,toHcode,row MATCH (to: industry {hcode:toHcode})
WITH from,to,row WHERE from<>to WITH from,to,olab.reset.map(row,[\'fromCompanyId\',\'to\']) AS row OPTIONAL MATCH (from)-[r]->(to) WITH from,to,row,apoc.coll.union(apoc.convert.fromJsonList(r.detail),[row]) AS detail
WITH from,to,row,olab.convert.json(detail) AS detail,SIZE(detail) AS detail_size MERGE (from)-[r: product ]->(to) SET r.detail=detail,r.detail_size=detail_size', {parallel:false,batchSize:100})
YIELD batches,total,timeTaken,committedOperations,failedOperations,failedBatches,retries,errorMessages,batch,operations RETURN batches,total,timeTaken,committedOperations,failedOperations,failedBatches,retries,errorMessages,batch,operations;
Query case - analysis ’ Consumer goods trading ’ industry 2020Q2 Total quarterly revenue
- Inquire about ’ Consumer goods trading ’ All relevant products in the sub category of the industry
During data modeling, products are related to industries , Therefore, when used here, you can directly get , Pay attention to all the products of the sub industry of a certain industry .
# Expand PATH The way MATCH (indus: industry ) WHERE indus.name=' Consumer goods trading ' WITH indusCALL apoc.path.expandConfig(indus,{maxLevel:3, relationshipFilter:'NEXT>|<BELONG_TO',
labelFilter:'+ industry |/ product ', bfs:false, filterStartNode:true,uniqueness:'NODE_GOLBEL', limit:-1})
YIELD path
WITH
pathRETURN
path
# Expand NODE The way
MATCH (indus: industry ) WHERE indus.name=' Consumer goods trading ' WITH indus
CALL apoc.path.subgraphNodes(indus,{maxLevel:3, relationshipFilter:'NEXT>|<BELONG_TO',
labelFilter:'+ industry |/ product ', bfs:false, filterStartNode:true,uniqueness:'NODE_GOLBEL', limit:-1})
YIELD node WITH node
RETURN node
Schematic diagram of industry and product association structure
- ' Consumer goods trading ’ Industry related products 【 Correlation refers to the division of subordination , Here are the industry related products within the three levels of subordinates 】2020Q2 Revenue analysis 【 The case realizes the total revenue 】
MATCH (indus: industry ) WHERE indus.name=' Consumer goods trading ' WITH indus
CALL apoc.path.subgraphNodes(indus,{maxLevel:3, relationshipFilter:'NEXT>|<BELONG_TO',
labelFilter:'+ industry |/ product ', bfs:false, filterStartNode:true,uniqueness:'NODE_GOLBEL', limit:-1}) YIELD node WITH node
MATCH p=(node)<-[r: product ]-(:HORGProductCalc) WITH apoc.convert.fromJsonList(r.detail) AS detail
UNWIND detail AS map
WITH map WHERE TOINTEGER(map.report_date)>=20200331000000 AND TOINTEGER(map.report_date)<=20200630000000
WITH TOINTEGER(map.income) AS income
RETURN SUM(income)
# The total revenue is twotrillion
╒═════════════╕
│"SUM(income)"│
╞═════════════╡
│2215100453627│
└─────────────┘
- Sample diagram structure of products and companies .
Other information
- olab-apoc Components
https://github.com/ongdb-contrib/ongdb-lab-apoc
- apoc Components 【Neo4j Official open source components 】
https://github.com/neo4j-contrib/neo4j-apoc-procedures
边栏推荐
- FIREBIRD使用经验总结
- China Indonesia adhesive market trend report, technological innovation and market forecast
- TypeError: list indices must be integers or slices, not str
- Accounting regulations and professional ethics [7]
- Ten clothing stores have nine losses. A little change will make you buy every day
- The content of the source code crawled by the crawler is inconsistent with that in the developer mode
- Laravel simply realizes Alibaba cloud storage + Baidu AI Cloud image review
- Principle and general steps of SQL injection
- MySQL learning notes - data type (2)
- DC-2靶场搭建及渗透实战详细过程(DC靶场系列)
猜你喜欢
Principle and general steps of SQL injection
Communication mode based on stm32f1 single chip microcomputer
How to decrypt worksheet protection password in Excel file
Talking about Net core how to use efcore to inject multiple instances of a context annotation type for connecting to the master-slave database
Talking about Net core how to use efcore to inject multiple instances of a context annotation type for connecting to the master-slave database
The vscode waveform curve prompts that the header file cannot be found (an error is reported if the header file exists)
Understand the rate control mode rate control mode CBR, VBR, CRF (x264, x265, VPX)
Cut! 39 year old Ali P9, saved 150million
error: ‘connect‘ was not declared in this scope connect(timer, SIGNAL(timeout()), this, SLOT(up
What should ABAP do when it calls a third-party API and encounters garbled code?
随机推荐
Research Report on plastic recycling machine industry - market status analysis and development prospect forecast
Understand the rate control mode rate control mode CBR, VBR, CRF (x264, x265, VPX)
ECCV 2022放榜了:1629篇论文中选,录用率不到20%
Interface test - knowledge points and common interview questions
Will the memory of ParticleSystem be affected by maxparticles
Detailed process of DC-2 range construction and penetration practice (DC range Series)
AutoCAD - set color
[book club issue 13] coding format of video files
Accounting regulations and professional ethics [7]
ONgDB图数据库与Spark的集成
c# 实现定义一套中间SQL可以跨库执行的SQL语句
~88 running people practice
Salient map drawing based on OpenCV
JS to realize the countdown function
Understand Alibaba cloud's secret weapon "dragon architecture" in the article "science popularization talent"
Research Report of exoskeleton robot industry - market status analysis and development prospect prediction
China Indonesia adhesive market trend report, technological innovation and market forecast
Selenium browser (2)
Expression #1 of ORDER BY clause is not in SELECT list, references column ‘d.dept_ no‘ which is not i
Research Report on market supply and demand and strategy of tetramethylpyrazine industry in China