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

OWL

Web Ontology Language (OWL)

- จากการศึกษาของ Grigoris Antoniou and Frank van Harmelen. (2004) พบว่า OWL ถูกสร้างโดย W3C Web Ontology Working Group ถูกพัฒนาขึ้นเพื่อเป็นส่วนขยายต่อจากภาษา (Resource Description Framework: RDF) และสืบทอดมาจากภาษา DRAPA Markup Language + Ontology Interface Layer (DAML+OIL) OWL จัดเป็นองค์ประกอบหนึ่งในงานเว็บเชิงความหมาย (Semantic Web) ที่ใช้ในการบรรยายข้อมูลเชิงความหมาย สามารถกำหนดโครงสร้างข้อมูลในลักษณะลำดับชั้น และอธิบายข้อมูล (Metadata) ที่มีความสัมพันธ์ในระบบฐานข้อมูลได้ รวมทั้งสามารถรองรับการบรรยายข้อมูลเชิงตรรกะ ชนิดข้อมูล และตัวบ่งปริมาณได้ ทำให้ข้อมูลที่ถูกแทนที่นั้นมีความหมายมากยิ่งขึ้น ลักษณะการบรรยายจะอยู่ในรูปของคลาส คุณสมบัติของคลาส และความสัมพันธ์ของคลาส เพื่ออธิบาย Entity และความสัมพันธ์ (Relationship) ต่าง ๆ ที่เกิดขึ้น OWL Web Ontology Language โลกของ World Wide Web เปรียบเสมือน แหล่งรวบรวมข้อมูลต่างๆโดยต้องใช้ keyword ในการค้นคว้า ซึ่งข้อมูลที่อยู่ในปัจจุบันนั้นยังขาดการจัดการที่ดีเนื่องจากไม่มีเครื่องมือที่จะช่วยสนับสนุน เพื่อใช้ในการ Mapping ข้อมูลให้อยู่ในรูปแบบที่กำหนดตัวกลางที่จะใช้ในการคำนวณนี้ ต้องการเครื่องมือที่สามารถอ่านคำอธิบายของหัวข้อต่างๆ ในเว็บที่เป็นทรัพยากรและคำอธิบายที่ได้มานี้จะต้องอยู่ในรูปแบบที่มนุษย์สามารถเข้าใจได้ด้วย OWL Web Ontology Language ถูกสร้างขึ้นมาเพื่อหาภาษาที่สามารถอธิบาย class และความสัมพันธ์ของ class ที่อยู่ใน web document และ application ต่างๆ เอกสารเหล่านี้จะแสดงให้เห็นว่าเราสามารถใช้ OWL Language ได้ดังนี้ จัดรูปแบบของโดเมนโดยการสร้าง class และ properties ของ class, สร้างเอกลักษณ์เฉพาะและคุณลักษณะเฉพาะของแต่ละ class, ให้เหตุผลเกี่ยวกับแต่ละ class และแต่ละเอกลักษณ์เพื่อสร้างลำดับชั้นโดยความหมายที่เป็นทางการของ OWL Language OWL Web Ontology Language เป็นภาษาที่ใช้ในการนิยามและเป็น Web Ontology แบบกึ่งสำเร็จรูป ontology เป็นเทอมที่ถูกยืมมาจากนักปรัชญา ซึ่งหมายถึง การอธิบายการแบ่งแยกชนิดของสิ่งต่างๆ และความสัมพันธ์ระหว่างกันของมันซึ่งหลักทางวิทยาศาสตร์ Web Ontology จะประกอบไปด้วย คำบรรยายของ class, property และค่าคงที่ของมันเหมือนกันกับ ontology OWL formal semantics จะเน้นถึงว่า เราจะทำให้ได้มาซึ่งหลักตรรกะแต่ถูกว่างเงื่อนไขโดยใช้ความหมาย ซึ่งเงื่อนไขนี้อาจจะได้มาจากเอกสารใดเอกสารหนึ่งหรือเอกสารที่อยู่กันอย่างกระจัดกระจายหลายๆที่ก็เป็นไปได้ ด้วยเหตุนี้จึงต้องทำการรวบรวมโดยใช้ OWL mechanisms

