GitHub user dosubot[bot] added a comment to the discussion: 关于电网拓扑数据导入
<!-- Answer --> 你的 struct.json 配置还不能保证所有连接关系都能导入,原因是 HugeGraph 的每个 edgeLabel 只能连接一种源点和目标点类型,且 struct.json 里每个 edgeLabel 的配置会尝试导入整个 edge_connected_to.csv,但只有源/目标顶点 label 和 schema.groovy 里 edgeLabel 的 sourceLabel/targetLabel 完全匹配时才会真正导入成功,否则会被静默跳过(不会报错,但关系缺失)[参考](https://github.com/apache/incubator-hugegraph-doc/blob/3e1c610281c91ea3a5c600b393088e9ffae34799/content/en/docs/quickstart/toolchain/hugegraph-loader.md#L139-L1090)。 你的配置只覆盖了部分边类型,像 LineSegment2LineSegment、LineSegment2LineSwitch、LineSwitch2LineSegment 等常见的电网关系没有在 struct.json 里补全,所以这些类型的连接不会被导入。即使 edge_connected_to.csv 里有这些数据,loader 也会因为 label 不匹配 schema 而跳过。 **建议做法:** 1. 明确所有需要的边类型组合,比如: - Substation2LineSegment - LineSegment2Substation - LineSegment2StationHouse - StationHouse2LineSegment - LineSegment2LineSegment - LineSegment2LineSwitch - LineSwitch2LineSegment - StationHouse2LineSwitch - LineSwitch2StationHouse 2. schema.groovy 里为每种类型的连接都定义 edgeLabel,sourceLabel/targetLabel 必须和顶点 label 一致。 3. struct.json 里 edges 部分为每个 edgeLabel 配置一段,source/target 字段和顶点主键一致,value_mapping 只需把 label 字段映射为 edgeLabel 名称(如 "CONNECTED_TO": "LineSegment2LineSegment")。 4. edge_connected_to.csv 建议增加 source_label/target_label 字段(或用脚本拆分),这样每个 edgeLabel 配置时可以用 selected/value_mapping 精确筛选出属于自己的那部分边,避免类型不匹配被跳过。 **举例:** ```json { "label": "LineSegment2LineSegment", "source": ["from"], "target": ["to"], "input": { "type": "file", "path": "/loader/power_data/edge_connected_to.csv", "format": "CSV", "header": ["id", "from", "to", "label", "source_label", "target_label"] }, "field_mapping": { "from": "id", "to": "id" }, "selected": ["from", "to"], "value_mapping": { "label": { "CONNECTED_TO": "LineSegment2LineSegment" }, "source_label": { "LineSegment": "LineSegment" }, "target_label": { "LineSegment": "LineSegment" } } } ``` 每种类型的边都要写一段,path 可以都指向同一个 CSV 文件。 **核心要点**:每个 edgeLabel 只能导入一种类型的连接,必须保证 struct.json 里每个 edgeLabel 配置只处理属于自己的那部分边,否则会被跳过,导致连接关系不全。loader 的“成功”只代表数据格式没错,不代表所有逻辑关系都建立了[官方文档说明](https://github.com/apache/incubator-hugegraph-doc/blob/3e1c610281c91ea3a5c600b393088e9ffae34799/content/en/docs/quickstart/toolchain/hugegraph-loader.md#L139-L1090)。 如需具体 struct.json/schema.groovy 模板或数据预处理脚本,可以补充你的需求。 <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/f7a54495-c74c-4416-b88b-1c641624839f?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/f7a54495-c74c-4416-b88b-1c641624839f?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/f7a54495-c74c-4416-b88b-1c641624839f?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/f7a54495-c74c-4416-b88b-1c641624839f?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/f7a54495-c74c-4416-b88b-1c641624839f?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/f7a54495-c74c-4416-b88b-1c641624839f?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/f7a54495-c74c-4416-b88b-1c641624839f?feedback_type=other)</sup> [](https://app.dosu.dev/e5e246fa-a522-4d8a-ab3c-e2588b5b501b/ask?utm_source=github) [](https://cursor.com/link/prompt?text=%E4%BD%A0%E7%9A%84%20struct.json%20%E9%85%8D%E7%BD%AE%E8%BF%98%E4%B8%8D%E8%83%BD%E4%BF%9D%E8%AF%81%E6%89%80%E6%9C%89%E8%BF%9E%E6%8E%A5%E5%85%B3%E7%B3%BB%E9%83%BD%E8%83%BD%E5%AF%BC%E5%85%A5%EF%BC%8C%E5%8E%9F%E5%9B%A0%E6%98%AF%20HugeGraph%20%E7%9A%84%E6%AF%8F%E4%B8%AA%20edgeLabel%20%E5%8F%AA%E8%83%BD%E8%BF%9E%E6%8E%A5%E4%B8%80%E7%A7%8D%E6%BA%90%E7%82%B9%E5%92%8C%E7%9B%AE%E6%A0%87%E7%82%B9%E7%B1%BB%E5%9E%8B%EF%BC%8C%E4%B8%94%20struct.json%20%E9%87%8C%E6%AF%8F%E4%B8%AA%20edgeLabel%20%E7%9A%84%E9%85%8D%E7%BD%AE%E4%BC%9A%E5%B0%9D%E8%AF%95%E5%AF%BC%E5%85%A5%E6%95%B4%E4%B8%AA%20edge_connected_to.csv%EF%BC%8C%E4%BD%86%E5%8F%AA%E6%9C%89%E6%BA%90/%E7%9B%AE%E6%A0%87%E9%A1%B6%E7%82%B9%20label%20%E5%92%8C%20schema.groovy%20%E9%87%8C%20edgeLabel%20%E7%9A%84%20source Label/targetLabel%20%E5%AE%8C%E5%85%A8%E5%8C%B9%E9%85%8D%E6%97%B6%E6%89%8D%E4%BC%9A%E7%9C%9F%E6%AD%A3%E5%AF%BC%E5%85%A5%E6%88%90%E5%8A%9F%EF%BC%8C%E5%90%A6%E5%88%99%E4%BC%9A%E8%A2%AB%E9%9D%99%E9%BB%98%E8%B7%B3%E8%BF%87%EF%BC%88%E4%B8%8D%E4%BC%9A%E6%8A%A5%E9%94%99%EF%BC%8C%E4%BD%86%E5%85%B3%E7%B3%BB%E7%BC%BA%E5%A4%B1%EF%BC%89%5B%E5%8F%82%E8%80%83%5D%28https%3A//github.com/apache/incubator-hugegraph-doc/blob/3e1c610281c91ea3a5c600b393088e9ffae34799/content/en/docs/quickstart/toolchain/hugegraph-loader.md%23L139-L1090%29%E3%80%82%0A%0A%E4%BD%A0%E7%9A%84%E9%85%8D%E7%BD%AE%E5%8F%AA%E8%A6%86%E7%9B%96%E4%BA%86%E9%83%A8%E5%88%86%E8%BE%B9%E7%B1%BB%E5%9E%8B%EF%BC%8C%E5%83%8F%20LineSegment2LineSegment%E3%80%81LineSegment2LineSwitch%E3%80%81LineSwitch2LineSegment%20%E7%AD%89%E5%B8%B8%E8%A7%81%E7%9A%84%E7%94%B5%E7%BD%91%E5%85%B3%E7%B3%BB%E6%B2%A1%E6%9C%89%E5%9C%A8%20struct.json%20%E9%87%8C%E8%A1%A5%E5%85%A8%EF%BC%8C%E6%89%80%E4%BB%A5%E8%BF%99%E4%BA%9B%E7%B1%BB%E5%9E%8B%E7%9A%84%E8%BF%9E%E6%8E%A5 %E4%B8%8D%E4%BC%9A%E8%A2%AB%E5%AF%BC%E5%85%A5%E3%80%82%E5%8D%B3%E4%BD%BF%20edge_connected_to.csv%20%E9%87%8C%E6%9C%89%E8%BF%99%E4%BA%9B%E6%95%B0%E6%8D%AE%EF%BC%8Cloader%20%E4%B9%9F%E4%BC%9A%E5%9B%A0%E4%B8%BA%20label%20%E4%B8%8D%E5%8C%B9%E9%85%8D%20schema%20%E8%80%8C%E8%B7%B3%E8%BF%87%E3%80%82%0A%0A%2A%2A%E5%BB%BA%E8%AE%AE%E5%81%9A%E6%B3%95%EF%BC%9A%2A%2A%0A1.%20%E6%98%8E%E7%A1%AE%E6%89%80%E6%9C%89%E9%9C%80%E8%A6%81%E7%9A%84%E8%BE%B9%E7%B1%BB%E5%9E%8B%E7%BB%84%E5%90%88%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%0A%20%20%20-%20Substation2LineSegment%0A%20%20%20-%20LineSegment2Substation%0A%20%20%20-%20LineSegment2StationHouse%0A%20%20%20-%20StationHouse2LineSegment%0A%20%20%20-%20LineSegment2LineSegment%0A%20%20%20-%20LineSegment2LineSwitch%0A%20%20%20-%20LineSwitch2LineSegment%0A%20%20%20-%20StationHouse2LineSwitch%0A%20%20%20-%20LineSwitch2StationHouse%0A2.%20schema.groovy%20%E9%87%8C%E4%B8%BA%E6%AF%8F%E7%A7%8D%E7%B1%BB%E5%9E%8B%E7%9A%84%E8%BF%9E%E6%8E%A5%E9%83%BD%E5%AE%9A%E4%B9%89%20edgeL abel%EF%BC%8CsourceLabel/targetLabel%20%E5%BF%85%E9%A1%BB%E5%92%8C%E9%A1%B6%E7%82%B9%20label%20%E4%B8%80%E8%87%B4%E3%80%82%0A3.%20struct.json%20%E9%87%8C%20edges%20%E9%83%A8%E5%88%86%E4%B8%BA%E6%AF%8F%E4%B8%AA%20edgeLabel%20%E9%85%8D%E7%BD%AE%E4%B8%80%E6%AE%B5%EF%BC%8Csource/target%20%E5%AD%97%E6%AE%B5%E5%92%8C%E9%A1%B6%E7%82%B9%E4%B8%BB%E9%94%AE%E4%B8%80%E8%87%B4%EF%BC%8Cvalue_mapping%20%E5%8F%AA%E9%9C%80%E6%8A%8A%20label%20%E5%AD%97%E6%AE%B5%E6%98%A0%E5%B0%84%E4%B8%BA%20edgeLabel%20%E5%90%8D%E7%A7%B0%EF%BC%88%E5%A6%82%20%22CONNECTED_TO%22%3A%20%22LineSegment2LineSegment%22%EF%BC%89%E3%80%82%0A4.%20edge_connected_to.csv%20%E5%BB%BA%E8%AE%AE%E5%A2%9E%E5%8A%A0%20source_label/target_label%20%E5%AD%97%E6%AE%B5%EF%BC%88%E6%88%96%E7%94%A8%E8%84%9A%E6%9C%AC%E6%8B%86%E5%88%86%EF%BC%89%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%AF%8F%E4%B8%AA%20edgeLabel%20%E9%85%8D%E7%BD%AE%E6%97%B6%E5%8F%AF%E4%BB%A5%E7%94%A8%20selected/value_mapping%20%E7%B2%BE%E7%A1%AE%E7%AD%9B%E9%80%89%E5%87%BA%E5%B1%9E%E4%BA%8E%E8% 87%AA%E5%B7%B1%E7%9A%84%E9%82%A3%E9%83%A8%E5%88%86%E8%BE%B9%EF%BC%8C%E9%81%BF%E5%85%8D%E7%B1%BB%E5%9E%8B%E4%B8%8D%E5%8C%B9%E9%85%8D%E8%A2%AB%E8%B7%B3%E8%BF%87%E3%80%82%0A%0A%2A%2A%E4%B8%BE%E4%BE%8B%EF%BC%9A%2A%2A%0A%60%60%60json%0A%7B%0A%20%20%22label%22%3A%20%22LineSegment2LineSegment%22%2C%0A%20%20%22source%22%3A%20%5B%22from%22%5D%2C%0A%20%20%22target%22%3A%20%5B%22to%22%5D%2C%0A%20%20%22input%22%3A%20%7B%20%22type%22%3A%20%22file%22%2C%20%22path%22%3A%20%22/loader/power_data/edge_connected_to.csv%22%2C%20%22format%22%3A%20%22CSV%22%2C%20%22header%22%3A%20%5B%22id%22%2C%20%22from%22%2C%20%22to%22%2C%20%22label%22%2C%20%22source_label%22%2C%20%22target_label%22%5D%20%7D%2C%0A%20%20%22field_mapping%22%3A%20%7B%20%22from%22%3A%20%22id%22%2C%20%22to%22%3A%20%22id%22%20%7D%2C%0A%20%20%22selected%22%3A%20%5B%22from%22%2C%20%22to%22%5D%2C%0A%20%20%22value_mapping%22%3A%20%7B%0A%20%20%20%20%22label%22%3A%20%7B%20%22CONNECTED_TO%22%3A%20%22LineSegment2LineSegment%22%20%7D%2C%0A%20%20%20%2 0%22source_label%22%3A%20%7B%20%22LineSegment%22%3A%20%22LineSegment%22%20%7D%2C%0A%20%20%20%20%22target_label%22%3A%20%7B%20%22LineSegment%22%3A%20%22LineSegment%22%20%7D%0A%20%20%7D%0A%7D%0A%60%60%60%0A%E6%AF%8F%E7%A7%8D%E7%B1%BB%E5%9E%8B%E7%9A%84%E8%BE%B9%E9%83%BD%E8%A6%81%E5%86%99%E4%B8%80%E6%AE%B5%EF%BC%8Cpath%20%E5%8F%AF%E4%BB%A5%E9%83%BD%E6%8C%87%E5%90%91%E5%90%8C%E4%B8%80%E4%B8%AA%20CSV%20%E6%96%87%E4%BB%B6%E3%80%82%0A%0A%2A%2A%E6%A0%B8%E5%BF%83%E8%A6%81%E7%82%B9%2A%2A%EF%BC%9A%E6%AF%8F%E4%B8%AA%20edgeLabel%20%E5%8F%AA%E8%83%BD%E5%AF%BC%E5%85%A5%E4%B8%80%E7%A7%8D%E7%B1%BB%E5%9E%8B%E7%9A%84%E8%BF%9E%E6%8E%A5%EF%BC%8C%E5%BF%85%E9%A1%BB%E4%BF%9D%E8%AF%81%20struct.json%20%E9%87%8C%E6%AF%8F%E4%B8%AA%20edgeLabel%20%E9%85%8D%E7%BD%AE%E5%8F%AA%E5%A4%84%E7%90%86%E5%B1%9E%E4%BA%8E%E8%87%AA%E5%B7%B1%E7%9A%84%E9%82%A3%E9%83%A8%E5%88%86%E8%BE%B9%EF%BC%8C%E5%90%A6%E5%88%99%E4%BC%9A%E8%A2%AB%E8%B7%B3%E8%BF%87%EF%BC%8C%E5%AF%BC%E8%87%B4%E8%BF%9E%E6%8E%A5%E5%85%B3%E7%B3%BB%E4%B8%8D%E5%85%A8% E3%80%82loader%20%E7%9A%84%E2%80%9C%E6%88%90%E5%8A%9F%E2%80%9D%E5%8F%AA%E4%BB%A3%E8%A1%A8%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F%E6%B2%A1%E9%94%99%EF%BC%8C%E4%B8%8D%E4%BB%A3%E8%A1%A8%E6%89%80%E6%9C%89%E9%80%BB%E8%BE%91%E5%85%B3%E7%B3%BB%E9%83%BD%E5%BB%BA%E7%AB%8B%E4%BA%86%5B%E5%AE%98%E6%96%B9%E6%96%87%E6%A1%A3%E8%AF%B4%E6%98%8E%5D%28https%3A//github.com/apache/incubator-hugegraph-doc/blob/3e1c610281c91ea3a5c600b393088e9ffae34799/content/en/docs/quickstart/toolchain/hugegraph-loader.md%23L139-L1090%29%E3%80%82%0A%0A%E5%A6%82%E9%9C%80%E5%85%B7%E4%BD%93%20struct.json/schema.groovy%20%E6%A8%A1%E6%9D%BF%E6%88%96%E6%95%B0%E6%8D%AE%E9%A2%84%E5%A4%84%E7%90%86%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%8F%AF%E4%BB%A5%E8%A1%A5%E5%85%85%E4%BD%A0%E7%9A%84%E9%9C%80%E6%B1%82%E3%80%82) [](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet ?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/incubator-hugegraph/discussions/2917) GitHub link: https://github.com/apache/incubator-hugegraph/discussions/2917#discussioncomment-15204176 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected]
