Это реализация Pygraft с открытым исходным кодом, первоначально представленную в этой статье.
Pygraft-это библиотека Python с открытым исходным кодом для создания синтетических, но реалистичных схем и (KGS), основанных на определенных пользователях параметров. Сгенерированные ресурсы являются доменом-агентами, то есть они не привязаны к конкретному поле применения.
Возможность синтезировать схемы и KGS является важной вехой для проведения исследований в доменах, где данные являются чувствительными или недоступными. Pygraft позволяет исследователям и практикующим врачам генерировать схемы и KGS на лету, предоставляя минимальные знания о желаемых спецификациях.
Pygraft имеет следующие функции:
Последняя стабильная версия Pygraft может быть загружена и установлена из PYPI с:
pip install pygraftПоследняя версия Pygraft может быть установлена непосредственно из источника GitHub с:
pip install git+https://github.com/nicolas-hbt/pygraft.gitДополнительные функции будут предоставлены в следующих версиях Pygraft. Чтобы назвать лишь немногие:
Высокий приоритет
Средний приоритет
rdfs:subPropertyOf , owl:FunctionalProperty и owl:InverseFunctionalProperty , как ненулевое значение для трех из них в то же время может привести к непоследовательным KG.Низкий приоритет
Вклад Pygraft заключается в следующем:
Насколько нам известно, Pygraft является первым генератором, способным синтезировать как схемы, так и KG в одном трубопроводе.
Сгенерированные схемы и KG описаны с помощью расширенного набора RDF и конструкций совы, что позволяет как в мелкозернистые описания ресурсов, так и строгое соблюдение обычных стандартов семантической сети.
Пользователь может быть указан широкий диапазон параметров. Они позволяют создавать бесконечное количество графиков с различными характеристиками. Более подробную информацию о параметрах можно найти в разделе «Параметры официальной документации».
С точки зрения высокого уровня, весь трубопровод генерации Pygraft изображен на рисунке 1. В частности, генераторы классов и отношений инициализируются с помощью пользовательских параметров и используются для постепенного построения схемы. Логическая согласованность схемы впоследствии проверяется с использованием разумы отшельника от Owlready2. Если вы также заинтересованы в создании KG на основе этой схемы, генератор KG инициализируется с помощью KG, связанных с параметрами и сливается с ранее сгенерированной схемой для последовательного построения KG. В конечном счете, логическая согласованность полученного КГ (снова) оценивается с использованием отшельника.

Рисунок 1: Обзор Pygraft
После установки Pygraft можно загрузить:
import pygraftВажно отметить, что вы можете получить доступ ко всем функциям с помощью:
pygraft . __all__ Давайте предположим, что мы заинтересованы только в создании схемы. Сначала нам нужно получить файл конфигурации шаблона (например, файл конфигурации .yaml ), который так же просто, как и вызов create_yaml_template() :
pygraft . create_yaml_template () Теперь шаблон был сгенерирован в соответствии с текущим рабочим каталогом и называется template.yml по умолчанию.
Этот файл содержит все настраиваемые параметры. Для получения более подробной информации об их значениях, пожалуйста, проверьте раздел параметров.
Для простоты мы не планируем изменять этот шаблон и придерживаться значений параметров по умолчанию.
Генерация онтологии становится возможной с помощью функции generate_schema(path) , которая требует только относительного пути к файлу конфигурации.
Важный
Для следующих шагов, т.е. генерируя схему и кг, вам нужна 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:
pygraft . generate_kg ( "template.yml" ) Сгенерированный кг может быть извлечен в output/template/full_graph.rdf . Он объединяет информацию, унаследованную от output/template/schema.rdf (т.е. онтологическая информация) с информацией, связанной с отдельными лицами.
В большинстве случаев человек хочет генерировать как схему, так и кг в одном процессе. Pygraft позволяет это с помощью функции generate(path) , которая работает так же, как AperedEscred, две функции generate_schema(path) и generate_kg(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}
}