ภาษาย่อยของ OWL

จากการศึกษาของ Jorge Cardoso and Amit P. Sheth. (2006) OWL language มี 3 ลักษณะย่อยที่เพิ่มขึ้นมาดังรูปที่ 2.8 ซึ่งออกแบบมาสำหรับการติดต่อกับผู้ใช้และผู้พัฒนาโดยเฉพาะ

- OWL Lite สนับสนุนความต้องการของผู้ใช้ที่ต้องการเพียงการจัดลำดับและการแบ่งประเภทโดยใช้ลักษณะหรือเกณฑ์ในการแบ่งแบบง่ายๆ เช่น ถ้า OWL Lite มีส่วนของ cardinality หรือจำนวนที่จะเกิดความสัมพันธ์อยู่ก็จะมีค่าอยู่แค่ 0 หรือ 1 เท่านั้นมันควรจะง่ายที่จะหาเครื่องมือที่สนับสนุน OWL Lite มากกว่านี้จะมองความสัมพันธ์ที่ลึกซึ้งและควรจะได้คำตอบออกมารวดเร็วโดยการค้นหาเส้นทางผ่านการจัดหมวดหมู่(taxonomy)

-
OWL DL สนับสนุนผู้ใช้ที่ต้องการความลึกซึ้งที่ค้อนข้างสูงโดยที่จะต้องไม่สูญเสียความสมบูรณ์ของการคำนวณ (ทุกเงื่อนไขมีการการันตีว่าถูกคำนวณแล้ว) และสามารถตัดสินใจได้ (ทุกๆการคำนวณจะต้องเสร็จในเว็บที่กำหนด) จัดการระบบที่ให้เหตุผล OWL DL ประกอบด้วย OWL language ทุก.โครงสร้างซึ่งถูกจำกัด เช่น ชนิดของการแยกแยะ (class แต่ละ class จะไม่ใช่เอกลักษณ์หรือคุณลักษณะ,คุณลักษณะแต่ละอย่างก็ไม่ใช่ class หรือเอาลักษณะ) OWL DL มีชื่อย่อมากจาก Description logic เป็นงานวิจัยที่ศึกษาเกี่ยวกับการตัดสินใจในส่วนของ first order logic OWL DS ถูกสร้างขึ้นมาเพื่อสนับสนุนการมีอยู่ของ Description logic ในส่วนของธุรกิจ และมีความต้องการการคำนวณหา property เพื่อระบบการใช้เหตุผล

-
OWL Full มีความสำคัญต่อผู้ใช้ที่ต้องการความลึกซึ้งที่สุดและความหมายที่อิสระของ RDF โดยไม่ต้องมีการการันตี ยกตัวอย่างเช่น ใน OWL Full class สามารถจะถูกรักษาได้เหมือนกันกับ collection ของเอกลักษณ์ และเหมือนกันกับ individual ในส่วนที่ถูกต้องของมันเอง สิ่งสำคัญที่ทำให้ OWL Full แตกต่างจาก OWL DL คือ OWL : Datatype Propoty สามารถจะมาร์คได้เป็น OWL : InverseFunctionnalPropprty . OWL Full ยอมให้ ontology ขยาย

- จากการศึกษาของ Grigoris Antoniou and Frank van Harmelen. (2004) ได้อธิบายไว้ว่า ความหมายของกระบวนการก่อนกำหนด (RDF or OWL) คำศัพท์ ซึ่งไม่เหมือนกับ software ที่ใช้ให้เหตุผลทั่วไปซึ่งสามารถจะสนับสนุนทุกๆ รูปแบบของ OWL Full Sublanguage แต่ละตัวเป็นส่วนขยายมาจากกระบวนการข้างต้นของมันเอง ซึ่งอยู่ในส่วนที่เป็นกฎที่เต็มไปด้วยความหมายและส่วนที่เป็นส่วนประกอบที่เป็นเหตุเป็นผลมีเซตของความสัมพันธ์และไม่มีส่วนกลับ

