جنا یک فریم ورک متن باز برای کار با وب معنایی به زبان جاوا می باشد قسمت اصلی توسعه جنا در شرکت hp صورت گرفته است که البته این شرکت در حال حاضر در این زمینه فعالیت خود را قطع کرده است ، جنا یک راه مناسب برای کار با آنتولوژی ممکن می سازد.
معماری جنا از سه لایه تشکیل شده است که عبارتند از : 1- لایه گراف 2-لایه enhgraph 3-لایه مدل ، در تصویر 1 معماری جنا به تصویر کشیده شده است. فقط لایه مدل با نرم افزارها در تعامل می باشد در حالی که لایه گراف و لایه enhgraph فقط توسط فریم ورک جنا استفاده می شوند و از چشم کاربر مخفی اند. حالت کلی لایه های جنا در شکل مشخص شده اس که لایه مدل در بالا قرار دارد و اولین لایه ای است که نرم افزار ها با آن سرو کار دارند و لایه enhgraph که بین لایه مدل و گراف قرار گرفته است ولایه گراف که هسته جنا میباشد.
تصویر 1-1 – معماری فریم ورک جنا
1-1-لایه گراف
قسمت اصلی جنا می باشد و این لایه رابطی را برای ایجاد و مدیریت گراف ها تعریف می کند. لایه گراف امکان دخیره فایل های RDF را به چند طریق ممکن می سازد ، مورد اول در حافظه می باشد (in memory) در این روش با خاموش شدن سیستم اطلاعات از بین می روند و دیگری روش in persistent که فایل ها را در یک مکان ثابتی مثل بانک اطلاعاتی ذخیره می کند .
1-2-لایه enhgraph
این لایه بین لایه مدل و لایه گراف قرار دارد که با توجه به زبان استفاده شده (مثل owl یا RDFS ) این لایه چندین دید از گراف و گره هایش می دهد که همزمان می توان استفاده کرد. به دلیل همین قابلیت enhgraph ، امکان کار با RDF api و ontology API ممکن می باشد
1-3-لایه مدل
این لایه با برنامه ها سروکار دارد و دو API را ارئه می دهد ، مورد اول RDF API و مورد دوم ontology API که به زبان هایی مثل RDFS و OWL کار می کند.
جنا چندین API ارائه می دهد که مهمترین API جنا RDF API می باشد که ایجاد و مدیریت و کویری گرفتن از RDF را پشتیبانی می کند ، بقیه API های جنا به این صورت می باشند ontology API , inference API , query API . به طور کلی می توان گفت جنا یک محیط برنامه نویسی مناسب رو برای کار با RDF ، RDFS ، owl و sparql ارائه می دهد، دو نسخه از جنا ارائه شده است که نسخه اول شامل پشتیبانی رسا برای RDF و امکانات محدود reasoning نسخه دوم جنا شامل ontology API و owl می باشد.
1-4-اجزاء جنا
- A RDF API : خواندن و نوشتن فایل های RDF در غالب RDF/XML
- ARQ Engine : یک موتور کویری برای جنا که از کویری SPARQL را از RDF پشنیبانی میکند
- Joseki : یک موتور HTTP که از پروتکل Sparql و از زبان Sparql برای کویری نویسی در RDF پشتیبانی می کند.
- Eyeball : برای کنترل کردن مشکلات معمول مدل های RDF/OWL مثل URI های غیرمجاز و عدم دادن مقدار به ویژگی ها و map کردن نادرست پیشوندها.
- TDB Engine : برای ذخیره سازی و کویری گرفتن از مجموعه فایل های RDF با حجم زیاد می باشد که از موتور جاوا استفاده می کند.
- SDB Engine : برای ذخیره سازی مقیاس پذیر و پرس و جو از داده های RDF با استفاده از روابط معمول در بانک های اطلاعاتی مرسوم برای ایجاد نرم افزارهای مستقل .
فهرست مطالب
فهرست مطالب
2- جنا چیست 3
استفاده از jena 5
3- Jena RDF API 12
Jena ontology API 29
Jena Sparql 43