這是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}
}