About The Author

This is a sample info about the author. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque sed felis.

Get The Latest News

Sign up to receive latest news

September 23, 2009

25 Free Sites for Reading Books Online [ http://ow.ly/qBFJ ] AceonlineSchools education
»»  read more
22 Awesome Adobe AIR Applications for Designers [ http://ow.ly/qyvK ] SixRevisions AdobeAIR
»»  read more
Oxford Crime Heatmaps from the BBC [ http://ow.ly/qybl ] Infographics «
»»  read more
How Budget Airlines Undercut the Majors ( Spoiler: Infographics ) | http://ow.ly/qy62 Gizmodo «
»»  read more

September 21, 2009

Q&A :SWRL, Jess, Jena

ถามตอบเกี่ยวกับ SWRL, Jess และ Jena

1. SWRL เป็นภาษาที่เราใช้ในการเขียน rule ใช่ไหมคะ แล้วภาษานี้มันสามารถที่จะ interpret rule ได้เลยไหมคะ (เพราะถือว่าเป็นภาษา?)
ตอบ SWRL เป็นภาษาครับ และมันใช้กับ ontology ครับ มันยังสามารถเป็นได้ทั้งภาษาสืบค้นข้อมูล(แทน SPARQL) และเป็นภาษาของกฎ ต่างๆ(Logic) ที่สามารถเอามาแทน Logic programing ได้เลยถ้าเราทำงานอยู่บน knowledge Base(OWL) โดยแทบไม่ต้องพึ่ง programing lang. เลยและผลักให้ส่วนที่เหลือทำงานแค่เพียง interface (interface programing)

2. ใน Protege เราจะสามารถเพิ่ม SWRL Tab ได้อย่างไรคะ
ตอบ ใน Protege 3.4 มันมีอยู่แล้วครับ เพียงแต่เราไปเลือกให้มันโชว์ขึ้นมาเท่านั้น ลองคลิ๊กดูตามเมนูครับ

3. มีหลายงานวิจัยนิยมใช้ JESS ในการเขียน Rule ซึ่งไม่แน่ใจว่าทำไมต้องใช้ JESS
ตอบ JESS เป็น Rule Engine (เอา SWRL..Rule มาประมวลผล)ครับไม่ใช่ตัวเขียน Rule ถ้าไม่มี JESS มาช่วยประมวลผล SWRL ก็จะทำให้ Rule ที่เราเขียนขึ้นทำงานไม่ได้

4. แล้วถ้าเราไม่ใช้ JESS เราใช้ SWRL ตัวเดียวเลยได้หรือไม่คะ
ตอบ ถ้าใช้เพียงเพื่อทดสอบกฎที่สร้างเฉยๆ ใน Protege ที่ JESS tab ก็ไม่ต้องใช้ JESS Rule Engine แต่ถ้าต้องการใช้แบบ Run-time Process ก็คิดว่าจำเป็นต้องใช้ หรือไม่ก็ต้องไปใช้ Rule Engine ตัวอื่นซึ่งสามารถประมวลผล SWRL ได้ทำงานแทนครับ

5. แล้ว Jena จะใช้ตรงส่วนไหนดีคะ
ตอบ Jena เป็น Framework ครับ เวลาเราจะเขียนโปรแกรมเข้าไปใช้งาน ontology เราสามารถใช้ Java API ของ Jena ได้เลยไม่ต้องมาศึกษาการเขียนโปรแกรมติดต่อหรือจัดการ ontology ที่เราสร้างขึ้นเอง(ชีวิตสบายขั้นเยอะ) ที่สำคัญมันยังทำการเชื่อมต่อและทำงานร่วมกับ Rule engine แบบ Jess ได้อย่างดีไม่มีปัญหาอีกด้วย ฉะนั้นเวลาเราใช้ Jena ก็คืออยู่ในขั้นพัฒนาระบบงานครับ

6. ไม่ทราบว่าการจะนำเครื่องมืออะไรมาประกอบกันบ้างให้เป็นระบบที่เป็น Semantic Web ได้
ตอบ เครื่องมือที่เข้ามาประกอบกันเป็น Semantic web นั้นขึ้นอยู่กับหลายปัจจัยยากที่จะฟันธงเด็ดขาดซะทีเดียว เพราะมีบางเจ้าเขาให้บริการแบบครบวงจรเลย แบบนั้นก็ลงเพียงตัวเดียวทำตั้งแต่ต้นจนจบ บางตัวเราก็ต้องเลือกใช้งาน ถ้าพัฒนาเฉพาะ ontology ก็มีหลายตัวให้เลือกใช้ ตามความสะดวกและความชอบเลยครับ ส่วนถ้าอยากพัฒนา SWRL ด้วยนั้นก็ควรเลือกตัวที่มีบริการเสริมด้านนี้ เช่น Jess tab ไว้เขียน rule และทดสอบประมวลผล rule ที่เขียนขึ้น แต่ถ้าจะนำไป Run ระบบจริงก็คงต้องพิจารณาเอา Jena Framework ทาใช้ถ้าเราใช้ Java เป็นภาษาในการพัฒนา สำหรับผมแล้ว(เหตุผลส่วนตัว)เพื่อความเหมาะสมในการทำวิจัย ผมเลือก Protege 3.4 (เพราะมี Jess tab และ ontology ค่อนข้างมีมาตรฐาน) และ WSMT 2.0 (เพราะมีภาพ visualization ที่ดูแล้วเข้าใจง่ายสะดวกที่จะนำไปนำเสนอผลงาน)เป็นตัวพัฒนา ontology (เพราะไม่เสียตังค์) ส่วนตัวพัฒนา SWRL ผมใช้ Jess tab ใน Protege 3.4 (ฟรีและง่ายในการพัฒนาและทดสอบ) ส่วนในขั้นการ Run ระบบผมใช้ TomCat 6 เป็น Java Web Server เขียน Web (User Interface) ด้วย JSP ซึ่งพัฒนาบน (Netbean 6.5) พัฒนาส่วน Web Service ด้วย Netbean 6.5 แล้วใช้ Jena เป็น Framework (Java API) ในขั้นการ Implement โดย import library (ทั้ง Jena และ Jess)เข้ามาใช้ใน Netbean เพื่อให้มันทำงานกับ ontology และ SWRL ที่ผมสร้างขึ้น จากนั้นก็ทดสอบการใช้งานด้วย Browser อาจเป็น IE หรือ Firefox ก็ได้

เพิ่มเติมเกี่ยวกับ SWRL - SWRL มันเป็นภาษาสำหรับเขียนกฎ มันเป็นความสามารถทางตรรกะ(Logic) ที่เวบเชิงความหมายมีให้ เราต้องใช้ Rule Engine(Inference Engine) ครับในการประมวลผลภาษากฎของ SWRL ที่นิยมกันมากคือ Jess ครับ ส่วนการใช้งาน Jess ทำได้ใน 2 ขั้นตอนคือ ขั้นการพัฒนา Ontology และ SWRL ก็ใช้ Jess tab ใน Protege ส่วนขั้นการพัฒนาโปรแกรมเราจะใช้ Framework ในกรณีที่เป็น Java เราใช้ Jena และ Jess ทำงานร่วมกัน โดนเขียนโปรแกรมผ่าน API ของ Jena ครับ โดยทั้ง Jena และ Jess ต้องถูก add library เข้าไปใน Java IDE ก่อนนะครับ
»»  read more