これは、この論文で最初に提示されたPygraftのオープンソースの実装です。
Pygraftは、ユーザー指定のパラメーターに基づいて、合成で現実的なスキーマと(KGS)を生成するためのオープンソースPythonライブラリです。生成されたリソースはドメインに依存していません。つまり、特定のアプリケーションフィールドに結び付けられていません。
スキーマとKGSを合成できることは、データが敏感であるか、容易に入手できないドメインで研究を実施するための重要なマイルストーンです。 Pygraftは、研究者と実践者がその場でスキーマとKGを生成することを許可し、望ましい仕様に関する最小限の知識を提供しました。
Pygraftには次の機能があります。
Pygraftの最新の安定バージョンは、次のようにPypiからダウンロードしてインストールできます。
pip install pygraftPygraftの最新バージョンは、以下をGithubソースから直接インストールできます。
pip install git+https://github.com/nicolas-hbt/pygraft.git追加機能は、Pygraftの次のバージョンで提供されます。名前を挙げますが、
優先度が高い
中程度の優先度
rdfs:subPropertyOf 、 owl:FunctionalProperty 、and owl:InverseFunctionalPropertyは、同時に3人の非ゼロ値として、一貫性のないKGにつながる可能性があります。優先度が低い
pygraftの貢献は次のとおりです。
私たちの知る限り、Pygraftは、単一のパイプラインでスキーマとKGSの両方を合成できる最初のジェネレーターです。
生成されたスキーマとKGは、RDFとフクロウのコンストラクトの拡張セットで説明されているため、微調整されたリソースの説明と共通のセマンティックWeb標準の厳格なコンプライアンスの両方が可能になります。
ユーザーが幅広いパラメーターを指定できます。これらにより、異なる特性を持つ無限の数のグラフを作成できます。パラメーターの詳細については、公式ドキュメントのパラメーターセクションをご覧ください。
高レベルの観点から見ると、Pygraft生成パイプライン全体を図1に示します。特に、クラスおよび関係ジェネレーターはユーザー指定パラメーターで初期化され、スキーマを段階的に構築するために使用されます。その後、スキーマの論理的な一貫性は、Owleaded2のHermit Thasererを使用してチェックされます。このスキーマに基づいてKGを生成することにも関心がある場合、KGジェネレーターはKG関連パラメーターで初期化され、以前に生成されたスキーマと融合してKGを順番に構築します。最終的に、結果のKgの論理的一貫性は、(再び)隠者を使用して評価されます。

図1:Pygraftの概要
取り付けたら、pygraftには次のことをロードできます。
import pygraft重要なことに、次のすべての機能にアクセスできます。
pygraft . __all__スキーマの生成にのみ関心があると仮定しましょう。まず、Template Configurationファイル( .yaml構成ファイルなど)を取得する必要があります。これは、 create_yaml_template()を呼び出すのと同じくらい簡単です。
pygraft . create_yaml_template ()これで、テンプレートは現在の作業ディレクトリの下で生成され、デフォルトでtemplate.ymlという名前が付けられています。
このファイルには、すべての調整可能なパラメーターが含まれています。その意味の詳細については、パラメータセクションを確認してください。
簡単にするために、このテンプレートを変更してデフォルトのパラメーター値に固執する予定はありません。
Ontologyの生成は、 generate_schema(path)関数を介して可能になります。これは、構成ファイルへの相対パスのみが必要です。
重要
次の手順、つまりスキーマとkgを生成するには、Javaをインストールする必要があり、$ java_home環境変数を適切に割り当てる必要があります。これは、ハーミット推論者が現在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" )生成されたkgはoutput/template/full_graph.rdfで取得できます。 output/template/schema.rdf (つまり、オントロジー情報)から継承された情報と個人に関連する情報を組み合わせています。
ほとんどの場合、単一のプロセスでスキーマとKGの両方を生成したいと考えています。 Pygraftは、Aforedescribedの2つの関数generate_schema(path)とgenerate_kg(path)と同じように動作するgenerate(path)関数でこれを許可します。
pygraft . generate ( "template.yml" )Pygraftリポジトリをコンピューターにクローニングしたと仮定します。
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}
}