diff --git a/python/knext/examples/supplychain1/.knext.cfg b/python/knext/examples/supplychain1/.knext.cfg new file mode 100644 index 00000000..906953aa --- /dev/null +++ b/python/knext/examples/supplychain1/.knext.cfg @@ -0,0 +1,16 @@ +[local] +project_name = SupplyChain +description = SupplyChain +namespace = SupplyChain +project_id = 3 +project_dir = supplychain +schema_dir = schema +schema_file = supplychain.schema +builder_dir = builder +builder_operator_dir = builder/operator +builder_record_dir = builder/error_record +builder_job_dir = builder/job +builder_model_dir = builder/model +reasoner_dir = reasoner +reasoner_result_dir = reasoner/result + diff --git a/python/knext/examples/supplychain1/builder/job/company.py b/python/knext/examples/supplychain1/builder/job/company.py new file mode 100644 index 00000000..ee3bdc2f --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/company.py @@ -0,0 +1,89 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Ant Group CO., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. + +from knext.client.model.builder_job import BuilderJob +from knext.api.component import ( + CsvSourceReader, + KGSinkWriter, + SPGTypeMapping, + RelationMapping, +) +from knext.examples.supplychain.schema.supplychain_schema_helper import SupplyChain + + +class Company(BuilderJob): + parallelism = 6 + + def build(self): + source = CsvSourceReader( + local_path="./builder/job/data/Company.csv", + columns=["id", "name", "products"], + start_row=2, + ) + + mapping = ( + SPGTypeMapping(spg_type_name=SupplyChain.Company.__typename__) + .add_field("id", SupplyChain.Company.id) + .add_field("name", SupplyChain.Company.name) + .add_field("products", SupplyChain.Company.product) + ) + + sink = KGSinkWriter() + + return source >> mapping >> sink + + +class CompanyUpdate(BuilderJob): + parallelism = 6 + + def build(self): + source = CsvSourceReader( + local_path="./builder/job/data/CompanyUpdate.csv", + columns=["id", "name", "products"], + start_row=2, + ) + + mapping = ( + SPGTypeMapping(spg_type_name=SupplyChain.Company.__typename__) + .add_field("id", SupplyChain.Company.id) + .add_field("name", SupplyChain.Company.name) + .add_field("products", SupplyChain.Company.product) + ) + + sink = KGSinkWriter() + + return source >> mapping >> sink + + +class CompanyFundTrans(BuilderJob): + def build(self): + source = CsvSourceReader( + local_path="./builder/job/data/Company_fundTrans_Company.csv", + columns=["src", "dst", "transDate", "transAmt"], + start_row=2, + ) + + mapping = ( + RelationMapping( + subject_name=SupplyChain.Company.__typename__, + predicate_name="fundTrans", + object_name=SupplyChain.Company.__typename__, + ) + .add_field("src", "srcId") + .add_field("dst", "dstId") + .add_field("transDate", "transDate") + .add_field("transAmt", "transAmt") + ) + + sink = KGSinkWriter() + + return source >> mapping >> sink diff --git a/python/knext/examples/supplychain1/builder/job/data/Company.csv b/python/knext/examples/supplychain1/builder/job/data/Company.csv new file mode 100644 index 00000000..80c63aaf --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/data/Company.csv @@ -0,0 +1,104 @@ +id,name,products +CSF0000001579,传化****限公司,"商品化工-橡胶-合成橡胶-顺丁橡胶" +CSF0000001662,浙江**摩托**限公司,"汽车-摩托车制造-二轮摩托车,汽车-摩托车制造-三轮摩托车" +CSF0000002238,三角***份限公司,"轮胎与橡胶-轮胎,轮胎与橡胶-轮胎-斜交轮胎" +CSF0000000001,北京***能源*保****股**公司,"建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,保险-财产与意外伤害保险-机动车辆险,建筑、农用机械与重型卡车,轮胎与橡胶-轮胎,商业服务-综合支持服务" +CSF0000000002,新晨*国***股*公司,"汽车,建筑、农用机械与重型卡车-工程机械-混凝土机械,汽车,轮胎与橡胶-轮胎" +CSF0000000003,百*油*服**公司,"化工商品贸易-化工产品贸易,轮胎与橡胶" +CSF0000000004,建发***资**有公司,轮胎与橡胶-轮胎-特种轮胎 +CSF0000000005,无锡农**业**股**公司,"商品化工-橡胶-合成橡胶,石油与天然气,轮胎与橡胶,建筑、农用机械与重型卡车-工程机械" +CSF0000000006,天*泰***医**程**有公司,"建筑、农用机械与重型卡车-工程机械,汽车-摩托车制造-三轮摩托车,建筑、农用机械与重型卡车-农业机械-农机具及其零部件" +CSF0000000007,康**股有公司,"汽车-摩托车制造-二轮摩托车,汽车,建筑、农用机械与重型卡车-港口机械" +CSF0000000008,深圳*元****份*公司,建筑、农用机械与重型卡车 +CSF0000000009,拉近*娱***公司,"化工商品贸易-化工产品贸易-橡塑制品贸易,建筑、农用机械与重型卡车-工程机械,消闲用品-自行车,轮胎与橡胶" +CSF0000000010,广东***通*份*公司,"商业服务-综合支持服务,轮胎与橡胶-轮胎,商品化工" +CSF0000000011,耀*集*有公司,"轮胎与橡胶-轮胎-特种轮胎,轮胎与橡胶-轮胎,建筑、农用机械与重型卡车-农业机械-农机具及其零部件" +CSF0000000012,联**市**有公司,"建筑、农用机械与重型卡车-工程机械-筑养路机械,商品化工" +CSF0000000013,中***集成电路***公司,"建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,建筑、农用机械与重型卡车-农业机械,建筑、农用机械与重型卡车-工程机械-起重装卸机械,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油,轮胎与橡胶-轮胎" +CSF0000000014,国际精****公司,建筑、农用机械与重型卡车 +CSF0000000015,润中***股*公司,"消闲用品-自行车,轮胎与橡胶-轮胎,商业服务-综合支持服务,保险-财产与意外伤害保险-机动车辆险,石油与天然气" +CSF0000000016,开达集**公司,"轮胎与橡胶,建筑、农用机械与重型卡车-工程机械,石油与天然气-石油与天然气的炼制和营销" +CSF0000000017,宝*国***股)*公司,消闲用品 +CSF0000000018,茂**际*股*公司,消闲用品 +CSF0000000019,新疆**节**溉*份*公司,"轮胎与橡胶-轮胎,商业服务-综合支持服务-维护服务-交通工具维护服务,建筑、农用机械与重型卡车" +CSF0000000020,阳光*源***公司,"建筑、农用机械与重型卡车-农业机械-农机具及其零部件,汽车" +CSF0000000021,亚洲***中**控公司,"保险-财产与意外伤害保险,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油,轮胎与橡胶-轮胎" +CSF0000000022,宏*集*有公司,"汽车,化工商品贸易-化工产品贸易-橡塑制品贸易,建筑、农用机械与重型卡车-环卫机械-环卫车,轮胎与橡胶-轮胎-半钢子午线轮胎" +CSF0000000023,东岳*团*公司,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆 +CSF0000000024,中国***份*公司,"商业服务-综合支持服务-维护服务-交通工具维护服务,化工商品贸易-化工产品贸易-橡塑制品贸易,轮胎与橡胶-轮胎" +CSF0000000025,中国****矿*有公司,"建筑、农用机械与重型卡车,商业服务-综合支持服务-加工劳务,商品化工-橡胶-合成橡胶-顺丁橡胶,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务" +CSF0000000026,华厦置**公司,"商品化工-橡胶-合成橡胶,建筑、农用机械与重型卡车,建筑、农用机械与重型卡车,建筑、农用机械与重型卡车-工程机械" +CSF0000000027,川**团有公司,"汽车-摩托车制造-二轮摩托车,建筑、农用机械与重型卡车-工程机械,建筑、农用机械与重型卡车,建筑、农用机械与重型卡车-工程机械-混凝土机械" +CSF0000000028,中**信*份*公司,"轮胎与橡胶-轮胎-全钢子午线轮胎,轮胎与橡胶,轮胎与橡胶-轮胎,建筑、农用机械与重型卡车-农业机械-农机具及其零部件" +CSF0000000029,金**际*件*团*公司,"商业服务-综合支持服务,消闲用品,建筑、农用机械与重型卡车-农业机械,商业服务,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆" +CSF0000000030,新*光*集***有公司,"商业服务-综合支持服务-加工劳务-轮胎分装,轮胎与橡胶" +CSF0000000031,首***发展股**公司,"轮胎与橡胶-轮胎,轮胎与橡胶-轮胎" +CSF0000000032,中国再****际*公司,"化工商品贸易-化工产品贸易,商业服务-综合支持服务-维护服务,石油与天然气-石油与天然气的炼制和营销-石油炼制产品,轮胎与橡胶-轮胎-半钢子午线轮胎" +CSF0000000033,辉**技*控股**公司,"轮胎与橡胶-轮胎,建筑、农用机械与重型卡车,轮胎与橡胶,建筑、农用机械与重型卡车-工程机械" +CSF0000000034,新**汽***控股*公司,"建筑、农用机械与重型卡车,石油与天然气-石油与天然气的炼制和营销" +CSF0000000035,中国**济**有公司,"汽车-摩托车制造,石油与天然气-石油与天然气的炼制和营销,建筑、农用机械与重型卡车-农业机械" +CSF0000000036,信达**控**公司,"轮胎与橡胶,建筑、农用机械与重型卡车-环卫机械" +CSF0000000037,宝业集****公司,汽车-摩托车制造 +CSF0000000038,协合*能*集**公司,"建筑、农用机械与重型卡车,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-收割机,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-汽油,轮胎与橡胶-轮胎-半钢子午线轮胎,汽车" +CSF0000000039,国*零**股*公司,"化工商品贸易-化工产品贸易,建筑、农用机械与重型卡车-工程机械-起重装卸机械,轮胎与橡胶-轮胎,建筑、农用机械与重型卡车" +CSF0000000040,联*能***有公司,"建筑、农用机械与重型卡车,轮胎与橡胶-轮胎-特种轮胎,汽车-摩托车制造,化工商品贸易-化工产品贸易-橡塑制品贸易" +CSF0000000041,新丝**旅*公司,"建筑、农用机械与重型卡车,建筑、农用机械与重型卡车-机场服务设备,保险-财产与意外伤害保险-机动车辆险,商业服务-综合支持服务,建筑、农用机械与重型卡车" +CSF0000000042,上**大房地**公司,"机动车贸易,商业服务-综合支持服务,轮胎与橡胶,建筑、农用机械与重型卡车-农业机械-农机具及其零部件" +CSF0000000043,奥**团*股*公司,"轮胎与橡胶-轮胎,商业服务-综合支持服务-维护服务" +CSF0000000044,添**业**(集团**公司,"建筑、农用机械与重型卡车-农业机械-农机具及其零部件-收割机,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油,商业服务-综合支持服务-加工劳务-轮胎分装,化工商品贸易-化工产品贸易" +CSF0000000045,安**控*有公司,"商业服务-综合支持服务-加工劳务,机动车贸易,保险,建筑、农用机械与重型卡车-工程机械-筑养路机械,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆" +CSF0000000046,联想**有公司,"轮胎与橡胶,机动车贸易,汽车-摩托车制造-二轮摩托车,建筑、农用机械与重型卡车,商业服务-综合支持服务-加工劳务-轮胎分装" +CSF0000000047,华融***融控**公司,"商品化工-橡胶,建筑、农用机械与重型卡车,建筑、农用机械与重型卡车,建筑、农用机械与重型卡车,建筑、农用机械与重型卡车" +CSF0000000048,东亚**有公司,"石油与天然气-石油与天然气的炼制和营销,轮胎与橡胶,机动车贸易-汽车贸易" +CSF0000000049,中**天国**股*公司,石油与天然气 +CSF0000000050,恒*兆*地**公司,"建筑、农用机械与重型卡车,轮胎与橡胶-轮胎-半钢子午线轮胎,建筑、农用机械与重型卡车-工程机械-筑养路机械" +CSF0000000051,波司*国*控**公司,"轮胎与橡胶,轮胎与橡胶-轮胎-全钢子午线轮胎,汽车-摩托车制造,建筑、农用机械与重型卡车,建筑、农用机械与重型卡车-工程机械-筑养路机械" +CSF0000000052,大**品**洲)*公司,"商业服务,建筑、农用机械与重型卡车-工程机械,建筑、农用机械与重型卡车-重卡及专用车" +CSF0000000053,新疆**矿**份*公司,"商品化工-橡胶-合成橡胶-顺丁橡胶,轮胎与橡胶,建筑、农用机械与重型卡车,机动车贸易,建筑、农用机械与重型卡车-农业机械-农机具及其零部件" +CSF0000000054,金**件有公司,"建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,机动车贸易-汽车贸易" +CSF0000000055,保*协*能*控**公司,"商品化工-橡胶-合成橡胶,建筑、农用机械与重型卡车-农业机械-农机具及其零部件" +CSF0000000056,中*动*(**)*公司,"建筑、农用机械与重型卡车-农业机械-农机具及其零部件-收割机,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,建筑、农用机械与重型卡车-港口机械,轮胎与橡胶-轮胎-特种轮胎" +CSF0000000057,上****市开发*团*公司,建筑、农用机械与重型卡车-重卡及专用车 +CSF0000000058,国*集*控**公司,"汽车-汽车制造,轮胎与橡胶-轮胎,建筑、农用机械与重型卡车" +CSF0000000059,北控***团*公司,"轮胎与橡胶,轮胎与橡胶-轮胎-工程轮胎,石油与天然气-石油与天然气的炼制和营销-石油炼制产品,保险-财产与意外伤害保险,汽车" +CSF0000000060,新鸿****展有公司,建筑、农用机械与重型卡车 +CSF0000000061,阜丰**有公司,消闲用品 +CSF0000000062,吉林奇*化****公司,"化工商品贸易,建筑、农用机械与重型卡车,建筑、农用机械与重型卡车-农业机械,汽车-摩托车制造,商业服务-综合支持服务" +CSF0000000063,中**气*股*公司,"轮胎与橡胶-轮胎,建筑、农用机械与重型卡车,轮胎与橡胶-轮胎,建筑、农用机械与重型卡车-工程机械-混凝土机械" +CSF0000000064,香**易*结算**公司,"建筑、农用机械与重型卡车-工程机械-工业车辆,轮胎与橡胶" +CSF0000000065,北*控股*公司,"汽车-摩托车制造,建筑、农用机械与重型卡车-机场服务设备,建筑、农用机械与重型卡车-工程机械,汽车-汽车制造" +CSF0000000066,旭**业有公司,轮胎与橡胶-轮胎 +CSF0000000067,白马*外***公司,"商业服务,消闲用品" +CSF0000000068,北*资***股)*公司,"建筑、农用机械与重型卡车-农业机械,汽车,消闲用品-自行车,商业服务" +CSF0000000069,深**股有公司,"保险,保险-财产与意外伤害保险-机动车辆险,轮胎与橡胶-轮胎-半钢子午线轮胎" +CSF0000000070,中**油**有公司,"汽车-摩托车制造,保险,机动车贸易" +CSF0000000071,丰盛**有公司,轮胎与橡胶 +CSF0000000072,鹰君集**公司,汽车 +CSF0000000073,大***集*有公司,"汽车,汽车,商品化工-橡胶,轮胎与橡胶-轮胎" +CSF0000000074,中国**化集**公司,"商业服务-综合支持服务-加工劳务-轮胎分装,保险-财产与意外伤害保险,石油与天然气-石油与天然气的炼制和营销,建筑、农用机械与重型卡车" +CSF0000000075,丰**控*有公司,"汽车,保险" +CSF0000000076,中**信*务**有公司,"建筑、农用机械与重型卡车-农业机械-农机具及其零部件,轮胎与橡胶-轮胎-工程轮胎,汽车" +CSF0000000077,中*电子***技*公司,"建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,商品化工-橡胶,轮胎与橡胶-轮胎,建筑、农用机械与重型卡车" +CSF0000000078,新*基*公司,消闲用品-自行车 +CSF0000000079,中*海*港**公司,"建筑、农用机械与重型卡车-工程机械-工业车辆,保险,建筑、农用机械与重型卡车-农业机械-农机具及其零部件,商业服务" +CSF0000000080,天臣控**公司,"化工商品贸易,建筑、农用机械与重型卡车,保险,石油与天然气-石油与天然气的炼制和营销-石油炼制产品" +CSF0000000081,广***团*有公司,"建筑、农用机械与重型卡车-农业机械,建筑、农用机械与重型卡车-工程机械-起重装卸机械" +CSF0000000082,中*资*控**公司,石油与天然气-石油与天然气的炼制和营销 +CSF0000000083,上置*团*公司,"建筑、农用机械与重型卡车-农业机械,汽车,建筑、农用机械与重型卡车-农业机械-农机具及其零部件,轮胎与橡胶-轮胎,轮胎与橡胶-轮胎-斜交轮胎" +CSF0000000084,伟禄*团***公司,"商业服务-综合支持服务-加工劳务-轮胎分装,汽车-摩托车制造-三轮摩托车,建筑、农用机械与重型卡车-工程机械-混凝土机械" +CSF0000000085,力*科**团*公司,"轮胎与橡胶-轮胎,轮胎与橡胶-轮胎" +CSF0000000086,银***控股**有公司,"建筑、农用机械与重型卡车,建筑、农用机械与重型卡车-农业机械-农机具及其零部件" +CSF0000000087,嘉华***团*公司,"建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,汽车,轮胎与橡胶-轮胎,建筑、农用机械与重型卡车" +CSF0000000088,莎*国际***公司,"轮胎与橡胶,建筑、农用机械与重型卡车-农业机械,汽车,建筑、农用机械与重型卡车-农业机械-农机具及其零部件,建筑、农用机械与重型卡车-农业机械" +CSF0000000089,华显光****股*公司,"汽车-摩托车制造-二轮摩托车,建筑、农用机械与重型卡车" +CSF0000000090,华宝****有公司,"建筑、农用机械与重型卡车-工程机械-混凝土机械,建筑、农用机械与重型卡车-机场服务设备-机场专用车辆,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-收割机,建筑、农用机械与重型卡车-港口机械" +CSF0000000091,金*商**团*公司,建筑、农用机械与重型卡车-工程机械 +CSF0000000092,远****股有公司,化工商品贸易 +CSF0000000093,永*国*有公司,"石油与天然气-石油与天然气的炼制和营销,轮胎与橡胶-轮胎,石油与天然气,机动车贸易,轮胎与橡胶" +CSF0000000094,华**酒*控*)*公司,"商业服务-综合支持服务,汽车-摩托车制造-二轮摩托车,轮胎与橡胶-轮胎" +CSF0000000095,江*控股*公司,"建筑、农用机械与重型卡车,汽车-汽车制造,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆-拖拉机,建筑、农用机械与重型卡车-农业机械,机动车贸易" +CSF0000000096,中**力科***有公司,"汽车-摩托车制造-二轮摩托车,建筑、农用机械与重型卡车,机动车贸易-汽车贸易,轮胎与橡胶" +CSF0000000097,万威国**公司,商业服务-综合支持服务 +CSF0000000098,国***结*控*有公司,"建筑、农用机械与重型卡车,化工商品贸易-化工产品贸易-橡塑制品贸易,轮胎与橡胶" +CSF0000000099,中国*产**易*公司,"轮胎与橡胶-轮胎-斜交轮胎,机动车贸易,汽车" +CSF0000000100,深**际控**公司,"建筑、农用机械与重型卡车-农业机械,汽车-汽车制造,轮胎与橡胶-轮胎,建筑、农用机械与重型卡车-工程机械-筑养路机械" \ No newline at end of file diff --git a/python/knext/examples/supplychain1/builder/job/data/CompanyUpdate.csv b/python/knext/examples/supplychain1/builder/job/data/CompanyUpdate.csv new file mode 100644 index 00000000..c0f87c53 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/data/CompanyUpdate.csv @@ -0,0 +1,2 @@ +id,name,products +CSF0000001662,浙江**摩托**限公司,"汽车-摩托车制造-二轮摩托车" \ No newline at end of file diff --git a/python/knext/examples/supplychain1/builder/job/data/Company_fundTrans_Company.csv b/python/knext/examples/supplychain1/builder/job/data/Company_fundTrans_Company.csv new file mode 100644 index 00000000..b5e430df --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/data/Company_fundTrans_Company.csv @@ -0,0 +1,20 @@ +src,dst,transDate,transAmt +CSF0000001662,CSF0000001579,20230821,102191 +CSF0000000010,CSF0000001579,20230720,231143 +CSF0000002238,CSF0000001579,20230504,666666 +CSF0000000070,CSF0000002238,20230601,156347 +CSF0000000024,CSF0000002238,20230820,544734 +CSF0000000065,CSF0000002238,20230613,64503 +CSF0000000094,CSF0000002238,20230724,149303 +CSF0000000077,CSF0000002238,20230606,85113 +CSF0000001662,CSF0000002238,20230528,2000000 +CSF0000001579,CSF0000000067,20230725,77512 +CSF0000001579,CSF0000000037,20230922,866566 +CSF0000001579,CSF0000002238,20230823,1281042 +CSF0000001579,CSF0000000079,20230709,470262 +CSF0000001579,CSF0000000075,20230517,289694 +CSF0000001579,CSF0000000031,20230503,370413 +CSF0000001579,CSF0000000007,20230523,1142495 +CSF0000001579,CSF0000000080,20231004,201085 +CSF0000001579,CSF0000000041,20230722,221947 +CSF0000001579,CSF0000000021,20230821,78984 diff --git a/python/knext/examples/supplychain1/builder/job/data/Index.csv b/python/knext/examples/supplychain1/builder/job/data/Index.csv new file mode 100644 index 00000000..b976d87e --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/data/Index.csv @@ -0,0 +1,4 @@ +id +价格 +成本 +利润 \ No newline at end of file diff --git a/python/knext/examples/supplychain1/builder/job/data/Industry.csv b/python/knext/examples/supplychain1/builder/job/data/Industry.csv new file mode 100644 index 00000000..31802187 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/data/Industry.csv @@ -0,0 +1,11 @@ +id +原材料-原材料-化学制品-商品化工 +非日常生活消费品-汽车与汽车零部件-汽车-汽车 +非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶 +工业-资本品-机械制造-建筑、农用机械与重型卡车 +商贸-资本品商贸-工业资本品贸易-化工商品贸易 +商贸-消费品商贸-非日常消费品商贸-机动车贸易 +非日常生活消费品-耐用消费品与服装-休闲设备与用品-消闲用品 +工业-商业和专业服务-商业服务与商业用品-商业服务 +金融-保险-保险-保险 +能源-能源-石油、天然气与消费用燃料-石油与天然气 \ No newline at end of file diff --git a/python/knext/examples/supplychain1/builder/job/data/Person.csv b/python/knext/examples/supplychain1/builder/job/data/Person.csv new file mode 100644 index 00000000..a1fa7c00 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/data/Person.csv @@ -0,0 +1,21 @@ +id,name,age,legalRep +0,臧*,38,"新晨*国***股*公司,传化****限公司,浙江**摩托**限公司,三角***份限公司,北京***能源*保****股**公司,三角***份限公司,传化****限公司" +1,袁*,22,"天*泰***医**程**有公司,无锡农**业**股**公司,建发***资**有公司,康**股有公司" +2,夏**,47,"广东***通*份*公司,拉近*娱***公司" +3,庞*,37,"中***集成电路***公司,开达集**公司,国际精****公司,宝*国***股)*公司,润中***股*公司" +4,樊**,58,"茂**际*股*公司,阳光*源***公司,宏*集*有公司" +5,倪**,50,"中国***份*公司,东岳*团*公司" +6,江*,23,"中**信*份*公司,中国再****际*公司,金**际*件*团*公司,新*光*集***有公司,首***发展股**公司" +7,禹**,60,"辉**技*控股**公司,中国**济**有公司" +8,裘*,21,"新丝**旅*公司,上**大房地**公司,联*能***有公司" +9,冯*,24,"安**控*有公司,华融***融控**公司,联想**有公司" +10,骆*,54,"波司*国*控**公司,恒*兆*地**公司,东亚**有公司,大**品**洲)*公司,中**天国**股*公司" +11,路**,20,"新疆**矿**份*公司,上****市开发*团*公司,保*协*能*控**公司" +12,尤**,47,吉林奇*化****公司 +13,华**,29,"旭**业有公司,白马*外***公司,中**气*股*公司,北*控股*公司,香**易*结算**公司" +14,俞**,61,"中**油**有公司,深**股有公司,北*资***股)*公司,鹰君集**公司,丰盛**有公司" +15,谢*,21,"大***集*有公司,中**信*务**有公司,中国**化集**公司,丰**控*有公司,中*电子***技*公司" +16,华*,45,"中*资*控**公司,新*基*公司" +17,左**,20,"伟禄*团***公司,银***控股**有公司" +18,平**,22,金*商**团*公司 +19,任**,38,"江*控股*公司,永*国*有公司,中**力科***有公司,万威国**公司" \ No newline at end of file diff --git a/python/knext/examples/supplychain1/builder/job/data/Product.csv b/python/knext/examples/supplychain1/builder/job/data/Product.csv new file mode 100644 index 00000000..8de83c55 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/data/Product.csv @@ -0,0 +1,93 @@ +fullname,belongToIndustry,hasSupplyChain +商品化工,原材料-原材料-化学制品-商品化工,"化工商品贸易-化工产品贸易,机动车零配件与设备,家庭装饰品,家用电器,家用器具与特殊消费品,家用器具与特殊消费品-其他特殊消费品,消闲用品,摄影产品,能源设备与服务-石油天然气设备与服务-油田服务-石油与天然气勘探技术服务,个人用品,医疗保健设备,医疗保健用品,制药,制药-其他制药,多种化学制品,化肥与农用药剂,特种化学制品,化工商品贸易-化工产品贸易-其他化工产品贸易,办公电子设备,机动车零配件与设备-其他汽车零配件与设备,建筑材料,电气部件与设备-其他电气部件与设备,特种化学制品-其他特种化学制品,建筑材料-其他建筑材料,家用电器-其他家用电器,家庭装饰品-其他家庭装饰品,医疗保健设备-其他医疗保健设备,医疗保健用品-其他医疗保健用品,容器与包装,电脑与外围设备,电子制造,化工商品贸易,电气部件与设备" +商品化工-橡胶,原材料-原材料-化学制品-商品化工,"化工商品贸易-化工产品贸易-橡塑制品贸易,轮胎与橡胶,轮胎与橡胶-汽车用非轮胎橡胶制品,医疗保健设备-家用医疗设备-桑拿设备,服饰、鞋类与奢侈品-鞋类,医疗保健用品-卫生制品及敷料,医疗保健用品-避孕用具,服饰、鞋类与奢侈品-鞋类-其他鞋类,工业机械-专用设备制造-水处理设备-净水器压力桶" +商品化工-橡胶-合成橡胶,原材料-原材料-化学制品-商品化工,"化工商品贸易-化工产品贸易-橡塑制品贸易,轮胎与橡胶,轮胎与橡胶-轮胎,轮胎与橡胶-汽车用非轮胎橡胶制品,轮胎与橡胶-汽车用非轮胎橡胶制品-汽车密封件-汽车密封条,轮胎与橡胶-汽车用非轮胎橡胶制品-汽车密封件,消闲用品-自行车-自行车及其零配件,服饰、鞋类与奢侈品-鞋类-女鞋,服饰、鞋类与奢侈品-鞋类-男鞋,服饰、鞋类与奢侈品-鞋类-童鞋,服饰、鞋类与奢侈品-鞋类-运动鞋,服饰、鞋类与奢侈品-鞋类-鞋子的组件,服饰、鞋类与奢侈品-鞋类-鞋子的组件-鞋底,个人用品-个人卫生护理用品-牙具用品,医疗保健用品-卫生制品及敷料-卫生用橡胶制品,商品化工-橡胶-橡胶管和橡胶带,商品化工-其他商品化工产品-丁腈手套,工业机械-专用设备制造-食品灭菌设备,工业机械-其他工业机械-闸门,特种化学制品-精细化工-眼镜胶板,建筑与工程-专项建设工程-体育设施工程,商品化工-橡胶-橡胶管和橡胶带-橡胶带-三角带,机动车零配件与设备-汽车底盘系统-汽车行驶系统-轮胎气门嘴,轮胎与橡胶-汽车用非轮胎橡胶制品-汽车胶管,商品化工-橡胶-橡胶密封制品,商品化工-橡胶-橡胶减震制品,商品化工-橡胶-橡胶减震制品-轨道橡胶减震制品,轮胎与橡胶-汽车用非轮胎橡胶制品-汽车橡胶减震制品,商品化工-橡胶-橡胶管和橡胶带-橡胶管,商品化工-橡胶-橡胶管和橡胶带-橡胶带,电气部件与设备-电气设备-电绝缘材料,商品化工-橡胶-橡胶管和橡胶带-橡胶带-输送带" +商品化工-橡胶-合成橡胶-顺丁橡胶,原材料-原材料-化学制品-商品化工,"化工商品贸易-化工产品贸易-橡塑制品贸易,轮胎与橡胶-轮胎,轮胎与橡胶-轮胎-特种轮胎,轮胎与橡胶-轮胎-工程轮胎,轮胎与橡胶-轮胎-斜交轮胎,轮胎与橡胶-轮胎-全钢子午线轮胎,轮胎与橡胶-轮胎-半钢子午线轮胎" +汽车,非日常生活消费品-汽车与汽车零部件-汽车-汽车,"机动车贸易-汽车贸易,公路与铁路运输-陆运,公路与铁路运输-陆运-汽车租赁,特殊消费者服务-商品预订,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,保险-财产与意外伤害保险-机动车辆险,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-汽油,商业服务-综合支持服务-维护服务-交通工具维护服务,机动车贸易-其他机动车贸易,调查和咨询服务-专业技术服务-其他技术服务,商业服务,机动车贸易,机动车贸易-汽车贸易-二手车零售,综合金融服务-特殊金融服务-汽车金融服务,调查和咨询服务-专业技术服务,商业服务-综合支持服务-汽车美容服务-洗车服务,商业服务-综合支持服务-汽车试驾测试服务,航空货运与物流-物流服务-汽车物流服务,互联网软件与服务-电商平台提供商-汽车类信息服务,商业服务-综合支持服务-汽车美容服务" +汽车-摩托车制造,非日常生活消费品-汽车与汽车零部件-汽车-汽车,"机动车贸易-汽车贸易,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,保险-财产与意外伤害保险-机动车辆险,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-汽油" +汽车-摩托车制造-二轮摩托车,非日常生活消费品-汽车与汽车零部件-汽车-汽车,"机动车贸易-汽车贸易,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,保险-财产与意外伤害保险-机动车辆险,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-汽油" +汽车,非日常生活消费品-汽车与汽车零部件-汽车-汽车,"机动车贸易-汽车贸易,公路与铁路运输-陆运,公路与铁路运输-陆运-汽车租赁,特殊消费者服务-商品预订,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,保险-财产与意外伤害保险-机动车辆险,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-汽油,商业服务-综合支持服务-维护服务-交通工具维护服务,机动车贸易-其他机动车贸易,调查和咨询服务-专业技术服务-其他技术服务,商业服务,机动车贸易,机动车贸易-汽车贸易-二手车零售,综合金融服务-特殊金融服务-汽车金融服务,调查和咨询服务-专业技术服务,商业服务-综合支持服务-汽车美容服务-洗车服务,商业服务-综合支持服务-汽车试驾测试服务,航空货运与物流-物流服务-汽车物流服务,互联网软件与服务-电商平台提供商-汽车类信息服务,商业服务-综合支持服务-汽车美容服务" +汽车-摩托车制造,非日常生活消费品-汽车与汽车零部件-汽车-汽车,"机动车贸易-汽车贸易,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,保险-财产与意外伤害保险-机动车辆险,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-汽油" +汽车-摩托车制造-三轮摩托车,非日常生活消费品-汽车与汽车零部件-汽车-汽车,"机动车贸易-汽车贸易,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,保险-财产与意外伤害保险-机动车辆险,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-汽油" +轮胎与橡胶,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,建筑、农用机械与重型卡车-环卫机械-环卫车,机动车贸易-机动车零配件零售,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,建筑、农用机械与重型卡车-重卡及专用车,汽车,建筑、农用机械与重型卡车-工程机械-工业车辆,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆" +轮胎与橡胶-轮胎,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,建筑、农用机械与重型卡车-环卫机械-环卫车,消闲用品-自行车,机动车贸易-机动车零配件零售,建筑、农用机械与重型卡车-重卡及专用车,汽车,建筑、农用机械与重型卡车-工程机械-工业车辆,商业服务-综合支持服务-加工劳务-轮胎分装,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,建筑、农用机械与重型卡车-机场服务设备-机场专用车辆" +轮胎与橡胶,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,建筑、农用机械与重型卡车-环卫机械-环卫车,机动车贸易-机动车零配件零售,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,建筑、农用机械与重型卡车-重卡及专用车,汽车,建筑、农用机械与重型卡车-工程机械-工业车辆,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆" +轮胎与橡胶-轮胎,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,建筑、农用机械与重型卡车-环卫机械-环卫车,消闲用品-自行车,机动车贸易-机动车零配件零售,建筑、农用机械与重型卡车-重卡及专用车,汽车,建筑、农用机械与重型卡车-工程机械-工业车辆,商业服务-综合支持服务-加工劳务-轮胎分装,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,建筑、农用机械与重型卡车-机场服务设备-机场专用车辆" +轮胎与橡胶-轮胎-斜交轮胎,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"建筑、农用机械与重型卡车-港口机械,汽车-摩托车制造-三轮摩托车,汽车-摩托车制造-二轮摩托车,机动车贸易-机动车零配件零售,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-收割机,商业服务-综合支持服务-加工劳务-轮胎分装,建筑、农用机械与重型卡车-工程机械-筑养路机械,建筑、农用机械与重型卡车-工程机械-起重装卸机械,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆-拖拉机,建筑、农用机械与重型卡车-工程机械-混凝土机械" +建筑、农用机械与重型卡车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"商业服务-综合支持服务-安装劳务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-其他工业机械和产品经销商,公路与铁路运输,交通基本设施,工业设备和产品贸易,商业服务-综合支持服务-安装劳务-其他安装劳务,煤与消费用燃料,建筑与工程,建筑与工程-其他建筑与工程承包" +建筑、农用机械与重型卡车-港口机械,工业-资本品-机械制造-建筑、农用机械与重型卡车,"交通基本设施-海港与服务-港口服务-港口物流,交通基本设施-海港与服务,交通基本设施-海港与服务-港口服务,交通基本设施-海港与服务-港口服务-其他港口服务,交通基本设施-海港与服务-港口服务-港口物流-装卸业务,交通基本设施-海港与服务-港口服务-港口物流-堆存业务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁" +化工商品贸易,商贸-资本品商贸-工业资本品贸易-化工商品贸易, +化工商品贸易-化工产品贸易,商贸-资本品商贸-工业资本品贸易-化工商品贸易, +化工商品贸易-化工产品贸易-橡塑制品贸易,商贸-资本品商贸-工业资本品贸易-化工商品贸易, +机动车贸易,商贸-消费品商贸-非日常消费品商贸-机动车贸易, +机动车贸易-汽车贸易,商贸-消费品商贸-非日常消费品商贸-机动车贸易, +汽车,非日常生活消费品-汽车与汽车零部件-汽车-汽车,"机动车贸易-汽车贸易,公路与铁路运输-陆运,公路与铁路运输-陆运-汽车租赁,特殊消费者服务-商品预订,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,保险-财产与意外伤害保险-机动车辆险,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-汽油,商业服务-综合支持服务-维护服务-交通工具维护服务,机动车贸易-其他机动车贸易,调查和咨询服务-专业技术服务-其他技术服务,商业服务,机动车贸易,机动车贸易-汽车贸易-二手车零售,综合金融服务-特殊金融服务-汽车金融服务,调查和咨询服务-专业技术服务,商业服务-综合支持服务-汽车美容服务-洗车服务,商业服务-综合支持服务-汽车试驾测试服务,航空货运与物流-物流服务-汽车物流服务,互联网软件与服务-电商平台提供商-汽车类信息服务,商业服务-综合支持服务-汽车美容服务" +轮胎与橡胶,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,建筑、农用机械与重型卡车-环卫机械-环卫车,机动车贸易-机动车零配件零售,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,建筑、农用机械与重型卡车-重卡及专用车,汽车,建筑、农用机械与重型卡车-工程机械-工业车辆,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆" +轮胎与橡胶-轮胎,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,建筑、农用机械与重型卡车-环卫机械-环卫车,消闲用品-自行车,机动车贸易-机动车零配件零售,建筑、农用机械与重型卡车-重卡及专用车,汽车,建筑、农用机械与重型卡车-工程机械-工业车辆,商业服务-综合支持服务-加工劳务-轮胎分装,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,建筑、农用机械与重型卡车-机场服务设备-机场专用车辆" +轮胎与橡胶-轮胎-特种轮胎,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"机动车贸易-机动车零配件零售,商业服务-综合支持服务-加工劳务-轮胎分装" +轮胎与橡胶,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,建筑、农用机械与重型卡车-环卫机械-环卫车,机动车贸易-机动车零配件零售,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,建筑、农用机械与重型卡车-重卡及专用车,汽车,建筑、农用机械与重型卡车-工程机械-工业车辆,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆" +轮胎与橡胶-轮胎,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,建筑、农用机械与重型卡车-环卫机械-环卫车,消闲用品-自行车,机动车贸易-机动车零配件零售,建筑、农用机械与重型卡车-重卡及专用车,汽车,建筑、农用机械与重型卡车-工程机械-工业车辆,商业服务-综合支持服务-加工劳务-轮胎分装,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,建筑、农用机械与重型卡车-机场服务设备-机场专用车辆" +轮胎与橡胶-轮胎-工程轮胎,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"建筑、农用机械与重型卡车-重卡及专用车-专用汽车,建筑、农用机械与重型卡车-重卡及专用车-专用汽车-特种结构汽车-公路养护车,建筑、农用机械与重型卡车-重卡及专用车-专用汽车-厢式汽车-防弹车,机动车贸易-机动车零配件零售,建筑、农用机械与重型卡车-工程机械,建筑、农用机械与重型卡车-工程机械-其他工程机械,建筑、农用机械与重型卡车-重卡及专用车,建筑、农用机械与重型卡车-工程机械-筑养路机械-碎石路面施工机械,建筑、农用机械与重型卡车-重卡及专用车-专用汽车-起重举升汽车-消防车,建筑、农用机械与重型卡车-工程机械-工业车辆,建筑、农用机械与重型卡车-重卡及专用车-专用汽车-其他专用车,建筑、农用机械与重型卡车-重卡及专用车-专用汽车-特种结构汽车,建筑、农用机械与重型卡车-重卡及专用车-专用汽车-起重举升汽车,建筑、农用机械与重型卡车-重卡及专用车-专用汽车-厢式汽车,建筑、农用机械与重型卡车-重卡及专用车-专用汽车-罐式汽车,建筑、农用机械与重型卡车-工程机械-高空作业机械,建筑、农用机械与重型卡车-重卡及专用车-专用汽车-煤矿井下运输车,商业服务-综合支持服务-加工劳务-轮胎分装,建筑、农用机械与重型卡车-重卡及专用车-专用汽车-厢式汽车-救护车,建筑、农用机械与重型卡车-工程机械-筑养路机械,建筑、农用机械与重型卡车-工程机械-筑养路机械-压实机,建筑、农用机械与重型卡车-工程机械-筑养路机械-沥青混凝土路面施工机械,建筑、农用机械与重型卡车-工程机械-土方机械,建筑、农用机械与重型卡车-重卡及专用车-专用汽车-罐式汽车-油罐车" +轮胎与橡胶,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,建筑、农用机械与重型卡车-环卫机械-环卫车,机动车贸易-机动车零配件零售,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,建筑、农用机械与重型卡车-重卡及专用车,汽车,建筑、农用机械与重型卡车-工程机械-工业车辆,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆" +轮胎与橡胶-轮胎,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,建筑、农用机械与重型卡车-环卫机械-环卫车,消闲用品-自行车,机动车贸易-机动车零配件零售,建筑、农用机械与重型卡车-重卡及专用车,汽车,建筑、农用机械与重型卡车-工程机械-工业车辆,商业服务-综合支持服务-加工劳务-轮胎分装,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,建筑、农用机械与重型卡车-机场服务设备-机场专用车辆" +轮胎与橡胶-轮胎-全钢子午线轮胎,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"建筑、农用机械与重型卡车-港口机械,机动车贸易-机动车零配件零售,商业服务-综合支持服务-加工劳务-轮胎分装,建筑、农用机械与重型卡车-工程机械-起重装卸机械,建筑、农用机械与重型卡车-重卡及专用车-重卡,建筑、农用机械与重型卡车-重卡及专用车-重卡-自卸车,建筑、农用机械与重型卡车-重卡及专用车-重卡-自卸车-非公路自卸车" +轮胎与橡胶,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,建筑、农用机械与重型卡车-环卫机械-环卫车,机动车贸易-机动车零配件零售,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,建筑、农用机械与重型卡车-重卡及专用车,汽车,建筑、农用机械与重型卡车-工程机械-工业车辆,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆" +轮胎与橡胶-轮胎,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,建筑、农用机械与重型卡车-环卫机械-环卫车,消闲用品-自行车,机动车贸易-机动车零配件零售,建筑、农用机械与重型卡车-重卡及专用车,汽车,建筑、农用机械与重型卡车-工程机械-工业车辆,商业服务-综合支持服务-加工劳务-轮胎分装,建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,建筑、农用机械与重型卡车-机场服务设备-机场专用车辆" +轮胎与橡胶-轮胎-半钢子午线轮胎,非日常生活消费品-汽车与汽车零部件-汽车零配件-轮胎与橡胶,"汽车-汽车制造,汽车-汽车制造-乘用车,汽车-汽车制造-乘用车-SUV,汽车-汽车制造-乘用车-轿车,汽车-汽车制造-商用车,汽车-汽车制造-商用车-客车,汽车-汽车制造-商用车-客车-大型客车,汽车-汽车制造-商用车-客车-中型客车,汽车-汽车制造-商用车-客车-小型客车,汽车-汽车制造-商用车-货车,汽车-汽车制造-商用车-货车-轻卡,汽车-汽车制造-商用车-货车-皮卡,建筑、农用机械与重型卡车-环卫机械-环卫车,机动车贸易-机动车零配件零售,汽车-汽车制造-商用车-客车-其他客车,汽车-汽车制造-新能源汽车,汽车-汽车制造-休闲汽车,商业服务-综合支持服务-加工劳务-轮胎分装" +汽车,非日常生活消费品-汽车与汽车零部件-汽车-汽车,"机动车贸易-汽车贸易,公路与铁路运输-陆运,公路与铁路运输-陆运-汽车租赁,特殊消费者服务-商品预订,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,保险-财产与意外伤害保险-机动车辆险,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-汽油,商业服务-综合支持服务-维护服务-交通工具维护服务,机动车贸易-其他机动车贸易,调查和咨询服务-专业技术服务-其他技术服务,商业服务,机动车贸易,机动车贸易-汽车贸易-二手车零售,综合金融服务-特殊金融服务-汽车金融服务,调查和咨询服务-专业技术服务,商业服务-综合支持服务-汽车美容服务-洗车服务,商业服务-综合支持服务-汽车试驾测试服务,航空货运与物流-物流服务-汽车物流服务,互联网软件与服务-电商平台提供商-汽车类信息服务,商业服务-综合支持服务-汽车美容服务" +汽车-汽车制造,非日常生活消费品-汽车与汽车零部件-汽车-汽车,"机动车贸易-汽车贸易,公路与铁路运输-陆运,公路与铁路运输-陆运-汽车租赁,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,保险-财产与意外伤害保险-机动车辆险,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-汽油,综合金融服务-特殊金融服务-汽车金融服务,工业机械-专用设备制造-汽保设备,商业服务-综合支持服务-汽车美容服务-洗车服务,商业服务-综合支持服务-汽车试驾测试服务,航空货运与物流-物流服务-汽车物流服务,商业服务-综合支持服务-汽车美容服务" +建筑、农用机械与重型卡车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"商业服务-综合支持服务-安装劳务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-其他工业机械和产品经销商,公路与铁路运输,交通基本设施,工业设备和产品贸易,商业服务-综合支持服务-安装劳务-其他安装劳务,煤与消费用燃料,建筑与工程,建筑与工程-其他建筑与工程承包" +建筑、农用机械与重型卡车-环卫机械,工业-资本品-机械制造-建筑、农用机械与重型卡车,"消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,建筑与工程-交通工程-公路工程-道路养护工程" +建筑、农用机械与重型卡车-环卫机械-环卫车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,机动车贸易-其他机动车贸易,机动车贸易,商业服务-综合支持服务-清洁服务-道路清洁服务" +消闲用品,非日常生活消费品-耐用消费品与服装-休闲设备与用品-消闲用品,"赌场与赌博,消闲设施,消闲设施-其他消闲设施" +消闲用品-自行车,非日常生活消费品-耐用消费品与服装-休闲设备与用品-消闲用品,"保险-财产与意外伤害保险-非机动车辆险,商业服务-综合支持服务-维护服务-交通工具维护服务,生活消费品贸易" +机动车贸易,商贸-消费品商贸-非日常消费品商贸-机动车贸易, +机动车贸易-机动车零配件零售,商贸-消费品商贸-非日常消费品商贸-机动车贸易, +商业服务,工业-商业和专业服务-商业服务与商业用品-商业服务, +商业服务-综合支持服务,工业-商业和专业服务-商业服务与商业用品-商业服务,"商业服务-环境与设施服务,商业服务-环境与设施服务-其他环境工程服务,信息技术服务-信息科技咨询与其他服务,信息技术服务-信息科技咨询与其他服务-其他信息科技服务,互联网软件与服务-电商平台提供商-其他电子商务服务,互联网软件与服务-电商平台提供商" +商业服务-综合支持服务-维护服务,工业-商业和专业服务-商业服务与商业用品-商业服务, +商业服务-综合支持服务-维护服务-交通工具维护服务,工业-商业和专业服务-商业服务与商业用品-商业服务, +商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,工业-商业和专业服务-商业服务与商业用品-商业服务, +保险,金融-保险-保险-保险,调查和咨询服务-咨询服务-金融中介服务-保险公估服务 +保险-财产与意外伤害保险,金融-保险-保险-保险,"保险-保险经纪服务,保险-再保险,调查和咨询服务-咨询服务-金融中介服务-保险公估服务" +保险-财产与意外伤害保险-机动车辆险,金融-保险-保险-保险,保险-保险经纪服务 +石油与天然气,能源-能源-石油、天然气与消费用燃料-石油与天然气,"复合型公用事业,多种化学制品,化肥与农用药剂,工业气体,特种化学制品,商品化工-其他商品化工产品,商品化工,建筑材料,特种化学制品-其他特种化学制品,工业气体-其他工业气体,建筑材料-其他建筑材料,公路与铁路运输" +石油与天然气-石油与天然气的炼制和营销,能源-能源-石油、天然气与消费用燃料-石油与天然气,"复合型公用事业-热电生产和输供,化肥与农用药剂-化肥,石油与天然气-石油与天然气的储存和运输,特种化学制品-精细化工,商品化工-有机化工-其他有机化合物,特种化学制品-精细化工-其他精细化工品,化肥与农用药剂-化肥-其他化肥,独立电力生产商与能源贸易商-油气零售站,商品化工-有机化工" +石油与天然气-石油与天然气的炼制和营销-石油炼制产品,能源-能源-石油、天然气与消费用燃料-石油与天然气,"独立电力生产商与能源贸易商-油气零售站-加油站,居家用品-蜡烛,特种化学制品-精细化工,石油与天然气-石油与天然气的储存和运输-石油与天然气运输,商品化工-合成树脂-其他合成树脂-石油树脂,石油与天然气-石油与天然气的储存和运输-石油与天然气运输-油品运输,石油与天然气-石油与天然气的储存和运输-石油与天然气存储,商品化工-有机化工-芳香烃-其他芳香烃,商品化工-有机化工-其他有机化合物,商品化工-有机化工-其他有机化合物-其他有机溶剂,特种化学制品-精细化工-其他精细化工品,特种化学制品-精细化工-化工助剂-化肥助剂,特种化学制品-精细化工-萃取剂,商品化工-有机化工,特种化学制品-精细化工-汽车化工用品,特种化学制品-精细化工-填充油膏,电子制造-电子元件-电子材料-电池材料-锂离子电池材料-锂离子电池正负极材料-锂离子电池负极材料,商品化工-有机化工-烯烃,商品化工-有机化工-烷烃,商品化工-有机化工-芳香烃" +石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油,能源-能源-石油、天然气与消费用燃料-石油与天然气,"航空货运与物流-物流服务-化工物流,石油与天然气-石油与天然气的炼制和营销-成品油贸易,石油与天然气-石油与天然气的储存和运输-石油与天然气运输,特种化学制品-精细化工-化工助剂-皮革化学品-皮革化纤油剂,商品化工-有机化工-芳香烃-苯及其衍生物-其他苯及其衍生物,航空货运与物流-物流服务-仓储服务-石化产品仓储服务,特种化学制品-精细化工-化工助剂-皮革化学品,商品化工-有机化工-芳香烃-苯及其衍生物" +石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-汽油,能源-能源-石油、天然气与消费用燃料-石油与天然气,"航空货运与物流,航空货运与物流-物流服务,航空货运与物流-物流服务-第三方物流-快递物流,航空货运与物流-物流服务-化工物流,公路与铁路运输-陆运,公路与铁路运输-陆运-公路货运,公路与铁路运输-陆运-公路客运,公路与铁路运输-陆运-出租车服务,独立电力生产商与能源贸易商-油气零售站-加油站,石油与天然气-石油与天然气的炼制和营销-成品油贸易,航空货运与物流-物流服务-其他物流服务,航空货运与物流-物流服务-第三方物流,航空货运与物流-物流服务-医药物流服务,航空货运与物流-物流服务-金属物流服务,航空货运与物流-物流服务-冷链物流,公路与铁路运输-陆运-公路货运-公路危化品运输,航空货运与物流-物流服务-汽车物流服务,公路与铁路运输-陆运-公共汽车运输,航空货运与物流-物流服务-IT物流服务" +建筑、农用机械与重型卡车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"商业服务-综合支持服务-安装劳务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-其他工业机械和产品经销商,公路与铁路运输,交通基本设施,工业设备和产品贸易,商业服务-综合支持服务-安装劳务-其他安装劳务,煤与消费用燃料,建筑与工程,建筑与工程-其他建筑与工程承包" +建筑、农用机械与重型卡车-重卡及专用车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,机动车贸易-其他机动车贸易,机动车贸易,机动车贸易-汽车贸易-二手车零售,建筑与工程-交通工程,建筑与工程-电力工程" +建筑、农用机械与重型卡车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"商业服务-综合支持服务-安装劳务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-其他工业机械和产品经销商,公路与铁路运输,交通基本设施,工业设备和产品贸易,商业服务-综合支持服务-安装劳务-其他安装劳务,煤与消费用燃料,建筑与工程,建筑与工程-其他建筑与工程承包" +建筑、农用机械与重型卡车-农业机械,工业-资本品-机械制造-建筑、农用机械与重型卡车,"农产品,农产品-其他农副产品,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易-农业机械经销商" +建筑、农用机械与重型卡车-农业机械-农机具及其零部件,工业-资本品-机械制造-建筑、农用机械与重型卡车,"农产品-粮油作物,农产品-粮油作物-谷类,农产品-粮油作物-谷类-稻谷,农产品-粮油作物-谷类-稻谷-水稻,农产品-粮油作物-谷类-稻谷-杂交稻,农产品-粮油作物-谷类-大麦,农产品-粮油作物-谷类-小麦,农产品-粮油作物-谷类-玉米,农产品-粮油作物-豆类,农产品-粮油作物-豆类-大豆,农产品-果蔬及花卉,农产品-果蔬及花卉-果品,农产品-果蔬及花卉-果品-干果类-杏,农产品-粮油作物-油料作物-油菜,农产品-果蔬及花卉-蔬菜,农产品-果蔬及花卉-果品-干果类-核桃,农产品-果蔬及花卉-蔬菜-胡萝卜,农产品-果蔬及花卉-果品-干果类-红枣,农产品-果蔬及花卉-蔬菜-有机蔬菜,农产品-棉花,农产品-茶叶制品,农产品-果蔬及花卉-蔬菜-辣椒,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,农产品-粮油作物-豆类-豌豆,农产品-粮油作物-豆类-菜豆,农产品-粮油作物-油料作物,农产品-粮油作物-油料作物-花生,农产品-果蔬及花卉-果品-其他果类,农产品-果蔬及花卉-果品-水果类,农产品-果蔬及花卉-果品-干果类,农产品-果蔬及花卉-果品-干果类-其他干果,农产品-粮油作物-薯类,农产品-粮油作物-薯类-甘薯,农产品-粮油作物-薯类-马铃薯,农产品-果蔬及花卉-蔬菜-其他蔬菜,农产品-果蔬及花卉-蔬菜-葱,大蒜,姜,农产品-粮油作物-其他粮油作物,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易-农业机械经销商,农产品-果蔬及花卉-果品-水果类-甘蔗,农产品-粮油作物-谷类-高粱,农产品-棉花-原棉,纺织品-织物-汉麻,农产品-果蔬及花卉-果品-水果类-牛油果,农产品-果蔬及花卉-果品-水果类-香蕉,农产品-大麻" +建筑、农用机械与重型卡车-农业机械-农机具及其零部件-收割机,工业-资本品-机械制造-建筑、农用机械与重型卡车,"消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易-农业机械经销商" +汽车,非日常生活消费品-汽车与汽车零部件-汽车-汽车,"机动车贸易-汽车贸易,公路与铁路运输-陆运,公路与铁路运输-陆运-汽车租赁,特殊消费者服务-商品预订,商业服务-综合支持服务-维护服务-交通工具维护服务-机动车维修服务,保险-财产与意外伤害保险-机动车辆险,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-汽油,商业服务-综合支持服务-维护服务-交通工具维护服务,机动车贸易-其他机动车贸易,调查和咨询服务-专业技术服务-其他技术服务,商业服务,机动车贸易,机动车贸易-汽车贸易-二手车零售,综合金融服务-特殊金融服务-汽车金融服务,调查和咨询服务-专业技术服务,商业服务-综合支持服务-汽车美容服务-洗车服务,商业服务-综合支持服务-汽车试驾测试服务,航空货运与物流-物流服务-汽车物流服务,互联网软件与服务-电商平台提供商-汽车类信息服务,商业服务-综合支持服务-汽车美容服务" +建筑、农用机械与重型卡车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"商业服务-综合支持服务-安装劳务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-其他工业机械和产品经销商,公路与铁路运输,交通基本设施,工业设备和产品贸易,商业服务-综合支持服务-安装劳务-其他安装劳务,煤与消费用燃料,建筑与工程,建筑与工程-其他建筑与工程承包" +建筑、农用机械与重型卡车-工程机械,工业-资本品-机械制造-建筑、农用机械与重型卡车,"建筑与工程-水利工程-疏浚,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-柴油,建筑与工程-燃气管道工程-城市燃气管道建设-燃气管道安装服务,建筑与工程-专项建设工程-爆破工程,建筑与工程-专项建设工程,建筑与工程-房屋建筑工程,建筑与工程-专项建设工程-其他专项建设工程,建筑与工程-工业建筑工程-化工工程,建筑与工程-交通工程-铁路工程,建筑与工程-交通工程-公路工程,建筑与工程-交通工程-桥梁工程,建筑与工程-交通工程-隧道工程,调查和咨询服务-专业技术服务-矿山开发服务-矿石开采及冶炼,建筑与工程-水利工程-节水灌溉工程,建筑与工程-工业建筑工程-冶金工程,建筑与工程-医疗建筑工程,建筑与工程-医疗建筑工程-医疗专业工程,建筑与工程-照明工程,建筑与工程-专项建设工程-供暖工程,建筑与工程-工业建筑工程,建筑与工程-专项建设工程-体育设施工程,建筑与工程-专项建设工程-混凝土拆卸工程,建筑与工程-专项建设工程-防腐涂装工程,建筑与工程-专项建设工程-建筑保温工程,建筑与工程-专项建设工程-供暖工程-地暖工程,建筑与工程-水利工程-给排水工程,建筑与工程-水利工程-给排水工程-供水管道安装工程,建筑与工程-燃气管道工程-长距离管道建设,建筑与工程-燃气管道工程-城市燃气管道建设,建筑与工程-专项建设工程-古建筑修复工程,建筑与工程-专项建设工程-气膜建筑工程,建筑与工程-专项建设工程-基坑支护工程,建筑与工程-专项建设工程-斜坡防护工程,建筑与工程,建筑与工程-交通工程,建筑与工程-水利工程,建筑与工程-电力工程,建筑与工程-燃气管道工程,建筑与工程-工业建筑工程-煤炭工程,建筑与工程-其他建筑与工程承包,建筑与工程-专项建设工程-强夯地基工程,建筑与工程-专项建设工程-建筑防水工程" +建筑、农用机械与重型卡车-工程机械-工业车辆,工业-资本品-机械制造-建筑、农用机械与重型卡车,"交通基本设施-海港与服务-港口服务-港口物流,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,房地产开发与经营-多样化房地产业务,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-柴油,房地产开发与经营-土地开发,建筑材料-基础材料-集料-砂石,建筑与工程-工业建筑工程-化工工程,房地产开发与经营,建筑与工程-交通工程-公路工程,建筑与工程-交通工程-桥梁工程,消费信贷-租赁服务-经营性租赁-机械产品经营租赁-叉车租赁,房地产开发与经营-土地开发-土地一级开发,建筑与工程-交通工程" +商业服务,工业-商业和专业服务-商业服务与商业用品-商业服务, +商业服务-综合支持服务,工业-商业和专业服务-商业服务与商业用品-商业服务,"商业服务-环境与设施服务,商业服务-环境与设施服务-其他环境工程服务,信息技术服务-信息科技咨询与其他服务,信息技术服务-信息科技咨询与其他服务-其他信息科技服务,互联网软件与服务-电商平台提供商-其他电子商务服务,互联网软件与服务-电商平台提供商" +商业服务-综合支持服务-加工劳务,工业-商业和专业服务-商业服务与商业用品-商业服务, +商业服务-综合支持服务-加工劳务-轮胎分装,工业-商业和专业服务-商业服务与商业用品-商业服务, +建筑、农用机械与重型卡车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"商业服务-综合支持服务-安装劳务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-其他工业机械和产品经销商,公路与铁路运输,交通基本设施,工业设备和产品贸易,商业服务-综合支持服务-安装劳务-其他安装劳务,煤与消费用燃料,建筑与工程,建筑与工程-其他建筑与工程承包" +建筑、农用机械与重型卡车-工程机械,工业-资本品-机械制造-建筑、农用机械与重型卡车,"建筑与工程-水利工程-疏浚,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-柴油,建筑与工程-燃气管道工程-城市燃气管道建设-燃气管道安装服务,建筑与工程-专项建设工程-爆破工程,建筑与工程-专项建设工程,建筑与工程-房屋建筑工程,建筑与工程-专项建设工程-其他专项建设工程,建筑与工程-工业建筑工程-化工工程,建筑与工程-交通工程-铁路工程,建筑与工程-交通工程-公路工程,建筑与工程-交通工程-桥梁工程,建筑与工程-交通工程-隧道工程,调查和咨询服务-专业技术服务-矿山开发服务-矿石开采及冶炼,建筑与工程-水利工程-节水灌溉工程,建筑与工程-工业建筑工程-冶金工程,建筑与工程-医疗建筑工程,建筑与工程-医疗建筑工程-医疗专业工程,建筑与工程-照明工程,建筑与工程-专项建设工程-供暖工程,建筑与工程-工业建筑工程,建筑与工程-专项建设工程-体育设施工程,建筑与工程-专项建设工程-混凝土拆卸工程,建筑与工程-专项建设工程-防腐涂装工程,建筑与工程-专项建设工程-建筑保温工程,建筑与工程-专项建设工程-供暖工程-地暖工程,建筑与工程-水利工程-给排水工程,建筑与工程-水利工程-给排水工程-供水管道安装工程,建筑与工程-燃气管道工程-长距离管道建设,建筑与工程-燃气管道工程-城市燃气管道建设,建筑与工程-专项建设工程-古建筑修复工程,建筑与工程-专项建设工程-气膜建筑工程,建筑与工程-专项建设工程-基坑支护工程,建筑与工程-专项建设工程-斜坡防护工程,建筑与工程,建筑与工程-交通工程,建筑与工程-水利工程,建筑与工程-电力工程,建筑与工程-燃气管道工程,建筑与工程-工业建筑工程-煤炭工程,建筑与工程-其他建筑与工程承包,建筑与工程-专项建设工程-强夯地基工程,建筑与工程-专项建设工程-建筑防水工程" +建筑、农用机械与重型卡车-工程机械-筑养路机械,工业-资本品-机械制造-建筑、农用机械与重型卡车,"工业设备和产品贸易-工业机械贸易-农业与工程机械贸易,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-柴油,建筑与工程-交通工程-公路工程,建筑与工程-交通工程-桥梁工程,建筑与工程-交通工程" +建筑、农用机械与重型卡车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"商业服务-综合支持服务-安装劳务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-其他工业机械和产品经销商,公路与铁路运输,交通基本设施,工业设备和产品贸易,商业服务-综合支持服务-安装劳务-其他安装劳务,煤与消费用燃料,建筑与工程,建筑与工程-其他建筑与工程承包" +建筑、农用机械与重型卡车-工程机械,工业-资本品-机械制造-建筑、农用机械与重型卡车,"建筑与工程-水利工程-疏浚,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-柴油,建筑与工程-燃气管道工程-城市燃气管道建设-燃气管道安装服务,建筑与工程-专项建设工程-爆破工程,建筑与工程-专项建设工程,建筑与工程-房屋建筑工程,建筑与工程-专项建设工程-其他专项建设工程,建筑与工程-工业建筑工程-化工工程,建筑与工程-交通工程-铁路工程,建筑与工程-交通工程-公路工程,建筑与工程-交通工程-桥梁工程,建筑与工程-交通工程-隧道工程,调查和咨询服务-专业技术服务-矿山开发服务-矿石开采及冶炼,建筑与工程-水利工程-节水灌溉工程,建筑与工程-工业建筑工程-冶金工程,建筑与工程-医疗建筑工程,建筑与工程-医疗建筑工程-医疗专业工程,建筑与工程-照明工程,建筑与工程-专项建设工程-供暖工程,建筑与工程-工业建筑工程,建筑与工程-专项建设工程-体育设施工程,建筑与工程-专项建设工程-混凝土拆卸工程,建筑与工程-专项建设工程-防腐涂装工程,建筑与工程-专项建设工程-建筑保温工程,建筑与工程-专项建设工程-供暖工程-地暖工程,建筑与工程-水利工程-给排水工程,建筑与工程-水利工程-给排水工程-供水管道安装工程,建筑与工程-燃气管道工程-长距离管道建设,建筑与工程-燃气管道工程-城市燃气管道建设,建筑与工程-专项建设工程-古建筑修复工程,建筑与工程-专项建设工程-气膜建筑工程,建筑与工程-专项建设工程-基坑支护工程,建筑与工程-专项建设工程-斜坡防护工程,建筑与工程,建筑与工程-交通工程,建筑与工程-水利工程,建筑与工程-电力工程,建筑与工程-燃气管道工程,建筑与工程-工业建筑工程-煤炭工程,建筑与工程-其他建筑与工程承包,建筑与工程-专项建设工程-强夯地基工程,建筑与工程-专项建设工程-建筑防水工程" +建筑、农用机械与重型卡车-工程机械-起重装卸机械,工业-资本品-机械制造-建筑、农用机械与重型卡车,"交通基本设施-海港与服务,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,建筑与工程-工业建筑工程-化工工程,建筑与工程-交通工程" +建筑、农用机械与重型卡车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"商业服务-综合支持服务-安装劳务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-其他工业机械和产品经销商,公路与铁路运输,交通基本设施,工业设备和产品贸易,商业服务-综合支持服务-安装劳务-其他安装劳务,煤与消费用燃料,建筑与工程,建筑与工程-其他建筑与工程承包" +建筑、农用机械与重型卡车-农业机械,工业-资本品-机械制造-建筑、农用机械与重型卡车,"农产品,农产品-其他农副产品,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易-农业机械经销商" +建筑、农用机械与重型卡车-农业机械-农机具及其零部件,工业-资本品-机械制造-建筑、农用机械与重型卡车,"农产品-粮油作物,农产品-粮油作物-谷类,农产品-粮油作物-谷类-稻谷,农产品-粮油作物-谷类-稻谷-水稻,农产品-粮油作物-谷类-稻谷-杂交稻,农产品-粮油作物-谷类-大麦,农产品-粮油作物-谷类-小麦,农产品-粮油作物-谷类-玉米,农产品-粮油作物-豆类,农产品-粮油作物-豆类-大豆,农产品-果蔬及花卉,农产品-果蔬及花卉-果品,农产品-果蔬及花卉-果品-干果类-杏,农产品-粮油作物-油料作物-油菜,农产品-果蔬及花卉-蔬菜,农产品-果蔬及花卉-果品-干果类-核桃,农产品-果蔬及花卉-蔬菜-胡萝卜,农产品-果蔬及花卉-果品-干果类-红枣,农产品-果蔬及花卉-蔬菜-有机蔬菜,农产品-棉花,农产品-茶叶制品,农产品-果蔬及花卉-蔬菜-辣椒,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,农产品-粮油作物-豆类-豌豆,农产品-粮油作物-豆类-菜豆,农产品-粮油作物-油料作物,农产品-粮油作物-油料作物-花生,农产品-果蔬及花卉-果品-其他果类,农产品-果蔬及花卉-果品-水果类,农产品-果蔬及花卉-果品-干果类,农产品-果蔬及花卉-果品-干果类-其他干果,农产品-粮油作物-薯类,农产品-粮油作物-薯类-甘薯,农产品-粮油作物-薯类-马铃薯,农产品-果蔬及花卉-蔬菜-其他蔬菜,农产品-果蔬及花卉-蔬菜-葱,大蒜,姜,农产品-粮油作物-其他粮油作物,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易-农业机械经销商,农产品-果蔬及花卉-果品-水果类-甘蔗,农产品-粮油作物-谷类-高粱,农产品-棉花-原棉,纺织品-织物-汉麻,农产品-果蔬及花卉-果品-水果类-牛油果,农产品-果蔬及花卉-果品-水果类-香蕉,农产品-大麻" +建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,工业-资本品-机械制造-建筑、农用机械与重型卡车,"消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易-农业机械经销商,煤与消费用燃料-生物柴油" +建筑、农用机械与重型卡车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"商业服务-综合支持服务-安装劳务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-其他工业机械和产品经销商,公路与铁路运输,交通基本设施,工业设备和产品贸易,商业服务-综合支持服务-安装劳务-其他安装劳务,煤与消费用燃料,建筑与工程,建筑与工程-其他建筑与工程承包" +建筑、农用机械与重型卡车-农业机械,工业-资本品-机械制造-建筑、农用机械与重型卡车,"农产品,农产品-其他农副产品,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易-农业机械经销商" +建筑、农用机械与重型卡车-农业机械-农机具及其零部件,工业-资本品-机械制造-建筑、农用机械与重型卡车,"农产品-粮油作物,农产品-粮油作物-谷类,农产品-粮油作物-谷类-稻谷,农产品-粮油作物-谷类-稻谷-水稻,农产品-粮油作物-谷类-稻谷-杂交稻,农产品-粮油作物-谷类-大麦,农产品-粮油作物-谷类-小麦,农产品-粮油作物-谷类-玉米,农产品-粮油作物-豆类,农产品-粮油作物-豆类-大豆,农产品-果蔬及花卉,农产品-果蔬及花卉-果品,农产品-果蔬及花卉-果品-干果类-杏,农产品-粮油作物-油料作物-油菜,农产品-果蔬及花卉-蔬菜,农产品-果蔬及花卉-果品-干果类-核桃,农产品-果蔬及花卉-蔬菜-胡萝卜,农产品-果蔬及花卉-果品-干果类-红枣,农产品-果蔬及花卉-蔬菜-有机蔬菜,农产品-棉花,农产品-茶叶制品,农产品-果蔬及花卉-蔬菜-辣椒,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,农产品-粮油作物-豆类-豌豆,农产品-粮油作物-豆类-菜豆,农产品-粮油作物-油料作物,农产品-粮油作物-油料作物-花生,农产品-果蔬及花卉-果品-其他果类,农产品-果蔬及花卉-果品-水果类,农产品-果蔬及花卉-果品-干果类,农产品-果蔬及花卉-果品-干果类-其他干果,农产品-粮油作物-薯类,农产品-粮油作物-薯类-甘薯,农产品-粮油作物-薯类-马铃薯,农产品-果蔬及花卉-蔬菜-其他蔬菜,农产品-果蔬及花卉-蔬菜-葱,大蒜,姜,农产品-粮油作物-其他粮油作物,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易-农业机械经销商,农产品-果蔬及花卉-果品-水果类-甘蔗,农产品-粮油作物-谷类-高粱,农产品-棉花-原棉,纺织品-织物-汉麻,农产品-果蔬及花卉-果品-水果类-牛油果,农产品-果蔬及花卉-果品-水果类-香蕉,农产品-大麻" +建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆,工业-资本品-机械制造-建筑、农用机械与重型卡车,"消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易-农业机械经销商,煤与消费用燃料-生物柴油" +建筑、农用机械与重型卡车-农业机械-农机具及其零部件-农用车辆-拖拉机,工业-资本品-机械制造-建筑、农用机械与重型卡车,"消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-柴油,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易-农业机械经销商,煤与消费用燃料-生物柴油" +建筑、农用机械与重型卡车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"商业服务-综合支持服务-安装劳务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-其他工业机械和产品经销商,公路与铁路运输,交通基本设施,工业设备和产品贸易,商业服务-综合支持服务-安装劳务-其他安装劳务,煤与消费用燃料,建筑与工程,建筑与工程-其他建筑与工程承包" +建筑、农用机械与重型卡车-机场服务设备,工业-资本品-机械制造-建筑、农用机械与重型卡车,"交通基本设施-机场服务,交通基本设施-机场服务-地勤服务,交通基本设施-机场服务-地勤服务-航班起降服务,交通基本设施-机场服务-地勤服务-机场安检服务,交通基本设施-机场服务-地勤服务-地面运输服务,交通基本设施-机场服务-地勤服务-行李服务,商业服务-综合支持服务-维护服务-交通工具维护服务-航空器维修服务,交通基本设施-机场服务-其他机场服务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁" +建筑、农用机械与重型卡车-机场服务设备-机场专用车辆,工业-资本品-机械制造-建筑、农用机械与重型卡车,"交通基本设施-机场服务-地勤服务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,机动车贸易-其他机动车贸易,机动车贸易" +建筑、农用机械与重型卡车,工业-资本品-机械制造-建筑、农用机械与重型卡车,"商业服务-综合支持服务-安装劳务,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,工业设备和产品贸易-其他工业机械和产品经销商,公路与铁路运输,交通基本设施,工业设备和产品贸易,商业服务-综合支持服务-安装劳务-其他安装劳务,煤与消费用燃料,建筑与工程,建筑与工程-其他建筑与工程承包" +建筑、农用机械与重型卡车-工程机械,工业-资本品-机械制造-建筑、农用机械与重型卡车,"建筑与工程-水利工程-疏浚,工业设备和产品贸易-工业机械贸易-农业与工程机械贸易,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-柴油,建筑与工程-燃气管道工程-城市燃气管道建设-燃气管道安装服务,建筑与工程-专项建设工程-爆破工程,建筑与工程-专项建设工程,建筑与工程-房屋建筑工程,建筑与工程-专项建设工程-其他专项建设工程,建筑与工程-工业建筑工程-化工工程,建筑与工程-交通工程-铁路工程,建筑与工程-交通工程-公路工程,建筑与工程-交通工程-桥梁工程,建筑与工程-交通工程-隧道工程,调查和咨询服务-专业技术服务-矿山开发服务-矿石开采及冶炼,建筑与工程-水利工程-节水灌溉工程,建筑与工程-工业建筑工程-冶金工程,建筑与工程-医疗建筑工程,建筑与工程-医疗建筑工程-医疗专业工程,建筑与工程-照明工程,建筑与工程-专项建设工程-供暖工程,建筑与工程-工业建筑工程,建筑与工程-专项建设工程-体育设施工程,建筑与工程-专项建设工程-混凝土拆卸工程,建筑与工程-专项建设工程-防腐涂装工程,建筑与工程-专项建设工程-建筑保温工程,建筑与工程-专项建设工程-供暖工程-地暖工程,建筑与工程-水利工程-给排水工程,建筑与工程-水利工程-给排水工程-供水管道安装工程,建筑与工程-燃气管道工程-长距离管道建设,建筑与工程-燃气管道工程-城市燃气管道建设,建筑与工程-专项建设工程-古建筑修复工程,建筑与工程-专项建设工程-气膜建筑工程,建筑与工程-专项建设工程-基坑支护工程,建筑与工程-专项建设工程-斜坡防护工程,建筑与工程,建筑与工程-交通工程,建筑与工程-水利工程,建筑与工程-电力工程,建筑与工程-燃气管道工程,建筑与工程-工业建筑工程-煤炭工程,建筑与工程-其他建筑与工程承包,建筑与工程-专项建设工程-强夯地基工程,建筑与工程-专项建设工程-建筑防水工程" +建筑、农用机械与重型卡车-工程机械-混凝土机械,工业-资本品-机械制造-建筑、农用机械与重型卡车,"工业设备和产品贸易-工业机械贸易-农业与工程机械贸易,消费信贷-租赁服务,消费信贷-租赁服务-融资租赁,消费信贷-租赁服务-融资租赁-机械产品融资租赁,消费信贷-租赁服务-经营性租赁,消费信贷-租赁服务-经营性租赁-机械产品经营租赁,石油与天然气-石油与天然气的炼制和营销-石油炼制产品-成品油-柴油,建筑与工程-工业建筑工程-化工工程,建筑与工程-交通工程-公路工程,建筑与工程-交通工程-桥梁工程,建筑与工程-交通工程" \ No newline at end of file diff --git a/python/knext/examples/supplychain1/builder/job/data/ProductChainEvent.csv b/python/knext/examples/supplychain1/builder/job/data/ProductChainEvent.csv new file mode 100644 index 00000000..d1926399 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/data/ProductChainEvent.csv @@ -0,0 +1,2 @@ +id,name,subject,index,trend +1,顺丁橡胶成本上涨,商品化工-橡胶-合成橡胶-顺丁橡胶,价格,上涨 \ No newline at end of file diff --git a/python/knext/examples/supplychain1/builder/job/data/TaxOfCompanyEvent.csv b/python/knext/examples/supplychain1/builder/job/data/TaxOfCompanyEvent.csv new file mode 100644 index 00000000..9c697a3c --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/data/TaxOfCompanyEvent.csv @@ -0,0 +1,3 @@ +id +成本上涨 +利润下跌 diff --git a/python/knext/examples/supplychain1/builder/job/data/TaxOfProdEvent.csv b/python/knext/examples/supplychain1/builder/job/data/TaxOfProdEvent.csv new file mode 100644 index 00000000..46b1a515 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/data/TaxOfProdEvent.csv @@ -0,0 +1,2 @@ +id +价格上涨 diff --git a/python/knext/examples/supplychain1/builder/job/data/Trend.csv b/python/knext/examples/supplychain1/builder/job/data/Trend.csv new file mode 100644 index 00000000..aedc8f13 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/data/Trend.csv @@ -0,0 +1,3 @@ +id +上涨 +下跌 \ No newline at end of file diff --git a/python/knext/examples/supplychain1/builder/job/index.py b/python/knext/examples/supplychain1/builder/job/index.py new file mode 100644 index 00000000..f96cc87d --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/index.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Ant Group CO., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. + +from knext.api.component import ( + CsvSourceReader, + KGSinkWriter, + SPGTypeMapping, +) +from knext.client.model.builder_job import BuilderJob +from knext.examples.supplychain.schema.supplychain_schema_helper import SupplyChain + + +class Index(BuilderJob): + def build(self): + source = CsvSourceReader( + local_path="./builder/job/data/Index.csv", columns=["id"], start_row=2 + ) + + mapping = ( + SPGTypeMapping(spg_type_name=SupplyChain.Index.__typename__) + .add_field("id", SupplyChain.Index.id) + .add_field("id", SupplyChain.Index.name) + ) + + sink = KGSinkWriter() + + return source >> mapping >> sink diff --git a/python/knext/examples/supplychain1/builder/job/industry.py b/python/knext/examples/supplychain1/builder/job/industry.py new file mode 100644 index 00000000..3bbfa722 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/industry.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Ant Group CO., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. + +from knext.api.component import ( + CsvSourceReader, + KGSinkWriter, + SPGTypeMapping, +) +from knext.client.model.builder_job import BuilderJob +from knext.examples.supplychain.schema.supplychain_schema_helper import SupplyChain + + +class Industry(BuilderJob): + parallelism = 10 + + def build(self): + source = CsvSourceReader( + local_path="./builder/job/data/Industry.csv", + columns=["fullname"], + start_row=2, + ) + + mapping = SPGTypeMapping(spg_type_name=SupplyChain.Industry.__typename__).add_field( + "fullname", SupplyChain.Industry.id + ) + + sink = KGSinkWriter() + + return source >> mapping >> sink diff --git a/python/knext/examples/supplychain1/builder/job/person.py b/python/knext/examples/supplychain1/builder/job/person.py new file mode 100644 index 00000000..55ef3987 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/person.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Ant Group CO., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. + +from knext.api.component import ( + CsvSourceReader, + KGSinkWriter, + SPGTypeMapping, +) +from knext.client.model.builder_job import BuilderJob +from knext.examples.supplychain.schema.supplychain_schema_helper import SupplyChain + + +class Person(BuilderJob): + def build(self): + source = CsvSourceReader( + local_path="./builder/job/data/Person.csv", + columns=["id", "name", "age", "legalRep"], + start_row=2, + ) + + mapping = ( + SPGTypeMapping(spg_type_name=SupplyChain.Person.__typename__) + .add_field("id", SupplyChain.Person.id) + .add_field("name", SupplyChain.Person.name) + .add_field("age", SupplyChain.Person.age) + .add_field("legalRep", SupplyChain.Person.legalRepresentative) + ) + + sink = KGSinkWriter() + + return source >> mapping >> sink diff --git a/python/knext/examples/supplychain1/builder/job/product.py b/python/knext/examples/supplychain1/builder/job/product.py new file mode 100644 index 00000000..46b17f33 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/product.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Ant Group CO., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. + +from knext.client.model.builder_job import BuilderJob +from knext.api.component import ( + CsvSourceReader, + KGSinkWriter, + SPGTypeMapping, +) +from knext.examples.supplychain.schema.supplychain_schema_helper import SupplyChain + + +class Product(BuilderJob): + parallelism = 6 + + def build(self): + source = CsvSourceReader( + local_path="./builder/job/data/Product.csv", + columns=["fullname", "belongToIndustry", "hasSupplyChain"], + start_row=2, + ) + + mapping = ( + SPGTypeMapping(spg_type_name=SupplyChain.Product.__typename__) + .add_field("fullname", SupplyChain.Product.id) + .add_field("belongToIndustry", SupplyChain.Product.belongToIndustry) + ) + + sink = KGSinkWriter() + + return source >> mapping >> sink + + +class ProductHasSupplyChain(BuilderJob): + parallelism = 6 + + def build(self): + source = CsvSourceReader( + local_path="./builder/job/data/Product.csv", + columns=["fullname", "belongToIndustry", "hasSupplyChain"], + start_row=2, + ) + + mapping = ( + SPGTypeMapping(spg_type_name="SupplyChain.Product") + .add_field("fullname", "id") + .add_field("hasSupplyChain", "hasSupplyChain") + ) + + sink = KGSinkWriter() + + return source >> mapping >> sink diff --git a/python/knext/examples/supplychain1/builder/job/product_chain_event.py b/python/knext/examples/supplychain1/builder/job/product_chain_event.py new file mode 100644 index 00000000..54313bb4 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/product_chain_event.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Ant Group CO., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. + +from knext.client.model.builder_job import BuilderJob +from knext.api.component import ( + CsvSourceReader, + KGSinkWriter, + SPGTypeMapping, +) +from knext.examples.supplychain.schema.supplychain_schema_helper import SupplyChain + + +class ProductChainEvent(BuilderJob): + lead_to = True + + def build(self): + source = CsvSourceReader( + local_path="./builder/job/data/ProductChainEvent.csv", + columns=["id", "name", "subject", "index", "trend"], + start_row=2, + ) + + mapping = ( + SPGTypeMapping(spg_type_name=SupplyChain.ProductChainEvent.__typename__) + .add_field("id", SupplyChain.ProductChainEvent.id) + .add_field("name", SupplyChain.ProductChainEvent.name) + .add_field("subject", SupplyChain.ProductChainEvent.subject) + .add_field("index", SupplyChain.ProductChainEvent.index) + .add_field("trend", SupplyChain.ProductChainEvent.trend) + ) + + sink = KGSinkWriter() + + return source >> mapping >> sink diff --git a/python/knext/examples/supplychain1/builder/job/tax_of_company_event.py b/python/knext/examples/supplychain1/builder/job/tax_of_company_event.py new file mode 100644 index 00000000..12ee0201 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/tax_of_company_event.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Ant Group CO., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. + +from knext.client.model.builder_job import BuilderJob +from knext.api.component import ( + CsvSourceReader, + KGSinkWriter, + SPGTypeMapping, +) +from knext.examples.supplychain.schema.supplychain_schema_helper import SupplyChain + + +class TaxOfCompanyEvent(BuilderJob): + def build(self): + source = CsvSourceReader( + local_path="./builder/job/data/TaxOfCompanyEvent.csv", + columns=["id"], + start_row=2, + ) + + mapping = ( + SPGTypeMapping(spg_type_name=SupplyChain.TaxOfCompanyEvent.__typename__) + .add_field("id", SupplyChain.TaxOfCompanyEvent.id) + .add_field("name", SupplyChain.TaxOfCompanyEvent.name) + ) + + sink = KGSinkWriter() + + return source >> mapping >> sink diff --git a/python/knext/examples/supplychain1/builder/job/tax_of_product_event.py b/python/knext/examples/supplychain1/builder/job/tax_of_product_event.py new file mode 100644 index 00000000..50523178 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/tax_of_product_event.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Ant Group CO., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. + +from knext.client.model.builder_job import BuilderJob +from knext.api.component import ( + CsvSourceReader, + KGSinkWriter, + SPGTypeMapping, +) +from knext.examples.supplychain.schema.supplychain_schema_helper import SupplyChain + + +class TaxOfProdEvent(BuilderJob): + def build(self): + source = CsvSourceReader( + local_path="./builder/job/data/TaxOfProdEvent.csv", + columns=["id"], + start_row=2, + ) + + mapping = ( + SPGTypeMapping(spg_type_name=SupplyChain.TaxOfProdEvent.__typename__) + .add_field("id", SupplyChain.TaxOfProdEvent.id) + .add_field("name", SupplyChain.TaxOfProdEvent.name) + ) + + sink = KGSinkWriter() + + return source >> mapping >> sink diff --git a/python/knext/examples/supplychain1/builder/job/trend.py b/python/knext/examples/supplychain1/builder/job/trend.py new file mode 100644 index 00000000..2b955b30 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/job/trend.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Ant Group CO., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. + +from knext.client.model.builder_job import BuilderJob +from knext.api.component import ( + CsvSourceReader, + KGSinkWriter, + SPGTypeMapping, +) +from knext.examples.supplychain.schema.supplychain_schema_helper import SupplyChain + + +class Trend(BuilderJob): + def build(self): + source = CsvSourceReader( + local_path="./builder/job/data/Trend.csv", columns=["id"], start_row=2 + ) + + mapping = ( + SPGTypeMapping(spg_type_name=SupplyChain.Trend.__typename__) + .add_field("id", SupplyChain.Trend.id) + .add_field("id", SupplyChain.Trend.name) + ) + + sink = KGSinkWriter() + + return source >> mapping >> sink diff --git a/python/knext/examples/supplychain1/builder/operator/company_operator.py b/python/knext/examples/supplychain1/builder/operator/company_operator.py new file mode 100644 index 00000000..bf5d6c31 --- /dev/null +++ b/python/knext/examples/supplychain1/builder/operator/company_operator.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Ant Group CO., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. + +from typing import List + +import requests + +from knext.client.search import SearchClient +from knext.operator.op import LinkOp +from knext.operator.spg_record import SPGRecord + + +def llm_infer(word, recall): + """ + Here is the implement of LLM inferring + """ + + prompt_text = f"你作为一个语言专家,请在目标词里选出跟输入词意思最相近的一个词,如果没有意思相近的则输出null。\n要求:输出结果直接显示选中的目标词,不需要给出选择的任何理由。\n输入词:{word}。\n目标词:[{recall}]。" + param = {"prompt": prompt_text, "history": None} + llm_response = requests.post("http://127.0.0.1:8888", json=param) + if llm_response.status_code == 200: + content = llm_response.content + if content.startswith("输出结果:"): + return content[content.index(":") + 1:].strip().rstrip("。") + else: + return "null" + + +class CompanyLinkerOperator(LinkOp): + bind_to = "SupplyChain.Company" + + def __init__(self): + super().__init__() + self.search_client = SearchClient("SupplyChain.Company") + self.enable_llm = False + + def eval(self, property: str, record: SPGRecord) -> List[SPGRecord]: + company_name = property + query = {"match": {"name": company_name}} + recalls = self.search_client.search(query, start=0, size=30) + + if not recalls: + return [] + + if recalls[0].score < 0.6: + # Low similarity, discard recall results + return [] + + if company_name == recalls[0].properties["name"]: + # If the result of Top1 is the same as the attribute value, then returned directly + return [SPGRecord('SupplyChain.Company', {'id': recalls[0].doc_id})] + + # Perform fine-ranking on coarse recall results by calling LLM + if not self.enable_llm: + return [SPGRecord('SupplyChain.Company', {'id': recalls[0].doc_id})] + recall_dict = {} + for item in recalls: + recall_dict[item.properties["name"]] = item.doc_id + recall_str = ",".join(recall_dict.keys()) + + # ----- Please enable the code below when LLM service is ready ------ + llm_result = llm_infer(company_name, recall_str) + if len(llm_result) > 0 and llm_result != "null": + return [ + SPGRecord("SupplyChain.Company", {'id': recall_dict[llm_result]}) + ] + return [] diff --git a/python/knext/examples/supplychain1/reasoner/fund_trans_feature.dsl b/python/knext/examples/supplychain1/reasoner/fund_trans_feature.dsl new file mode 100644 index 00000000..35b9fb38 --- /dev/null +++ b/python/knext/examples/supplychain1/reasoner/fund_trans_feature.dsl @@ -0,0 +1,2 @@ +MATCH (s:SupplyChain.Company) +RETURN s.id, s.fundTrans1Month, s.fundTrans3Month, s.fundTrans6Month, s.fundTrans1MonthIn, s.fundTrans3MonthIn, s.fundTrans6MonthIn diff --git a/python/knext/examples/supplychain1/reasoner/same_legal_reprensentative.dsl b/python/knext/examples/supplychain1/reasoner/same_legal_reprensentative.dsl new file mode 100644 index 00000000..79e6c8ae --- /dev/null +++ b/python/knext/examples/supplychain1/reasoner/same_legal_reprensentative.dsl @@ -0,0 +1,2 @@ +MATCH (s:SupplyChain.Company)-[p:sameLegalRepresentative]->(o:SupplyChain.Company) +RETURN s.id, o.id diff --git a/python/knext/examples/supplychain1/schema/concept.rule b/python/knext/examples/supplychain1/schema/concept.rule new file mode 100644 index 00000000..6c579622 --- /dev/null +++ b/python/knext/examples/supplychain1/schema/concept.rule @@ -0,0 +1,95 @@ +namespace SupplyChain + +`TaxOfProdEvent`/`价格上涨`: + rule: [[ + Define (e:ProductChainEvent)-[p:belongTo]->(o:`TaxOfProdEvent`/`价格上涨`) { + Structure { + } + Constraint { + R1: e.index == '价格' + R2: e.trend == '上涨' + } + } + ]] + +`TaxOfCompanyEvent`/`成本上涨`: + rule: [[ + Define (e:CompanyEvent)-[p:belongTo]->(o:`TaxOfCompanyEvent`/`成本上涨`) { + Structure { + } + Constraint { + R1: e.index == '成本' + R2: e.trend == '上涨' + } + } + ]] +`TaxOfCompanyEvent`/`利润下跌`: + rule: [[ + Define (e:CompanyEvent)-[p:belongTo]->(o:`TaxOfCompanyEvent`/`利润下跌`) { + Structure { + } + Constraint { + R1: e.index == '利润' + R2: e.trend == '下跌' + } + } + ]] + +`TaxOfProdEvent`/`价格上涨`:TaxOfCompanyEvent/`成本上涨` + rule: [[ + Define (s:`TaxOfProdEvent`/`价格上涨`)-[p:leadTo]->(o:`TaxOfCompanyEvent`/`成本上涨`) { + Structure { + (s)-[:subject]->(prod:Product)-[:hasSupplyChain]->(down:Product)<-[:product]-(c:Company) + } + Constraint { + eventName = concat(c.name, "成本上升事件") + } + Action { + downEvent = createNodeInstance( + type=CompanyEvent, + value = { + subject=c.id + name=eventName + trend="上涨" + index="成本" + } + ) + createEdgeInstance( + src=s, + dst=downEvent, + type=leadTo, + value={} + ) + } + } + ]] + +`TaxOfCompanyEvent`/`成本上涨`:TaxOfCompanyEvent/`利润下跌` + rule: [[ + Define (s:`TaxOfCompanyEvent`/`成本上涨`)-[p:leadTo]->(o:`TaxOfCompanyEvent`/`利润下跌`) { + Structure { + (s)-[:subject]->(c:Company) + } + Constraint { + eventName = concat(c.name, "利润下跌事件") + } + Action { + downEvent = createNodeInstance( + type=CompanyEvent, + value={ + subject=c.id + name=eventName + trend="下跌" + index="利润" + } + ) + createEdgeInstance( + src=s, + dst=downEvent, + type=leadTo, + value={} + ) + } + } + ]] + diff --git a/python/knext/examples/supplychain1/schema/supplychain.schema b/python/knext/examples/supplychain1/schema/supplychain.schema new file mode 100644 index 00000000..f7771bbd --- /dev/null +++ b/python/knext/examples/supplychain1/schema/supplychain.schema @@ -0,0 +1,224 @@ +namespace SupplyChain + +Industry(产业): ConceptType + hypernymPredicate: isA + +Product(产品): ConceptType + hypernymPredicate: isA + properties: + hasSupplyChain(供应链): Product + constraint: MultiValue + belongToIndustry(所属产业): Industry + +Company(企业): EntityType + properties: + product(经营产品): Product + constraint: MultiValue + totalTransInAmt(总共流入金额): Integer + rule: [[ + Define (s:Company)-[p:totalTransInAmt]->(o:Integer) { + STRUCTURE { + (inCompany:Company)-[fundIn:fundTrans]->(s) + } + CONSTRAINT { + otherTransSum("总共转入金额") = group(s).sum(fundIn.transAmt) + o = otherTransSum + } + } + ]] + fundTrans1Month(近1月流出): Integer + rule: [[ + Define (s:Company)-[p:fundTrans1Month]->(o:Integer) { + STRUCTURE { + (s)-[f:fundTrans]->(c:Company) + } + CONSTRAINT { + R1("近1个月的流出资金"): date_diff(from_unix_time(now(), 'yyyyMMdd'),f.transDate) < 30 + totalOut = group(s).sum(f.transAmt) + o = totalOut + } + } + ]] + fundTrans3Month(近3月流出): Integer + rule: [[ + Define (s:Company)-[p:fundTrans3Month]->(o:Integer) { + STRUCTURE { + (s)-[f:fundTrans]->(c:Company) + } + CONSTRAINT { + R1("近3个月的流出资金"): date_diff(from_unix_time(now(), 'yyyyMMdd'),f.transDate) < 90 + totalOut = group(s).sum(f.transAmt) + o = totalOut + } + } + ]] + fundTrans6Month(近6月流出): Integer + rule: [[ + Define (s:Company)-[p:fundTrans6Month]->(o:Integer) { + STRUCTURE { + (s)-[f:fundTrans]->(c:Company) + } + CONSTRAINT { + R1("近6个月的流出资金"): date_diff(from_unix_time(now(), 'yyyyMMdd'),f.transDate) < 180 + totalOut = group(s).sum(f.transAmt) + o = totalOut + } + } + ]] + fundTrans1MonthIn(近1月流入): Integer + rule: [[ + Define (s:Company)-[p:fundTrans1MonthIn]->(o:Integer) { + STRUCTURE { + (s)<-[f:fundTrans]-(c:Company) + } + CONSTRAINT { + R1("近1个月的流出资金"): date_diff(from_unix_time(now(), 'yyyyMMdd'),f.transDate) < 30 + totalOut = group(s).sum(f.transAmt) + o = totalOut + } + } + ]] + fundTrans3MonthIn(近3月流入): Integer + rule: [[ + Define (s:Company)-[p:fundTrans3MonthIn]->(o:Integer) { + STRUCTURE { + (s)<-[f:fundTrans]-(c:Company) + } + CONSTRAINT { + R1("近3个月的流出资金"): date_diff(from_unix_time(now(), 'yyyyMMdd'),f.transDate) < 90 + totalOut = group(s).sum(f.transAmt) + o = totalOut + } + } + ]] + fundTrans6MonthIn(近6月流入): Integer + rule: [[ + Define (s:Company)-[p:fundTrans6MonthIn]->(o:Integer) { + STRUCTURE { + (s)<-[f:fundTrans]-(c:Company) + } + CONSTRAINT { + R1("近6个月的流出资金"): date_diff(from_unix_time(now(), 'yyyyMMdd'),f.transDate) < 180 + totalOut = group(s).sum(f.transAmt) + o = totalOut + } + } + ]] + cashflowDiff1Month(近1个月资金流水差): Integer + rule: [[ + Define (s:Company)-[p:cashflowDiff1Month]->(o:Integer) { + STRUCTURE{ + (s) + } + CONSTRAINT { + // 此处引用特征3中的规则 + fundTrans1Month = rule_value(s.fundTrans1Month == null, 0, s.fundTrans1Month) + fundTrans1MonthIn = rule_value(s.fundTrans1MonthIn == null, 0, s.fundTrans1MonthIn) + o = fundTrans1Month - fundTrans1MonthIn + } + } + ]] + cashflowDiff3Month(近3个月资金流水差): Integer + rule: [[ + Define (s:Company)-[p:cashflowDiff3Month]->(o:Integer) { + STRUCTURE{ + (s) + } + CONSTRAINT { + // 此处引用特征3中的规则 + fundTrans3Month = rule_value(s.fundTrans3Month == null, 0, s.fundTrans3Month) + fundTrans3MonthIn = rule_value(s.fundTrans3MonthIn == null, 0, s.fundTrans3MonthIn) + o = fundTrans3Month - fundTrans3MonthIn + } + } + ]] + cashflowDiff6Month(近6个月资金流水差): Integer + rule: [[ + Define (s:Company)-[p:cashflowDiff6Month]->(o:Integer) { + STRUCTURE{ + (s) + } + CONSTRAINT { + fundTrans6Month = rule_value(s.fundTrans6Month == null, 0, s.fundTrans6Month) + fundTrans6MonthIn = rule_value(s.fundTrans6MonthIn == null, 0, s.fundTrans6MonthIn) + o = fundTrans6Month - fundTrans6MonthIn + } + } + ]] + relations: + fundTrans(资金往来): Company + properties: + transDate(交易日期): Text + transAmt(交易金额): Integer + mainSupply(主要客户): Company + rule: [[ + Define (s:Company)-[p:mainSupply]->(o:Company) { + STRUCTURE { + (s)-[:product]->(upProd:Product)-[:hasSupplyChain]->(downProd:Product)<-[:product]-(o), + (o)-[f:fundTrans]->(s) + } + CONSTRAINT { + // 计算公司o的转入占比 + targetTransSum("供应链公司转入金额") = group(s,o).sum(f.transAmt) + R1("占比必须超过50%"): targetTransSum*1.0/s.totalTransInAmt > 0.5 + } + } + ]] + belongToIndustry(所在行业): Industry + rule: [[ + Define (s:Company)-[p:belongToIndustry]->(o:Industry) { + STRUCTURE { + (s)-[:product]->(c:Product)-[:belongToIndustry]->(o) + } + CONSTRAINT { + } + } + ]] + sameLegalRepresentative(共同法人): Company + rule: [[ + Define (s:Company)-[p:sameLegalRepresentative]->(o:Company) { + STRUCTURE { + (s)<-[:legalRepresentative]-(u:Person)-[:legalRepresentative]->(o) + } + CONSTRAINT { + } + } + ]] + +Person(自然人): EntityType + properties: + age(年龄): Integer + certNo(证件号码): Text + legalRepresentative(法人代表): Company + constraint: MultiValue + +Index(指标): ConceptType + hypernymPredicate: isA + +Trend(趋势): ConceptType + hypernymPredicate: isA + +TaxOfCompanyEvent(公司事件分类): ConceptType + hypernymPredicate: isA + +CompanyEvent(公司事件): EventType + properties: + subject(主体): Company + index(指标): Index + trend(趋势): Trend + IND#belongTo(属于): TaxOfCompanyEvent + CAU#leadTo(导致): CompanyEvent + +TaxOfProdEvent(产业链事件分类): ConceptType + hypernymPredicate: isA + relations: + CAU#leadTo(导致): TaxOfCompanyEvent + +ProductChainEvent(产业链事件): EventType + properties: + subject(主体): Product + index(指标): Index + trend(趋势): Trend + IND#belongTo(属于): TaxOfProdEvent + relations: + CAU#leadTo(导致): CompanyEvent diff --git a/python/knext/examples/supplychain1/schema/supplychain_schema_helper.py b/python/knext/examples/supplychain1/schema/supplychain_schema_helper.py new file mode 100644 index 00000000..a29798c9 --- /dev/null +++ b/python/knext/examples/supplychain1/schema/supplychain_schema_helper.py @@ -0,0 +1,147 @@ +# ATTENTION! +# This file is generated by Schema automatically, it will be refreshed after schema has been committed +# PLEASE DO NOT MODIFY THIS FILE!!! +# + +class SupplyChain: + def __init__(self): + self.Company = self.Company() + self.CompanyEvent = self.CompanyEvent() + self.Index = self.Index() + self.Industry = self.Industry() + self.Person = self.Person() + self.Product = self.Product() + self.ProductChainEvent = self.ProductChainEvent() + self.TaxOfCompanyEvent = self.TaxOfCompanyEvent() + self.TaxOfProdEvent = self.TaxOfProdEvent() + self.Trend = self.Trend() + + class Company: + __typename__ = "SupplyChain.Company" + description = "description" + id = "id" + name = "name" + fundTrans6Month = "fundTrans6Month" + fundTrans3Month = "fundTrans3Month" + fundTrans1Month = "fundTrans1Month" + cashflowDiff6Month = "cashflowDiff6Month" + fundTrans1MonthIn = "fundTrans1MonthIn" + product = "product" + totalTransInAmt = "totalTransInAmt" + fundTrans3MonthIn = "fundTrans3MonthIn" + fundTrans6MonthIn = "fundTrans6MonthIn" + cashflowDiff3Month = "cashflowDiff3Month" + cashflowDiff1Month = "cashflowDiff1Month" + + def __init__(self): + pass + + class CompanyEvent: + __typename__ = "SupplyChain.CompanyEvent" + description = "description" + id = "id" + name = "name" + eventTime = "eventTime" + index = "index" + belongTo = "belongTo" + subject = "subject" + leadTo = "leadTo" + trend = "trend" + + def __init__(self): + pass + + class Index: + __typename__ = "SupplyChain.Index" + description = "description" + id = "id" + name = "name" + alias = "alias" + stdId = "stdId" + + def __init__(self): + pass + + class Industry: + __typename__ = "SupplyChain.Industry" + description = "description" + id = "id" + name = "name" + stdId = "stdId" + alias = "alias" + + def __init__(self): + pass + + class Person: + __typename__ = "SupplyChain.Person" + description = "description" + id = "id" + name = "name" + certNo = "certNo" + age = "age" + legalRepresentative = "legalRepresentative" + + def __init__(self): + pass + + class Product: + __typename__ = "SupplyChain.Product" + description = "description" + id = "id" + name = "name" + alias = "alias" + hasSupplyChain = "hasSupplyChain" + stdId = "stdId" + belongToIndustry = "belongToIndustry" + + def __init__(self): + pass + + class ProductChainEvent: + __typename__ = "SupplyChain.ProductChainEvent" + description = "description" + id = "id" + name = "name" + eventTime = "eventTime" + subject = "subject" + trend = "trend" + belongTo = "belongTo" + index = "index" + + def __init__(self): + pass + + class TaxOfCompanyEvent: + __typename__ = "SupplyChain.TaxOfCompanyEvent" + description = "description" + id = "id" + name = "name" + stdId = "stdId" + alias = "alias" + + def __init__(self): + pass + + class TaxOfProdEvent: + __typename__ = "SupplyChain.TaxOfProdEvent" + description = "description" + id = "id" + name = "name" + stdId = "stdId" + alias = "alias" + + def __init__(self): + pass + + class Trend: + __typename__ = "SupplyChain.Trend" + description = "description" + id = "id" + name = "name" + alias = "alias" + stdId = "stdId" + + def __init__(self): + pass +