هذا هو التنفيذ المفتوح المصدر لـ 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 ، كقيمة غير صفرية لثلاثة منهم في نفس الوقت يمكن أن تؤدي إلى KGs غير متناسقة.أولوية منخفضة
مساهمات Pygraft هي كما يلي:
على حد علمنا ، فإن Pygraft هو أول مولد قادر على تصنيع كل من المخططات و KGs في خط أنابيب واحد.
يتم وصف المخططات التي تم إنشاؤها و KGs بمجموعة ممتدة من RDFs و POLL ، مما يسمح لكل من أوصاف الموارد ذات الحبيبات الدقيقة والامتثال الصارم لمعايير الويب الدلالية المشتركة.
يمكن تحديد مجموعة واسعة من المعلمات من قبل المستخدم. هذه تسمح بإنشاء عدد لا حصر له من الرسوم البيانية ذات الخصائص المختلفة. يمكن العثور على مزيد من التفاصيل حول المعلمات في قسم المعلمات في الوثائق الرسمية.
من منظور رفيع المستوى ، يتم توضيح خط أنابيب توليد البايغراف بأكمله في الشكل 1. على وجه الخصوص ، تتم تهيئة مولدات الطبقة والعلاقات مع المعلمات المحددة للمستخدم وتستخدم لبناء المخطط بشكل تدريجي. يتم بعد ذلك فحص الاتساق المنطقي للمخطط باستخدام عقل الناسك من OwlReady2. إذا كنت مهتمًا أيضًا بإنشاء KG بناءً على هذا المخطط ، فسيتم تهيئة مولد KG باستخدام المعلمات ذات الصلة KG ودمجها مع المخطط الذي تم إنشاؤه مسبقًا لإنشاء KG بشكل متتابع. في النهاية ، يتم تقييم الاتساق المنطقي لـ KG الناتج (مرة أخرى) باستخدام الناسك.

الشكل 1: نظرة عامة على Pygraft
بمجرد التثبيت ، يمكن تحميل pygraft مع:
import pygraftالأهم من ذلك ، يمكنك الوصول إلى جميع الوظائف مع:
pygraft . __all__ دعنا نفترض أننا مهتمون فقط بتوليد مخطط. نحتاج أولاً إلى استرداد ملف تكوين القالب (على سبيل المثال ملف تكوين .yaml ) ، وهو أمر بسيط مثل استدعاء create_yaml_template() :
pygraft . create_yaml_template () الآن ، تم إنشاء القالب تحت دليل العمل الحالي ، ويسمى template.yml بشكل افتراضي.
يحتوي هذا الملف على جميع المعلمات القابلة للضبط. لمزيد من التفاصيل حول معانيها ، يرجى التحقق من قسم المعلمات.
من أجل البساطة ، لا نخطط لتعديل هذا القالب والتمسك بقيم المعلمة الافتراضية.
يتم توليد الأنطولوجيا ممكنة من خلال وظيفة 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 (على الرغم من عدم استخدامها من قبل ، لأننا طلبنا مخططًا فقط) لإنشاء كيلوغرام:
pygraft . generate_kg ( "template.yml" ) يمكن استرداد KG التي تم إنشاؤها في output/template/full_graph.rdf . فهو يجمع بين المعلومات الموروثة من output/template/schema.rdf (أي المعلومات الأنطولوجية) والمعلومات المتعلقة بالأفراد.
في معظم الحالات ، يريد المرء توليد مخطط و KG في عملية واحدة. يسمح Pygraft بذلك باستخدام وظيفة generate(path) ، والتي تعمل تمامًا مثل وظيفتين من الموصلين اثنين 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}
}