开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

接入知识图谱

前言

开发者还可以使用Taskflow接入知识图谱。目前需要开发者在资源调用节点使用编程模式处理,后续我们会推出可视化版本。

调用函数

svc_hooks.call_kg(kg_id, kg_query)

函数入参

  • kg_id:知识图谱的id。

    • 示例:K2608,平台中在知识图谱卡片中显示,位置如下图所示。

知识图谱ID

  • kg_query:知识图谱的查询语句。

    • 示例:g.has('name',MATCH,'百度').limit(10).with('*')
    • 参考文档

函数返回值

  • 返回值格式为json类型。将返回值赋值给全局变量后,即可通过Python字典的操作语法来提取数据了。

    • 返回示例:
    {"message":"Success","code":0,"result":[{"_type":"vertex","_id":5704253544,"name":["百度"],"公司地址":["北京上地十街"],"创始人":["李彦宏"],"type_edge_number":[1],"data_version":["106112562"],"edge_number":[1],"sid":["bf93c93f981108e2f9d5246cf2aabd58106112562"],"创立时间":["1999"],"@fromfile":["企业知识图谱12k条.xlsx.html"],"type":["公司机构"]},{"_type":"vertex","_id":5620367466,"name":["百度"],"公司地址":["北京上地十街"],"创始人":["李彦宏"],"type_edge_number":[1],"data_version":["106112562"],"edge_number":[1],"sid":["42566823ed4a3f0755834162249dbbb7106112562"],"创立时间":["1999"],"@fromfile":["企业知识图谱4.xlsx.html"],"type":["公司机构"]}],"_extra":{"entity-num":2,"return-num":2}}

完整编程示例

  • 通过知识图谱查询百度公司所在的地区,并将完整结果赋值到全局变量kg_res中,将所在地区赋值到全局变量location中。
  • 这里要注意的是,目前Taskflow支持python 2.7.3的语法,当dictionary中key为中文时,需要在前面添加u进行转义,否则结果识别会出错。
def process():
    kg_id = 'K2608'
    kg_query = 'g.has(\'name\',MATCH,\'百度\').limit(10).with(\'*\')'
    svc_vars['kg_res'] = svc_hooks.call_kg(kg_id, kg_query) //
    svc_vars['location'] = svc_vars['kg_res']['result'][0][u'所属地区']

使用知识图谱的数据

  • 取到知识图谱的返回值并赋值给全局变量后,可以在后续的编程操作中使用该变量。
  • 也可以在对话答复节点中动态引用该变量。具体操作见对话答复配置