- ทุกๆ กฎของ OWL Lite Ontology เป็น กฎของ OWL DL Ontology และ ทุกๆ กฎของ OWL DL Ontology เป็น กฎของ OWL Full Ontology นอกจากนี้ทุกๆ สาเหตุ ของข้อสรุป OWL Lite เป็นสาเหตุหาข้อสรุป OWL DL และทุกๆ สาเหตุ ของข้อสรุป OWL DL เป็นสาเหตุหาข้อสรุป OWL Full

- OWL ควรจะพิจารณาถึงว่าประเภท (Species) ที่ดีที่สุดที่สุดที่ต้องการระหว่าง OWL Lite และ OWL DL โดยขึ้นอยู่กับว่าผู้ใช้ต้องการความหมายที่ลึกซึ้งที่จัดหาได้จาก OWL DL และการใช้เหตุผลสำหรับ OWL Lite จะมีการคำนวณ property ที่ให้เหตุผลกับ OWL DL ขณะที่มีการจัดการด้วย Sub-language ที่สามารถตัดสินใจได้จะเป็นหัวข้อของกรณีที่ที่แย่ที่สุดของความซับซ้อนระดับสูง ตัวเลือกระหว่าง OWL DL และ OWL Full ขึ้นอยู่กับว่าผู้ใช้ใดต้องการ meta-modeling ของ RDF schema (เช่น การกำหนด class ของ class) เมื่อใช้ OWL Full

»»  read more

Ontology

Ontology

- Ontology เป็นสิ่งที่สามารถจับเอาสารสนเทศและความรู้ (Information and Knowledge) มาสร้างเป็นฐานความรู้ (Knowledge-based) (Fishwick, P.A., Miller, J.A. , 2004). โดยมีภาษา XML เป็นพื้นฐานสำคัญ โดยเฉพาะที่เกี่ยวกับการจัดการสนามรบได้มีการพัฒนาภาษา BML ขึ้นมา (J. Mark Pullen, Krishna Makineni, Priscilla McAndrews., 2007) โปรแกรมประยุกต์ทางทหารพยายามทำให้คอมพิวเตอร์สามารถเข้าใจความหมาย (Semantic) และยังสร้างปัญญาประดิษฐ์ (Artificial Intelligence) ซึ่งสามารถนำไปใช้ในการประยุกต์ใช้งานของทหารเพื่อการตัดสินใจในระดับสูง (High level military application)ได้ (Bowman, M., Lopez, A., and Tecuci, G., 2001)

- ความหมายของ Ontology Martin Hepp, Pieter De Leenheer, Aldo de Moor and York Sure. (2008) ได้รวบรวมไว้ ดังนี้
  1. Ontology เป็นปรัชญาว่าด้วยกฎระเบียบข้อบังคับ (Philosophical discipline)
  2. Ontology เป็นระบบกรอบความคิดซึ่งไม่เป็นทางการ (Informal conceptual system)
  3. Ontology เป็นการบรรยายความหมายอย่างเป็นทางการ (formal semantic account)
  4. Ontology เป็นคุณลักษณะเฉพาะของการสร้างกรอบความคิด (specification of a conceptualization)
  5. Ontology เป็นตัวแทนของระบบกรอบความคิดด้วยโดยทางทฤษฎีทางตรรกะ (representation of a conceptual system via a logical theory) มี 2 ลักษณะพิเศษ (1. ลักษณะตามคุณลักษณะที่เป็นทางการเฉพาะ (Specific formal properties), 2. ลักษณะตามวัตถุประสงค์เฉพาะ (Specific purposes))
  6. Ontology เป็นคำศัพท์ที่ถูกใช้โดยทฤษฎีทางตรรกะ (Vocabulary used by a logical theory)
  7. Ontology เป็นคุณลักษณะเฉพาะ (meta-level) ของทฤษฎีทางตรรกะ (Specification of a logical theory) (Guarino and Giaretta, 1995)
