Ini adalah implementasi open-source dari Pygraft, yang awalnya disajikan dalam makalah ini.
Pygraft adalah perpustakaan Python open-source untuk menghasilkan skema sintetis namun realistis dan (KGS) berdasarkan parameter yang ditentukan pengguna. Sumber daya yang dihasilkan adalah domain-agnostik, yaitu mereka tidak terikat pada bidang aplikasi tertentu.
Mampu mensintesis skema dan KGS adalah tonggak penting untuk melakukan penelitian di domain di mana data sensitif atau tidak tersedia. Pygraft memungkinkan para peneliti dan praktisi untuk menghasilkan skema dan KG dengan cepat, memberikan pengetahuan minimal tentang spesifikasi yang diinginkan.
Pygraft memiliki fitur berikut:
Versi stabil pygraft terbaru dapat diunduh dan diinstal dari PYPI dengan:
pip install pygraftVersi terbaru dari pygraft dapat diinstal langsung dari sumber GitHub dengan:
pip install git+https://github.com/nicolas-hbt/pygraft.gitFitur tambahan akan disediakan di versi pygraft berikutnya. Untuk menyebutkan beberapa:
Prioritas tinggi
Prioritas menengah
rdfs:subPropertyOf , owl:FunctionalProperty , dan owl:InverseFunctionalProperty , sebagai nilai bukan nol untuk mereka bertiga pada saat yang sama dapat menyebabkan KG yang tidak konsisten.Prioritas rendah
Kontribusi Pygraft adalah sebagai berikut:
Sepengetahuan kami, Pygraft adalah generator pertama yang dapat mensintesis baik skema dan kg dalam satu pipa.
Skema yang dihasilkan dan KG dijelaskan dengan serangkaian RDF dan konstruksi burung hantu yang diperluas, memungkinkan untuk deskripsi sumber daya berbutir halus dan kepatuhan yang ketat dengan standar web semantik yang umum.
Rentang parameter yang luas dapat ditentukan oleh pengguna. Ini memungkinkan untuk membuat jumlah grafik yang tak terbatas dengan karakteristik yang berbeda. Rincian lebih lanjut tentang parameter dapat ditemukan di bagian Parameter dari dokumentasi resmi.
Dari perspektif tingkat tinggi, seluruh pipa pembuatan pygraft digambarkan pada Gambar 1. Secara khusus, generator kelas dan relasi diinisialisasi dengan parameter yang ditentukan pengguna dan digunakan untuk membangun skema secara bertahap. Konsistensi logis dari skema kemudian diperiksa menggunakan rancangan pertapa dari Owlready2. Jika Anda juga tertarik untuk menghasilkan kg berdasarkan skema ini, generator KG diinisialisasi dengan parameter terkait KG dan menyatu dengan skema yang dihasilkan sebelumnya untuk secara berurutan membangun KG. Pada akhirnya, konsistensi logis dari KG yang dihasilkan (sekali lagi) dinilai menggunakan Hermit.

Gambar 1: Tinjauan Pygraft
Setelah terpasang, pygraft dapat dimuat dengan:
import pygraftYang penting, Anda dapat mengakses semua fungsi dengan:
pygraft . __all__ Mari kita asumsikan kita hanya tertarik untuk menghasilkan skema. Pertama -tama kita perlu mengambil file konfigurasi template (misalnya file konfigurasi .yaml ), yang sesederhana panggilan create_yaml_template() :
pygraft . create_yaml_template () Sekarang, template telah dihasilkan di bawah direktori kerja saat ini, dan dinamai template.yml secara default.
File ini berisi semua parameter yang dapat disetel. Untuk detail lebih lanjut tentang artinya, silakan periksa bagian Parameter.
Demi kesederhanaan, kami tidak berencana untuk memodifikasi templat ini dan tetap dengan nilai parameter default.
Menghasilkan ontologi dimungkinkan melalui fungsi generate_schema(path) , yang hanya membutuhkan jalur relatif ke file konfigurasi.
Penting
Untuk langkah -langkah berikut, IE menghasilkan skema dan kg, Anda perlu java untuk diinstal dan variabel lingkungan $ java_home untuk ditetapkan dengan benar. Ini karena penalaran pertapa saat ini berjalan menggunakan Java.
Dalam kasus kami, file konfigurasi bernama template.yml dan terletak di direktori kerja saat ini, dengan demikian:
pygraft . generate_schema ( "template.yml" ) Skema yang dihasilkan dapat diambil dalam output/template/schema.rdf . File tambahan dibuat selama proses: output/template/class_info.json dan output/template/relation_info.json . File -file ini memberikan informasi penting tentang kelas dan hubungan skema yang dihasilkan, masing -masing.
Sekarang mari kita jelajahi cara menggunakan pygraft untuk menghasilkan kg. Di bagian ini, kami menganggap kami sudah memiliki skema, yang akan berfungsi sebagai cetak biru untuk menghasilkan kg kami. Kita dapat menggunakan file konfigurasi yang sama seperti sebelumnya - karena juga berisi parameter yang terkait dengan generasi KG (meskipun tidak digunakan sebelumnya, karena kami hanya meminta skema) - untuk menghasilkan kg:
pygraft . generate_kg ( "template.yml" ) Kg yang dihasilkan dapat diambil dalam output/template/full_graph.rdf . Ini menggabungkan informasi yang diwarisi dari output/template/schema.rdf (yaitu informasi ontologis) dengan informasi yang terkait dengan individu.
Dalam kebanyakan kasus, seseorang ingin menghasilkan skema dan kg dalam satu proses. Pygraft memungkinkan ini dengan fungsi generate(path) , yang beroperasi tepat sebagai dua fungsi yang diuraikan generate_schema(path) dan generate_kg(path) :
pygraft . generate ( "template.yml" )Dengan asumsi Anda telah mengkloning repositori pygraft ke komputer Anda:
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. Tertarik berkontribusi pada Pygraft? Harap pertimbangkan untuk menjangkau: [email protected]
Jika Anda suka pygraft, pertimbangkan untuk mengunduh pygraft dan dibintangi repositori GitHub kami untuk membuatnya diketahui dan mempromosikan pengembangannya!
Jika Anda menggunakan atau menyebutkan pygraft dalam publikasi, mengutip karya kami sebagai:
@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}
}