SuperAPI AI 工具集

sap-hana-triple

数据与分析

查看项目

更新于 10-16 08:45

技能介绍

用途:在 SAP HANA Cloud 的 Triple Store 上构建与查询知识图谱。该存储以 SPARQL 1.1 作用于 graph workspace,将领域建模为 RDF 三元组(主体、谓词、客体)后进行加载与查询。

主要能力与用法:

  1. 图工作区:用 CREATE GRAPH IF NOT EXISTS COE_PILOT WORKSPACE; 声明工作区。
  2. 本体建模:用 Turtle 定义类与属性,例如 :Customer a rdfs:Class;:hasPrimaryContact 为 rdf:Property,并声明 rdfs:domain 与 rdfs:range。建议把本体放在项目的 ontology/*.ttl 文件中,像对待 schema 变更一样进行代码评审。
  3. 数据准备:先运行 sap-hana-data-prep,产出 prepared/entity_mapping.yaml、prepared/triples.ttl 和 prepared/ingestion-contract.yaml。若 ingestion-contract.yaml 缺失或 target_shape 不是 hana_triple,需回到该前置技能。
  4. 加载:通过 hdbcli 连接,用 SPARQL INSERT DATA 批量写入指定 GRAPH。
  5. 查询:用 SPARQL SELECT 在 GRAPH <coe-pilot> 中检索。
  6. 智能体模式:用本体做少样本提示让 LLM 从自然语言生成 SPARQL,执行后再让 LLM 组织结果。该模式的模板 references/kg-project/agent/kg-agent.py 尚未落地(在 references/README.md 中标记为 TODO);当前可参考 recipes/optional/hana-kg-triple-store/ 的走查。
  7. 混合 KG + 向量:可在图的注解表上使用 REAL_VECTOR 列,先做向量预过滤缩小候选节点,再走 SPARQL 遍历;目前尚无独立配方,需结合 recipes/optional/hana-vector-store/ 与 hana-kg-triple-store/ 使用。

验证:查询 SPARQL SELECT (COUNT(*) AS ?n) WHERE { GRAPH <coe-pilot> { ?s ?p ?o } },并断言 n > 0。

限制与注意事项:忘记写 GRAPH <name> 会命中默认图而返回空结果;区分 IRI(用尖括号)与字面量(用引号);每个 HANA Cloud 租户有各自工作区,跨租户 SPARQL 不透明;插入性能上建议按每批 1000 个三元组分块执行 INSERT DATA。文档参见 SAP HANA Cloud 的 SPARQL 1.1 参考。