# HugeGraph **Repository Path**: futurelearning-materials/huge-graph ## Basic Information - **Project Name**: HugeGraph - **Description**: HugeGraph Demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-05-22 - **Last Updated**: 2025-05-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HugeGraph 交易数据 API 这个项目提供了一组 RESTful API,用于管理和查询 HugeGraph 中的交易数据。 ## 配置说明 配置文件位于 `src/main/resources/application.yml`,主要配置项说明如下: ### HugeGraph 配置 ```yaml hugegraph: # 服务器URL server-url: http://localhost:8080 # 图名称 graph-name: hugegraph # 超时时间(秒) timeout: 60 # 批量操作配置 batch: # 顶点批处理大小 vertex-batch-size: 500 # 边批处理大小 edge-batch-size: 500 # 是否检查顶点存在 check-vertex: true ``` ### 文件上传配置 ```yaml spring: servlet: multipart: max-file-size: 100MB max-request-size: 100MB ``` ### 日志配置 ```yaml logging: level: root: info com.meiya.hugegraph: debug pattern: console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n" file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n" file: name: logs/hugegraph-api.log ``` ## API 列表 ### 交易数据批量导入 - **POST /api/transaction/transaction-data/upload**:批量导入交易数据(使用 HugeGraph RESTful API) - **POST /api/transaction/transaction-data/upload-native**:批量导入交易数据(使用 HugeGraph Java API) ### 卡相关查询 - **GET /api/transaction/cards**:查询卡列表 - **GET /api/transaction/cards/{cardId}/transactions**:查询卡的交易 ### 交易相关查询 - **GET /api/transaction/transactions**:查询交易列表 - **POST /api/transaction/transactions/search**:根据卡号集合查询交易网络 ### 数据删除 - **DELETE /api/transaction/cards/{cardId}**:删除卡 - **DELETE /api/transaction/transactions/{transactionId}**:删除交易 ## CSV 导入模板格式 交易数据 CSV 模板格式: | 字段 | 说明 | | ---- | ---- | | jykh | 交易卡号(源卡) | | jyhm | 交易户名(源卡持有人) | | jyje | 交易金额 | | jysj | 交易时间(格式:yyyy-MM-dd HH:mm:ss) | | dskh | 对手卡号(目标卡) | | dshm | 对手户名(目标卡持有人) | | ukey | 交易唯一标识 | 示例: ``` jykh,jyhm,jyje,jysj,dskh,dshm,ukey 6217001104823887,张三15,9816.88,2025-04-02 21:53:03,6217003062649018,张三38,5870058386517560643 6217000890019956,张三10,2364.40,2025-04-04 04:23:03,6217006700549048,张三74,-3772262301771040901 6217006021778933,张三97,5467.86,2025-03-30 00:09:03,106842652859,支付宝-还款,36865958343804092 ``` ## 运行说明 ### Java API 运行 1. 确保 HugeGraph 服务器已启动并运行。 2. 运行 [HugeGraphUtilDemo.java](src/main/java/com/meiya/hugegraph/example/HugeGraphUtilDemo.java) 先将库表结构清除 3. 运行 [TransactionSchema.java](src/main/java/com/meiya/hugegraph/schema/TransactionSchema.java) 以创建交易数据的图模式。 4. 运行 [TransactionGraphExample.java](src/main/java/com/meiya/hugegraph/example/TransactionGraphExample.java) 导入示例数据 5. Rest Api 进行接口调用 ### Shell Client 1. 确保 HugeGraph 服务器已启动并运行。 2. 运行 [HugeGraphUtilDemo.java](src/main/java/com/meiya/hugegraph/example/HugeGraphUtilDemo.java) 先将库表结构清除 3. 运行 [TransactionSchema.java](src/main/java/com/meiya/hugegraph/schema/TransactionSchema.java) 以创建交易数据的图模式。 4. 命令行执行 ```bash docker exec -it loader bin/hugegraph-loader.sh -g hugegraph -f /loader/dataset/struct.json -s /loader/dataset/schema.groovy -h server -p 8080 ``` 5. 查看相关导入日志,loader目录下 loader/struct/load-progress_yyyyMMdd-hhmmss