นี่คือการใช้งานโอเพนซอร์ซของ pygraft ซึ่งเริ่มแรกนำเสนอในบทความนี้
Pygraft เป็นไลบรารี Python โอเพนซอร์ซสำหรับการสร้าง schemas สังเคราะห์ แต่สมจริงและ (KGS) ตามพารามิเตอร์ที่ผู้ใช้ระบุ ทรัพยากรที่สร้างขึ้นนั้นเป็นโดเมนที่ไม่เชื่อเรื่องพระเจ้าเช่นพวกเขาไม่ได้เชื่อมโยงกับฟิลด์แอปพลิเคชันเฉพาะ
ความสามารถในการสังเคราะห์ schemas และ kgs เป็นเหตุการณ์สำคัญที่สำคัญสำหรับการดำเนินการวิจัยในโดเมนที่ข้อมูลมีความอ่อนไหวหรือไม่พร้อมใช้งาน Pygraft ช่วยให้นักวิจัยและผู้ปฏิบัติงานสามารถสร้าง schemas และ kgs ได้ทันทีให้ความรู้น้อยที่สุดเกี่ยวกับข้อกำหนดที่ต้องการ
Pygraft มีคุณสมบัติดังต่อไปนี้:
Pygraft เวอร์ชันที่เสถียรล่าสุดสามารถดาวน์โหลดและติดตั้งได้จาก PYPI ด้วย:
pip install pygraftPygraft เวอร์ชันล่าสุดสามารถติดตั้งได้โดยตรงจากแหล่ง GitHub ด้วย:
pip install git+https://github.com/nicolas-hbt/pygraft.gitคุณสมบัติเพิ่มเติมจะมีให้ใน Pygraft เวอร์ชันถัดไป เป็นชื่อ แต่ไม่กี่:
ลำดับความสำคัญสูง
ลำดับความสำคัญปานกลาง
rdfs:subPropertyOf , owl:FunctionalProperty และ owl:InverseFunctionalProperty ซึ่งเป็นค่าที่ไม่เป็นศูนย์สำหรับพวกเขาทั้งสามในเวลาเดียวกันอาจนำไปสู่ KGs ที่ไม่สอดคล้องกันลำดับความสำคัญต่ำ
การมีส่วนร่วมของ pygraft มีดังนี้:
เพื่อความรู้ที่ดีที่สุดของเรา Pygraft เป็นเครื่องกำเนิดไฟฟ้าเครื่องแรกที่สามารถสังเคราะห์ทั้ง schemas และ kgs ในท่อเดียว
schemas และ kgs ที่สร้างขึ้นนั้นอธิบายด้วยชุด RDFs และ Owl ที่เพิ่มขึ้นซึ่งช่วยให้ทั้งคำอธิบายทรัพยากรที่ละเอียดและการปฏิบัติตามมาตรฐานเว็บแบบความหมายทั่วไป
ผู้ใช้สามารถระบุพารามิเตอร์ที่หลากหลายได้ สิ่งเหล่านี้อนุญาตให้สร้างกราฟจำนวน จำกัด ที่มีลักษณะแตกต่างกัน รายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์สามารถพบได้ในส่วนพารามิเตอร์ของเอกสารอย่างเป็นทางการ
จากมุมมองระดับสูงไปป์ไลน์การสร้าง pygraft ทั้งหมดจะแสดงในรูปที่ 1 โดยเฉพาะอย่างยิ่งตัวสร้างคลาสและความสัมพันธ์จะเริ่มต้นด้วยพารามิเตอร์ที่ผู้ใช้ระบุและใช้ในการสร้างสคีมาเพิ่มขึ้น ความสอดคล้องเชิงตรรกะของสคีมาได้รับการตรวจสอบในภายหลังโดยใช้ผู้ให้เหตุผล Hermit จาก OwlReady2 หากคุณมีความสนใจในการสร้างกิโลกรัมตามสคีมานี้เครื่องกำเนิด KG จะเริ่มต้นด้วยพารามิเตอร์ที่เกี่ยวข้องกับ KG และหลอมรวมกับสคีมาที่สร้างขึ้นก่อนหน้านี้เพื่อสร้าง KG ตามลำดับ ในที่สุดความสอดคล้องเชิงตรรกะของ KG ที่ได้คือ (อีกครั้ง) ประเมินโดยใช้ฤาษี

รูปที่ 1: ภาพรวม pygraft
เมื่อติดตั้งแล้ว pygraft สามารถโหลดได้ด้วย:
import pygraftที่สำคัญคุณสามารถเข้าถึงฟังก์ชั่นทั้งหมดด้วย:
pygraft . __all__ ให้เราสมมติว่าเราสนใจที่จะสร้างสคีมาเท่านั้น ก่อนอื่นเราต้องดึงไฟล์การกำหนดค่าเทมเพลต (เช่นไฟล์กำหนดค่า .yaml ) ซึ่งง่ายพอ ๆ กับการเรียก create_yaml_template() :
pygraft . create_yaml_template () ตอนนี้เทมเพลตได้ถูกสร้างขึ้นภายใต้ไดเรกทอรีการทำงานปัจจุบันและเป็นชื่อ template.yml โดยค่าเริ่มต้น
ไฟล์นี้มีพารามิเตอร์ที่ปรับได้ทั้งหมด สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับความหมายของพวกเขาโปรดตรวจสอบส่วนพารามิเตอร์
เพื่อความเรียบง่ายเราไม่ได้วางแผนที่จะแก้ไขเทมเพลตนี้และติดกับค่าพารามิเตอร์เริ่มต้น
การสร้าง ontology นั้นเกิดขึ้นได้ผ่านฟังก์ชั่น 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" ) Kg ที่สร้างขึ้นสามารถเรียกคืนได้ใน output/template/full_graph.rdf มันรวมข้อมูลที่สืบทอดมาจาก output/template/schema.rdf (เช่นข้อมูลออนโทโลยี) กับข้อมูลที่เกี่ยวข้องกับบุคคล
ในกรณีส่วนใหญ่เราต้องการสร้างทั้งสคีมาและกิโลกรัมในกระบวนการเดียว Pygraft อนุญาตให้ใช้ฟังก์ชั่น generate(path) ซึ่งทำงานเช่นเดียวกับฟังก์ชั่นสองฟังก์ชั่น foredescribed 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}
}