Ai.KG项目相关内容
郝伟 2021/02/01

主要研究内容

进度计划

任务名称 说明 输出 工期(天) 开始时间 完成时间
原始需求列表 对整理的需求进行细化分析,拆分成多条,以方便设计和验证。 《需求列表》 1 2021/01/27 2021/01/27
业务流程图 根据需求绘制相关的业务流程图 《业务流程图》 2 2021/01/28 2021/01/29
概要设计 系统概要设计,包括系统构架和主要功能模块。 《概要设计文档》 1 2021/02/01 2021/02/01
详细设计 对各功能模块进行细分,明确接口的定义 《系统框架及接口设计文档》 7 2021/02/02 2021/02/10
测试方案 根据详细设计定义测试方案。 《测试设计文档》 1 2021/02/18 2021/02/18
系统原型 基于python的包括主要功能的原型系统一套。所有接口均为空函数或简单实现,用于验证架构和接口的正确性。 Python版源代码一套及相关测试数据 5 2021/02/22 2021/03/01

主要功能模块

功能模块 子功能 详细介绍
1 数据库管理 数据库操作 新建、删除、数据库属性编辑、导入和导出等操作
2 数据管理 本体操作 本体增删改操作
- 关系操作 关系增删改操作
- 属性操作 对本体或关系进行属性的增删改操作
3 数据查询 节点查询 根据条件,返回满足条件的节点及其1至n层的关系+本体的查询结果
- 关系查询 返回满足关系的包括多对满足此关系的节点列表
- 路径查询 根据给定的路径,返回满足条件的节点。
4 数据导出 数据导出 能够将数据以自定义的Json或CSV导出。
5 数据导入 自定义数据导入 能够将自定义的Json或CSV数据导入。
- 格式化数据导入 能够导入CNNVD的数据(csv或json)。
6 扩展功能 HTTP REST接口 提供主要功能的相关接口。
7 系统配置 - -
URI Funs
以下省略“ https://www.example.com/” dict = {k1:v1, k2:v2}
/api/node/create/{label_name}?k1=v1&k2=v2 create_node(label_name, dict}创建一个节点
/api/relation/create_relation/{label_name}/?k1=v1&k2=v2 create_relation(label_name,
/api/node/delete/{label_name}?k1=v1&k2=v2&k3=v3 delete_node(label_name,[(k1,v1),(k2,
/api/node/update/{label_name}?k1=v1&k2=v2&k1=v1 update_node(label_name,dict,k1,v1)修改
/api/node/query/{label_name}?k1=v1&k2=v2 query_node(label_name,dict) 查询某一个节点
/api/node/query_relation1/?relaton_name query_relation(relation_name) 查询有这个关系的所
/api/node/query_relation1/{label_name} query_relation1(label_name)查询这个标签下所有有关系
/api/node/query_relation2/{label_name}?k1=v1&k2=v2&k3=v3&n query_relation2(label_name,
/api/node/query_relation3/{label_name}?k1=v1&k2=v2&k11=v11&k22=v22 query_relation3
/api/node/query_relation3/{label_name}?k1=v1&k2=v2&k11=v11&k22=v22&relation_name

函数定义

接口格式:/api/node/create/{label_name}?k1=v1&k2=v2
实现函数:create_node(label_name, args),其中label_name对应标签名,args是一个key-value的字典

neo4j 桌面版下载与激活

First Name: Wei
Last Name: HAO
Organization: AUST
Email: hwaust@126.com
Activiation Code: 
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imh3YXVzdEAxMjYuY29tIiwiZ29vZ2xlQW5hbHl0aWNzSWQiOiIzMDc3Mjc1MTQuMTYxMjU1ODY1OSIsIm9yZyI6IkFVU1QiLCJwdWIiOiJuZW80ai5jb20iLCJyZWciOiJXZWkgSEFPIiwic3ViIjoibmVvNGotZGVza3RvcCIsImV4cCI6MTY0NDA5NTc0MiwidmVyIjoiKiIsImlzcyI6Im5lbzRqLmNvbSIsIm5iZiI6MTYxMjU1OTc0MiwiaWF0IjoxNjEyNTU5NzQyLCJqdGkiOiJzMVB1V2E2RFAifQ.IWHl7w_A155gqNlY_7eYiGXUa6zch2AL1p7SYyZDrlF2d7Br-QBYw7-KlOpEN9NC6pt3G92jEgrHb5SJnyasN6R-OnfXgKUpLwraAPToNoDbIxdv-s7V913zqmzGr-kkju66cQLik64LVOvSa2E7fhSBcjrTwfwni-Bm3Qvbj1hRZ6uIor6A19Trd-6KCMYTIW_ey7PEYdhxP94WLPcNhTophdJkYZW8T_-ILBnUNeEaFxpWHNv-VCa0RCb3M0DupBtSBdeA6Q0ssvRf5t2KRxKOClWFD9ZKlNbSvPywk23DXsXuFYQrKB2mrP-oPAa4JMJaeY8oHLnsNi45sEeA1w

测试服务器

一些测试内容

使用经验

基于Django的示例网站

最后更新:2021/02/04
http://121.199.10.158:8200/webapi/question/

接口设计

语法

-- 同时创建2个节点,每个节点有2个标签
CREATE (n1:TestNode:Greeting{name: "T&G1"}), (n2:TestNode:Greeting{name: "T&G2"})
-- 返回:Added 4 labels, created 2 nodes, set 2 properties, completed after 1 ms.

可选参数

主要参考资料

DJango Demo页:http://121.199.10.158:8200/

一些开发中的问题

2021/07/01 优化底层代码和接口

发现大量的实体与关系存在问题

  1. 优化关系和实体 -> 实体与关系图
  2. 建立新的框架 -> 代码
  3. 在新框架上定义接口 -> 接口文档
  4. 逐步将现有的接口用现有的接口实现

2021/07/13 现有VIT平台迁移方案

关于VTi管理平台迁移至Ai.KG,提出三种方案:
1、将原平台迁移至Ai.KG内,通过研发一套同步机制将原平台数据同步至Ai.KG平台内,但是具有一定不可靠性;
2、重新在Ai.KG数据平台基础上再开发一套相同功能的平台,可靠性好;
3、使用现有原平台的界面,仅底层开发一套接口,即将原平台UI架在Ai.KG上,可靠性好,但有一定的兼容性问题需要不断改进。
三种方案都有一定的工作量和风险,鉴于1最容易实现且风险小,所以推荐先使用方案1,后期根据使用情况可以考虑向更可靠的方案2或方案3过度。

参考资料