这是Pygraft的开源实现,最初在本文中介绍。
Pygraft是一个开源Python库,用于基于用户指定的参数生成合成但逼真的模式和(kgs)。生成的资源是域 - 不可思议的,即它们与特定的应用程序字段没有绑定。
能够合成模式和kgs是在数据敏感或不容易获得的域进行研究的重要里程碑。 Pygraft允许研究人员和从业人员即时生成模式和KG,对所需规范提供了最少的知识。
Pygraft具有以下功能:
可以从PYPI下载和安装的最新稳定版本的Pygraft。
pip install pygraft最新版本的Pygraft可以直接从GitHub源安装:
pip install git+https://github.com/nicolas-hbt/pygraft.git下一个版本的Pygraft将提供其他功能。仅举几例:
优先级
中等优先级
rdfs:subPropertyOf , owl:FunctionalProperty和owl:InverseFunctionalProperty ,作为同时的三个非零值,可能会导致不一致的kg。优先级低
消毒的贡献如下:
据我们所知,Pygraft是第一个能够在单个管道中综合模式和kgs的生成器。
生成的模式和KGs用扩展的RDF和OWL构造进行了描述,可以既允许精细的资源描述,又严格遵守通用的语义Web标准。
用户可以指定广泛的参数。这些允许创建具有不同特征的无限图形。有关参数的更多详细信息,请参见正式文档的“参数”部分。
从高级的角度来看,整个Pygroft Generation Pipeline在图1中描绘了。特别是,类和关系发生器用用户指定的参数初始化,并用于逐步构建模式。随后使用OWLReady的隐士推理器检查模式的逻辑一致性。如果您也有兴趣基于此架构生成kg,则KG生成器将使用KG相关参数初始化,并与先前生成的模式融合,以顺序构建KG。最终,(再次)使用隐士评估了结果kg的逻辑一致性。

图1:增生概述
安装后,可以加载pygraft:
import pygraft重要的是,您可以使用以下方式访问所有功能
pygraft . __all__让我们假设我们只对生成模式感兴趣。我们首先需要检索.yaml配置文件create_yaml_template()例如。
pygraft . create_yaml_template ()现在,模板已在当前工作目录下生成,默认情况下命名为template.yml 。
该文件包含所有可调参数。有关其含义的更多详细信息,请检查参数部分。
为了简单起见,我们不打算修改此模板并坚持使用默认参数值。
通过generate_schema(path)函数使生成本体学成为可能,该功能仅需要配置文件的相对路径。
重要的
在以下步骤中,IE生成一个模式和kg,您需要安装Java,并且可以正确分配$ JAVA_HOME环境变量。这是因为Hermit推理器目前使用Java运行。
在我们的情况下,配置文件被命名为template.yml ,并位于当前工作目录中,因此:
pygraft . generate_schema ( "template.yml" )可以在output/template/schema.rdf中检索生成的模式。在此过程中创建其他文件: output/template/class_info.json和output/template/relation_info.json 。这些文件分别提供了有关生成模式的类和关系的重要信息。
现在,让我们探索如何使用pygraft生成kg。在本节中,我们假设我们已经有一个架构,它将用作生成kg的蓝图。我们可以使用与以前相同的配置文件 - 因为它还包含与KG生成有关的参数(尽管以前未使用,因为我们只要求使用模式) - 生成kg:
pygraft . generate_kg ( "template.yml" )可以在output/template/full_graph.rdf中检索生成的kg。它结合了从output/template/schema.rdf本体论信息)继承的信息与与个人有关的信息。
在大多数情况下,一个人希望在一个过程中同时生成架构和kg。 pygraft允许使用generate(path)函数,该函数就像上述两个函数generate_schema(path)和generate_kg(path) :
pygraft . generate ( "template.yml" )假设您已将Pygroft存储库克隆到计算机:
pip install pygraft # Displaying help
python -m pygraft.main --help # Generating a schema from a local template file
python -m pygraft.main -g generate_schema -conf template.yml
# ... then browse the resulting schema in the ./output/template folder. 有兴趣促进pygraft吗?请考虑联系:[email protected]
如果您喜欢Pygraft,请考虑下载Pygraft并主演我们的GitHub存储库,以使其知道并促进其开发!
如果您在出版物中使用或提及Pygraft,请将我们的作品引用为:
@misc{hubert2023pygraft,
title={PyGraft: Configurable Generation of Schemas and Knowledge Graphs at Your Fingertips},
author={Nicolas Hubert and Pierre Monnin and Mathieu d'Aquin and Armelle Brun and Davy Monticolo},
year={2023},
eprint={2309.03685},
archivePrefix={arXiv},
primaryClass={cs.AI}
}