Page 425 - 《软件学报》2025年第12期
P. 425
5806 软件学报 2025 年第 36 卷第 12 期
3) ϕ O P(abstract) 为论文的摘要;
4) ϕ O P(publication_date) 为论文发表的时间;
5) ϕ O P(authors) 为论文的作者列表.
图 1 中的对象①、对象②和对象③分别为文献 [34]、文献 [35] 以及文献 [33] 对应的论文对象. 文献 [34] 提
出了 FB15k 数据集; 文献 [35] 提出了一种对于知识图谱中结点的嵌入算法 TransE, 并在 FB15k 数据集上进行测
试; 文献 [34] 基于 TransE 提出了另一种嵌入算法 TransR. 其中对象③的标识、属性集和数据实体展示在右侧. 其
属性集合包括 type 属性和上述 5 种必要属性.
定义 3 (代码对象). 对于 O ∈ O, 若 ϕ O C(type) = code, 则称 O 为代码对象. 代码对象的数据实体 π E (O ) 包括代
C
C
C
C environment 表示代码的运行环境, 为一个
码的运行环境和代码自身, 可以表示为 E = (environment,code), 其中
Docker 镜像 (dockerimage), code 表示代码文件, 为一个 zip 压缩包. 定义代码对象的必要属性集为 K code =
C
{description,authors}, 对于任意的代码对象 O , 都有 K code ⊂ K O C , 并且有:
1) ϕ O C(description) 为对代码内容的自然语言描述,
2) ϕ O C(authors) 为代码的贡献者列表.
C
C
设 π EE 为代码对象到其环境的映射, π EC 为代码对象到其代码文件的映射. 即对于 O ∈O, 若 π E (O )=(environmnet,
C
C
,
code), 则 π EE (O ) = environment π EC (O ) = code.
图 1 中的对象⑤为 TransR 算法的代码实现对应的代码对象, 此代码对象实现了论文对象③中的算法. 对象⑤
的运行环境为一个包括 Python 和相关依赖包的 Docker 镜像, 其代码文件为实现了 TransR 算法的一组 Python 程
序文件组成的压缩包.
定义 4 (数据集对象). 对于 O ∈ O, 若 ϕ O D(type) = dataset, 则称 O D 为数据集对象. 数据集对象的数据实体
D
π E (O ) 表示数据集内容, 为一个 zip 压缩包. 定义数据集对象的必要属性集 K dataset = {name,description,authors,
D
D
date}, 对于任意的数据集对象 O , 都有 K dataset ⊂ K O D , 并且有:
1) ϕ O D(name) 为数据集的名称;
2) ϕ O D(description) 为对数据集内容的自然语言描述;
3) ϕ O D(authors) 为数据集的作者列表;
4) ϕ O D(date) 为数据集的发布日期.
图 1 中的对象④为 FB15k 数据集对应的数据集对象. 此数据集对象由论文对象①提出, 在论文对象②和论文
对象③中被使用. 对象⑧为算法 TransR 在 FB15k 数据集上进行测试的输出结果构成的数据集对象.
定义 5 (复现单元). 对于 O ∈ O, 若 ϕ O R(type) = reproduction, 则称 O 为复现单元. 复现单元是数据实体为空的
R
R
R
特殊科研数据对象. 定义复现单元的必要属性集 K reproduction = {name}, 对于任意的复现单元 O , 都有 K reproduction ⊂
,
K O R ϕ O R(name) 表示复现单元的名称.
图 1 中的对象⑥和对象⑦为复现单元, 分别表示论文③的复现过程中的训练阶段和测试阶段. 在对象⑥对应
的训练阶段中, TransR 代码对象 (对象⑤) 以 FB15k 数据集 (对象④) 的训练数据集为输入, 运行 TransR 训练算法,
并输出训练得到的模型参数; 在对象⑦对应的测试阶段中, TransR 代码对象以 FB15k 数据集的测试数据集和训练
阶段输出的模型参数作为输入, 运行 TransR 测试算法, 并输出最终的测试结果.
前文对各类科研数据对象的内容进行了详细定义, 接下来将对这些科研数据对象之间的关系进行建模.
ReproLink 使用关系对象表示科研数据对象之间的关系.
定义 6 (关系对象). 关系对象 r = (u,v,t), 其中 u 为关系起点对象的标识, 为关系终点对象的标识, u,v ∈ I t . 为
v
t u t v 别为起点类型和终点类型, 分别表示
关系对象的类型, t = (t s ,t u ,t v ), 其中 t s 为语义类型, 表示这个关系的语义; ,
起点对象和终点对象的类型, 其值分别为 ϕ π −1 (u) (type) 和 ϕ π −1 (v) (type).
I I
表 1 列出了 ReproLink 中所有关系对象的类型及其含义. 设全体关系对象的集合为 R, 所有关系对象的类型
的集合为 T , 函数 π u : R → I,π v : R → I,π t : R → T 分别为关系对象到其起点、终点、类型的映射. 即对于关系对
象 r = (u,v,t) 满足 π u (r) = u, π v (r) = v, π t (r) = t.

