[发明专利]基于开源软件图谱的许可证选取方法和系统在审
申请号: | 202010983623.0 | 申请日: | 2020-09-17 |
公开(公告)号: | CN112084309A | 公开(公告)日: | 2020-12-15 |
发明(设计)人: | 杨牧天;罗天悦;刘梅 | 申请(专利权)人: | 北京中科微澜科技有限公司 |
主分类号: | G06F16/33 | 分类号: | G06F16/33;G06F16/36;G06Q50/18 |
代理公司: | 北京久诚知识产权代理事务所(特殊普通合伙) 11542 | 代理人: | 余罡 |
地址: | 100007 北京市东城*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 软件 图谱 许可证 选取 方法 系统 | ||
1.一种基于开源软件图谱的许可证选取方法,其特征在于,所述方法包括:
基于待选取许可证的软件项目构造解析器,利用所述解析器解析软件项目特征,获取待选取许可证的软件项目中与许可证相关的信息;
将所述软件项目作为实体,所述许可证相关的信息作为属性,构建三元组并存入开源软件图谱;
建立相似度评估引擎,并基于所述相似度评估引擎和所述开源软件图谱中许可证相关的属性及软件使用约束条件进行许可证选取;
生成检测报告。
2.如权利要求1所述的方法,其特征在于,所述解析器包括:软件项目的源代码文件编程语言解析部分、源代码文件解析部分和软件项目属性文件解析部分。
3.如权利要求2所述的方法,其特征在于,利用所述解析器解析软件项目特征,获取所述软件项目中与许可证相关的信息,具体包括:
解析所述源代码文件编程语言,获取其编程语言类型和每种类型所占百分比;
解析所述源代码文件,获取其使用的许可证类型,并对所述许可证类型及其对应的文件数目进行统计;
解析软件项目属性文件,获取软件项目应用范围、软件项目应用平台、软件项目最终用户类型;
汇总所述解析的获取结果,基于所述获取结果抽取所述软件项目中与许可证相关的信息。
4.如权利要求3所述的方法,其特征在于,将所述软件项目作为实体,所述许可证相关的信息作为属性,构建三元组并存入开源软件图谱,具体包括:
S21、读取所述许可证相关的信息;
S22、将所述软件项目作为实体,所述许可证相关的信息作为属性,对应的值作为属性值,形成三元组;
S23、将所述三元组存储到开源软件图谱中。
5.如权利要求1所述的方法,其特征在于,所述相似度评估引擎包括:相似开源软件查找部分、开源软件过滤部分、许可证排序部分。
6.如权利要求5所述的方法,其特征在于,建立相似度评估引擎,并基于所述相似度评估引擎和所述开源软件图谱中许可证相关的属性及软件使用约束条件进行许可证选取,具体包括:
S31、输入待选取许可证的软件项目的软件使用约束条件;
S32、基于所述软件使用约束条件,得到所述待选取许可证集合;
S33、对所述开源软件图谱中的每个实体,选取项目权重、许可证类型、许可证相关属性及属性值;
S34、基于所述S33中原有开源软件图谱中的每个实体的许可证相关属性及属性值与所述S23中存入开源软件图谱中的每个实体的许可证相关属性及属性值进行实体相似度计算,得到实体相似度值并保存;
S35、判断所述实体相似度值是否超过阈值,若是,转到S36;否则转到S33;
S36、判断所述S35中实体相似度值超过阈值的开源软件项目的许可证类型是否在所述待选取许可证集合中,若是,保留满足所述待选取许可证集合的开源软件项目并转到S37;否则转到S33;
S37、记录满足S36条件的所有开源软件项目,并按照开源软件项目的许可证类型将所述所有开源软件项目进行分类;
S38、对每种许可证类型中的所有开源软件项目进行计算评分,得到每种许可证类型的总分,并按照总分分数由高到低进行排序。
7.如权利要求6所述的方法,其特征在于,所述计算评分方法具体运用以下公式:
Wi为每个开源软件实体的项目权重;Ci为开源软件实体与待选取许可证的软件实体的相似度值;N为此分类中开源软件实体个数;S为评分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中科微澜科技有限公司,未经北京中科微澜科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010983623.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有高耐蚀钢板的制造方法
- 下一篇:热敏电阻传感器