- จากการศึกษาของ Grigoris Antoniou and Frank van Harmelen. (2004) ได้สรุปว่า Ontology หมายถึงวิธีการบรรยายแนวความคิดตามขอบเขตที่สนใจ หรือข้อกำหนดที่เกี่ยวกับแนวคิด (The Specification of a Conceptualization) โดยที่ Ontologyเป็นการสร้างโครงสร้างฐานความรู้ทางด้านใดด้านหนึ่ง หรือขอบเขต (Domain) ใดขอบเขตหนึ่ง ซึ่งมีแนวคิดและความเข้าใจตรงกัน Ontology ใช้ในการอธิบายความหมายของสิ่งต่าง ๆ และสามารถจัดหมวดหมู่เอกสารของข้อมูลได้ในขอบเขตความสนใจหนึ่ง ๆ ซึ่งในปัจจุบัน Ontology ได้ถูกนำมาประยุกต์ใช้งานมากยิ่งขึ้น สามารถประยุกต์กับงานหลาย ๆ ด้าน เช่น เว็บ เชิงความหมาย (Semantic Web) การจัดการองค์ความรู้ (Knowledge Management) ธุรกิจอิเล็กทรอนิกส์ (e-Business) พาณิชย์อิเล็กทรอนิกส์ (e-Commerce) และการค้นคืนสารสนเทศ และได้แบ่งประเภทของ Ontology เป็น 4 ประเภท คือ Top-Level Ontology, Domain Ontology, Task Ontology และ Application Ontology




- Ontology ถูกสร้างขึ้นมาเพื่อจำกัดองค์ความรู้ (Knowledge) ของขอบเขตข้อมูลนั้น ๆ โดยมีความสามารถในการใช้ข้อมูลร่วมกัน (Share) สามารถนำข้อมูลกลับมาใช้ได้ (Reuse) และมีความสามารถในการถ่ายทอดคุณสมบัติ (Inheritance) การนำ Ontology มาใช้งานจึงเป็นทางเลือกหนึ่งในการแชร์ข้อมูล และแยกองค์ความรู้ออกจากฐานข้อมูล


- Ontology เป็นลักษณะภาษาที่นำมาใช้บรรยายโครงสร้างและความสัมพันธ์ของระบบผ่านโหนด (Node) แบบลำดับชั้น (Hierarchies) ภาษาดังกล่าวถูกนำมาใช้ในงานหลายด้าน โดยเฉพาะด้านปัญญาประดิษฐ์ (AI) ในปัจจุบันได้กำหนดภาษามาตรฐานที่ใช้จำลองและออกแบบโครงสร้างของเอกสาร (eXtensible Markup Language: XML) โดยใช้นิยามแนวคิดให้อยู่ในรูปของกฎ (Role) คลาส (Class) ความสัมพันธ์ระหว่างคลาส (Relation) และคุณสมบัติของคลาส (Properties) แล้วนำเสนอออกมาในรูปของโหนด และความสัมพันธ์แบบลำดับชั้น


** เนื่องจากว่าหลายคนคิดว่า ontology คือทั้งหมดของ semantic web ซึ่งส่วนของ ontology นั้นจะใช้สำหรับผูกความสัมพันธ์ของ thing (data) หรืออีกนัยหนึ่งมันก็คล้ายๆกับ database ซึ่งก็ไม่แปลกที่หลายคนจะเข้าใจแค่นั้น แต่เนื่องจาก ontology นั้นมีสิ่งที่แตกต่างจาก database ทั่วไปอย่างน้อยๆก็เรื่องรูปแบบของข้อมูลซึ่งเป็นแบบ Hierarchy form และนอกจากนั้นยังมีข้อมูลความสัมพันธ์ของ Thing ติดอยู่ด้วย ทีนี้หลายๆคน ยังเข้าใจว่าเวลาใช้ ontology ก็จะใช้แบบ database เลยต้องหาอะไรมา query มัน แล้วนั่นเราจะได้ประโยชน์เพิ่มขึ้นตรงไหน? ทำไมไม่ใช้เทคโนโลยีเก่าล่ะ? สิ่งที่เราจะได้ประโยชน์จากเทคโนโลยีนี้คือ การเพิ่มความฉลาดให้มัน(หมายถึงระบบคอมพิวเตอร์) ใส่สมองให้มัน (Logic) ซึ่งแน่นอน Logic นี้ยังสามารถ query ข้อมูลใน ontology ได้อีกด้วย ผมกำลังพูดถึง SWRL: Semantic Web Rule Language ซึ่งเราต้องพัฒนาหลังจากที่เราสร้าง ontology แล้ว แต่ก่อนนั้นเราจะให้โปรแกรมเราฉลาดขึ้นได้นั้นเราก็จะเขียน Logic ฝังไว้ในตัวโปรแกรม พอมีความต้องการพัฒนาเพิ่มเติมก็ต้องเอาโปรแกรมทั้งหมดหรือบางส่วนมาแก้ แต่ถ้าเราใช้ SWRL แทน โปรแกรมก็จะทำหน้าที่เพียง Interface Logic Programming แล้วให้ SWRL ทำหน้าที่ Logic ของระบบทั้งหมด เราสามารถพัฒนาแก้ไขได้ตลอดทั้งส่วน Ontology และ SWRL โดยแทบไม่ต้องไปแตะส่วนของโปรแกรมเลย พูดมาซะยืดยาว ผมจะขอยกตัวอย่างล่ะกัน สมมุติว่าใน ontology เรามีข้อมูลที่ผูกความสัมพันธ์ว่า A เป็นพี่ชายกับ B, B1 เป็นลูกของ B, (ฉะนั้น B1 เป็นหลานของ A และ A เป็นลุงของ B1) ส่วนในวงเล็บนั้นข้อมูลจะไม่มีปรากฎใน ontology แต่เราจะเขียนไว้ใน SWRL แทน เพียงแค่นี้ระบบของเราก็จะฉลาดขึ้น ไม่ใช่แค่ query ธรรมดา..

»»  read more

September 20, 2009

Semantic Web Technology

Semantic Web Concept
- จากรูป ฐานข้อมูลและ ontology ต่างก็เป็นตัวแทนของความรู้ ความรู้ก็เป็นความสัมพันธ์ของสิ่งต่างๆ และสิ่งนั้นก็คือข้อมูล ความรู้ยังถูกประยุกต์ด้วยตรรกะ ส่วนของตรรกะนั้นถูกเขียนด้วยภาษา SWRL ทั้งความรู้และตรรกะ สามารถนำเสนอความอัจฉะริยะได้ ส่วน ontology นั้นถูกเขียนด้วยภาษา OWL เขียน ทั้ง OWL และ SWRL เป็นชนิดหนึ่งของเทคโนโลยีเวบเชิงความหมาย รูปนี้ใช้รูปแบบของ ontology พยายามทำความเข้าใจด้วยรูปนี้ให้ได้ มิฉะนั้นก็ยากที่จะเข้าใจ ontology

Semantic Application Design

- Object Oriented Concept
- Web page design for user interface
- Implement with JAVA in order to connect many components by API

Ontology design principle

- Focus on domain / sub domain
- No over depth, No over width and balance it
- Design ontology base on domain concept
- Domain is a set or a group of things that have strong cohesion
- Top-Down approach and level by level
- Design from abstract (Super Class/Sub Class) to more detail and realist (instance)
- Conform to parent and child concept
- Avoid 2 or more parents relationship
- If your hierarchy have more than 4 children with same parent, you should re-think about domain and split it to another domain
- Connect to another domain pass through services from Web Service
- Don’t forget name all relations (Simple is a good idea)

»»  read more

My collection of Twitter articles

My collection of Twitter articles is here [ Plurk ] and posted on reFlexion-i blog «
»»  read more