คมอการใชงาน
โปรแกรมตงคาระบบแปลงขอมลจากฐานขอมลโดยใชออนโทโลยและตงคาระบบสบคนขอมลเชงความหมาย
Tutorial on Database to Ontology Mapping and Semantic Search Configuration System
พฒนาโดย
หนวยปฏบตการวจยเทคโนโลยภาษาธรรมชาตและความหมาย
ศนยเทคโนโลยอเลกทรอนกสและคอมพวเตอรแหงชาต
Language and Semantic Technology Laboratory (LST)
National Electronics and Computer Technology Center (NECTEC)
กมภาพนธ 2555
2
สารบญ บทท 1. บทน า ................................................................................................................................................................. 6
1.1) ท ำควำมรจกกบโปรแกรม .............................................................................................................................................. 6
1.2) ควำมตองกำรของระบบ................................................................................................................................................. 6
1.3) ซอฟแวรทจ ำเปนตองมกอนกำรใชงำน .......................................................................................................................... 6
1.4) วธกำรตดตงโปรแกรม .................................................................................................................................................... 7
บทท 2. การเตรยมขอมล ................................................................................................................................................. 8
2.1) กำรเตรยมไฟลฐำนควำมรออนโทโลย ในแบบ OWL ..................................................................................................... 8
2.2) กำรสรำงฐำนขอมล ........................................................................................................................................................ 9
2.2.1 เรมตนสรำงขอมลในโปรแกรมตำรำงค ำนวณ ......................................................................................................... 9
2.2.2 สรำงกำรเชอมตอกบระบบฐำนขอมล .................................................................................................................. 10
2.2.3 น ำเขำขอมล (import) ทสรำงขนสระบบฐำนขอมล ............................................................................................ 11
2.2.4 ก ำหนดคยหลก (primary key) ใหกบแตละตำรำง ............................................................................................. 13
บทท 3. การตงคาการแปลงขอมล.................................................................................................................................. 15
3.1) กำรตงคำครงแรกกอนกำรใชงำนโปรแกรม Configuration ....................................................................................... 15
3.1.1 ก ำหนดคำ Environment Variable ................................................................................................................... 15
3.1.2 สรำง Internal Database ................................................................................................................................... 16
3.2) กำรเรมตนและหยดกำรใชงำนโปรแกรม Apache Tomcat ...................................................................................... 17
3.3) เรมตนใชงำนโปรแกรม Configuration ..................................................................................................................... 18
3.4) กำรก ำหนดคำกำรเชอมตอกบระบบฐำนขอมลและ upload ไฟลฐำนควำมรออนโทโลย .......................................... 18
3.5) กำรก ำหนดควำมสมพนธของคลำสกบตำรำง (Class-Table Mapping) .................................................................... 20
3.6) กำรก ำหนดควำมสมพนธของคณสมบตกบคอลมน (Property-Column Mapping) ................................................ 21
3.6.1 Datatype Property Mapping .......................................................................................................................... 22
3.6.2 Object Property Mapping .............................................................................................................................. 23
3.7) กำรก ำหนดคำกำรแปลงค ำศพท (Vocabulary Mapping) ........................................................................................ 25
3.8) บนทกขอมลกำรตงคำและสรำงขอมลผลลพธ ............................................................................................................ 27
3.8.1 กำรบนทกขอมลกำรตงคำ ................................................................................................................................... 27
3.8.2 กำรสรำงขอมลผลลพธในแบบ RDF..................................................................................................................... 28
3.8.3 น ำเขำขอมลกำรตงคำ .......................................................................................................................................... 29
3
บทท 4. การพฒนาระบบสบคนขอมลเชงความหมาย .................................................................................................... 30
4.1) กำรตงคำระบบสบคนขอมล ....................................................................................................................................... 30
4.1.1 กำรก ำหนด Search Property ........................................................................................................................... 30
4.1.2 กำรก ำหนด Display Property ........................................................................................................................... 32
4.1.3 กำรก ำหนด Search Property และ Display Property แบบอำงองไปยงคลำสอน .......................................... 33
4.1.4 กำรบนทกขอมลกำรตงคำ ................................................................................................................................... 35
4.1.5 น ำเขำขอมลกำรตงคำ .......................................................................................................................................... 35
4.2) กำรใชงำนระบบสบคนขอมล ...................................................................................................................................... 36
4.2.1 เรมตนใชงำนโปรแกรมระบบสบคนขอมลเชงควำมหมำย .................................................................................... 36
4.2.2 กำรก ำหนดเงอนไขกำรสบคนขอมล ..................................................................................................................... 36
4.2.3 ผลลพธกำรสบคนขอมล ....................................................................................................................................... 38
4
สารบญรปภาพ
รปท 1 แสดงกำร export ไฟล ontology เปนแบบ OWL ....................................................................................................... 8 รปท 2 แสดงกำร Save ขอมล ontology เปนแบบไฟล OWL ................................................................................................. 9 รปท 3 แสดงกำรสรำงขอมลในฐำนขอมลในโปรแกรมตำรำงค ำนวณ ..................................................................................... 10 รปท 4 แสดงกำรตงคำกำรเชอมตอกบระบบฐำนขอมล MySQL ............................................................................................ 11 รปท 5 แสดงกำรสรำงฐำนขอมลใหม ...................................................................................................................................... 11 รปท 6 แสดงขนตอนกำรน ำเขำขอมล .xls ............................................................................................................................. 12 รปท 7 แสดงขนตอนกำรน ำเขำขอมล .xls (ตอ) ..................................................................................................................... 13 รปท 8 แสดงขนตอนกำรก ำหนดคยหลกใหกบตำรำง ............................................................................................................. 14 รปท 9 แสดงกำรก ำหนดคำ environment variable ........................................................................................................... 15 รปท 10 แสดงกำรก ำหนดคำ environment variable (ตอ) ................................................................................................ 16 รปท 11 แสดงขนตอนกำรสรำง internal database ............................................................................................................ 17 รปท 12 แสดงขนตอนกำรรนโปรแกรม Apache Tomcat.................................................................................................... 17 รปท 13 แสดงขนตอนกำรรนโปรแกรม Apache Tomcat (ตอ) ........................................................................................... 18 รปท 14 แสดงกำรเปดโปรแกรม Configuration ................................................................................................................... 18 รปท 15 แสดงกำรก ำหนดคำกำรเชอมตอฐำนขอมลและ upload ไฟลออนโทโลย ............................................................... 19 รปท 16 ตวอยำงคลำสหลกในระดบบนสด (top-level class) ในออนโทโลย ....................................................................... 20 รปท 17 แสดงขนตอนกำรก ำหนดควำมสมพนธระหวำงคลำสกบตำรำง (Class - Table Mapping) .................................... 20 รปท 18 แสดงรำยกำรควำมสมพนธของคลำสกบตำรำงฐำนขอมลทผใชก ำหนด (List of Class – Table Mapping).......... 21 รปท 19 แสดงตวอยำงกำรจ ำแนก Datatype property กบ Object property ของคลำส Player .................................... 22 รปท 20 แสดงขนตอน Property – Column Mapping ....................................................................................................... 22 รปท 21 แสดง Datatype Property Mapping .................................................................................................................... 23 รปท 22 แสดง Object Property Mapping ......................................................................................................................... 24 รปท 23 แสดงตวอยำงรำยกำรขอมลกำรแปลงคณสมบต (List of Property Mapping) ...................................................... 24 รปท 24 แสดงตวอยำงขอมลล ำดบชนของคลำส (class hierarchy) ทใชเปนขอมลอำงองในกำรแปลงค ำศพท .................... 25 รปท 25 แสดงขนตอนกำรเขำสหนำจอก ำหนดคำกำรแปลงค ำศพท (Vocabulary Mapping) ............................................. 26 รปท 26 แสดงขนตอนกำรเขำสหนำจอก ำหนดคำกำรแปลงค ำศพท (Vocabulary Mapping) (ตอ) ..................................... 26 รปท 27 แสดงตวอยำงรำยกำรขอมลกำรแปลงค ำศพท (List of Vocabulary Mapping) .................................................... 27 รปท 28 แสดงขนตอนกำรจดเกบขอมลกำรตงคำกำรแปลงขอมลลงดสก .............................................................................. 28 รปท 29 แสดงขนตอนกำรสรำงขอมลผลลพธในแบบ RDF ลงดสก ........................................................................................ 28 รปท 30 แสดงขนตอนกำรน ำเขำขอมลกำรตงคำจำกดสก ...................................................................................................... 29 รปท 31 แสดงรำยกำรคลำสส ำหรบ Application Config .................................................................................................... 30 รปท 32 แสดงรำยกำร Search Property ............................................................................................................................. 31 รปท 33 แสดงกำรเพมรำยกำร Search Property ................................................................................................................ 31 รปท 34 แสดงรำยกำร Display Property ............................................................................................................................ 32 รปท 35 แสดงกำรเพมรำยกำร Display Property ................................................................................................................ 33
5
รปท 36 แสดงตวอยำงคณสมบตแบบอำงองไปยงคลำสอนของคลำส ‘Player’ .................................................................... 33 รปท 37 แสดงกำรก ำหนด Display Property เปนคณสมบตแบบอำงองไปยงคลำสอน ....................................................... 34 รปท 38 แสดงกำรก ำหนด Display Property เปนคณสมบตแบบอำงองไปยงคลำสอน (ตอ) ............................................... 35 รปท 39 แสดงขนตอนกำรจดเกบขอมลกำรตงคำระบบสบคนขอมลลงดสก .......................................................................... 35 รปท 40 แสดงขนตอนกำรน ำเขำขอมลกำรตงคำระบบสบคนขอมลจำกดสก ......................................................................... 36 รปท 41 แสดงกำรเปดโปรแกรม Semantic Search System .............................................................................................. 36 รปท 42 แสดงตวอยำงกำรก ำหนดเงอนไขกำรสบคนขอมล .................................................................................................... 37 รปท 43 แสดงตวอยำงผลลพธของกำรสบคนขอมล ............................................................................................................... 38
6
บทท 1. บทน า
1.1) ท าความรจกกบโปรแกรม
โปรแกรมตงคำระบบแปลงขอมลจำกฐำนขอมลโดยใชออนโทโลยและระบบสบคนขอมลเชงควำมหมำย (Configuration) ประกอบไปดวยโปรแกรมยอย 2 สวน ไดแก
1) สวนตงคาการแปลงขอมลจากฐานขอมลโดยใชออนโทโลย (Database to Ontology Mapping Component) เปนโปรแกรมเครองมอทใชในกำรเชอมควำมสมพนธระหวำงขอมล (Data Mapping) ในฐำนขอมลกบฐำนควำมรออนโทโลยตำมแบบมำตรฐำน OWL (Web Ontology Language) โดยสรำงผลลพธในแบบขอมล RDF (Resource Description Framework) โดยมวตถประสงคเพอใหสำมำรถน ำไปใชงำนในโปรแกรมประยกตตำงๆ ตำมแบบเทคโนโลยเวบควำมหมำย (Semantic Web Technology) ไดอยำงสะดวกงำยดำยยงขน (ดงมรำยละเอยดขนตอนกำรใชงำนในบทท 3)
2) สวนตงคาการสบคนขอมล (Search Configuration Component) เปนโปรแกรมเครองมอทใชในกำรก ำหนดรปแบบกำรสบคนและรปแบบผลลพธกำรสบคนขอมลของระบบสบคนขอมลเชงควำมหมำย (Semantic Search System) (ดงมรำยละเอยดขนตอนกำรใชงำนในบทท 4)
โดยผลลพธทไดจำกโปรแกรม Configuration จะน ำไปใชงำนในโปรแกรมระบบสบคนขอมลเชงควำมหมำย (Semantic Search System) ซงเปนโปรแกรมส ำเรจรปทใชในกำรสบคนขอมล RDF (ดงมรำยละเอยดขนตอนกำรใชงำนในบทท 4)
เอกสำรคมอกำรใชงำนน แบงรำยละเอยดออกเปน 4 บท ดงน บทท 1 แนะน ำโปรแกรม และวธกำรตดตง บทท 2 แนะน ำวธกำรเตรยมขอมลออนโทโลย และฐำนขอมล บทท 3 แนะน ำวธกำรตงคำกำรแปลงขอมลจำกฐำนขอมลโดยองกบฐำนควำมรออนโทโลย บทท 4 แนะน ำวธกำรตงคำและวธกำรใชงำนระบบสบคนขอมลเชงควำมหมำย
1.2) ความตองการของระบบ
กอนททำนจะสำมำรถเรมตนใชงำนโปรแกรม Configuration ไดนน ทำนตองตรวจสอบคณสมบตในเครองคอมพวเตอรของทำนเสยกอน เพอใหโปรแกรมสำมำรถท ำงำนไดอยำงเตมประสทธภำพ เครองคอมพวเตอรของทำนควรมคณสมบตขนต ำ ดงน
CPU Ram Hard Disk OS JAVA Browser
Intel Pentium III Processor หรอสงกวำ หรอ CPU อนๆ ทมควำมเรวใกลเคยงหรอสงกวำ 256MB หรอมำกกวำ 150MB หรอมำกกวำ Windows XP, Windows Vista, Windows 7 (Mac OS, UNIX สำมำรถใชงำนไดแตตองปรบเปลยนซอฟแวรอนๆ ทตดตงใหตรงกบ OS ทใช) JDK 6 หรอเวอรชนสงกวำ Firefox 5 หรอเวอรชนสงกวำ, Google Chrome (โปรแกรมยงไมสำมำรถใชงำนไดใน Internet Explorer)
1.3) ซอฟแวรทจ าเปนตองมกอนการใชงาน
7
กอนเรมตนกำรใชงำนโปรแกรมตำมในเอกสำร Tutorial น เครองคอมพวเตอรของทำนจะตองตดตงซอฟแวรตอไปนกอน (หำกยงไมเคยตดตงมำกอน)
1. Java Development Kit (JDK) (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
2. AppServ (http://www.appservnetwork.com/) 3. Navacat for MySQL (http://www.navicat.com/en/download/download.html) 4. Notepad++ (หรอ EditPlus) (http://notepad-plus-plus.org/download/v5.9.8.html) 5. Mozilla Firefox (http://www.mozilla.org/th/firefox/fx/)หรอ Google Chrome Web Browser
(http://www.google.co.th/chrome) 6. LibreOffice Calc (http://www.libreoffice.org/download/) หรอ Microsoft Excel
1.4) วธการตดตงโปรแกรม
1. Download ไฟล “SKM_user_tools.rar” จำก URL: http://text.hlt.nectec.or.th/ontology/workshop3
2. ขยำยไฟล (Extract) ลงบนเครองของทำน (เชน ลงบน Desktop หรอโฟลเดอรอนๆ)
3. โปรแกรม Hozo Ontology Editor และ โปรแกรม Apache Tomcat จะอยใน Folder “SKM_user_tools\software\oe52_36en” และ “SKM_user_tools\software\apache-tomcat-7.0.14” ตำมล ำดบ พรอมใหสำมำรถ Run โปรแกรมใชงำนได
8
บทท 2. การเตรยมขอมล
2.1) การเตรยมไฟลฐานความรออนโทโลย ในแบบ OWL
ขนตอนแรกเปนขนตอนกำร Export ขอมล Ontology ทสรำงจำกโปรแกรม Hozo1 ใหเปนแบบไฟล OWL จำกรปท 1 เมอทำนไดท ำกำรสรำงไฟลออนโทโลยขนมำใหม หรอเปดไฟลออนโทโลยเดมทไดสรำงไว โดยใช โปรแกรม Hozo เรยบรอยแลว โดยในเอกสำร Tutorial นจะใชขอมล ontology ตวอยำงในเรองนกฟตบอลอำชพ ซงทำนสำมำรถเปดไฟลนไดจำก “SKM_user_tools\data\ontology\WorldCup.ont” ใหทำนท ำกำรคลกเลอกเมนดำนบนสดซำยสด “File” จำกนนเลอก “export” เลอกชนดของไฟลทจะตองกำรบนทกเปน OWL[A]
รปท 1 แสดงกำร export ไฟล ontology เปนแบบ OWL
หลงจำกนนแลว โปรแกรมจะแสดงหนำตำงขอมลแบบ OWL ดงรปท 2 ใหทำนท ำกำรบนทกไฟลโดยกำรคลกทปม “save to File” โดยทำนตองเปลยนนำมสกลของไฟลทจดเกบใหเปนนำมสกล .owl
1 วธการใชงานโปรแกรม Hozo Ontology Editor สามารถศกษาไดจากเอกสารคมอการใชงานโปรแกรม Hozo ฉบบภาษาไทย (http://text.hlt.nectec.or.th/ontology/download)
9
รปท 2 แสดงกำร Save ขอมล ontology เปนแบบไฟล OWL
2.2) การสรางฐานขอมล
กำรสรำงฐำนขอมลในเอกสำร Tutorial น จะแบงออกเปน 4 ขนตอน ไดแก ขนท 1 สรำงขอมลแบบตำรำง (table) โดยใชโปรแกรมตำรำงค ำนวณ ขนท 2 สรำงกำรเชอมตอกบระบบฐำนขอมล ขนท 3 น ำเขำขอมล (import) ทสรำงขนสระบบฐำนขอมล ขนท 4 ก ำหนดคยหลก (primary key) ใหกบแตละตำรำง
2.2.1 เรมตนสรางขอมลในโปรแกรมตารางค านวณ
เพอควำมสะดวกในกำรสรำงขอมลในระบบฐำนขอมล ทำนสำมำรถใชโปรแกรมตำรำงค ำนวณใดๆ เชน โปรแกรม Microsoft Excel หรอ LibreOffice Calc ในกำรสรำงขอมลในแบบตำรำง (Table) โดยขอมลแตละตำรำงจะตองจดเกบแยกไฟลกน
ในเอกสำร Tutorial นจะใชตวอยำงขอมลเรองนกฟตบอลอำชพ โดยจะสรำงขอมลขน 3 ตำรำง คอ ตำรำงนกฟตบอล ตำรำงสโมสรฟตบอล ตำรำงประเทศ ใหทำนเรมตนสรำงขอมลตำมทแสดงดงรปท 3 โดยขอมลบรรทดแรกในแตละไฟลจะเปนชอของแตละคอลมนขอมลของตำรำง
10
รปท 3 แสดงกำรสรำงขอมลในฐำนขอมลในโปรแกรมตำรำงค ำนวณ
เมอท ำกำรสรำงขอมลทง 3 ตำรำงเสรจแลว ใหท ำกำรบนทกขอมลทสรำงขนเปนแบบไฟล .xls โดยจดเกบแยกเปน 3 ไฟล ไดแก player_sample.xls, club_sample.xls, country_sample.xls ตำมล ำดบ ดงรปท 3
2.2.2 สรางการเชอมตอกบระบบฐานขอมล
ส ำหรบโปรแกรม Configuration ในเวอรชนปจจบน สนบสนนระบบฐำนขอมล เพยงระบบเดยวคอ MySQL เทำนน ซงระบบฐำนขอมล MySQL จะท ำงำนบนเครองของทำน หลงจำกททำนไดท ำกำรตดตงโปรแกรม AppServ เรยบรอยแลว
วธกำรน ำเขำขอมลสระบบฐำนขอมล MySQL จะท ำโดยใชโปรแกรม Navicat for MySQL ซงเปนโปรแกรมแบบ shareware ทสำมำรถใชส ำหรบตดตอสงงำนระบบฐำนขอมล MySQL ไดอยำงสะดวกรวดเรว และใชงำนไดงำย
เมอทำนเปดโปรแกรม Navicat ขนมำแลว ขนตอนแรกเปนกำรก ำหนดคำกำรเชอมตอกบ MySQL Server ดงขนตอนในรปท 4 โดยคลกทปม “Connection“ และตงชอกำรเชอมตอ (Connection Name) เชน “MySQLDB” พรอมกบระบชอผใช (User Name) และรหสผำน (Password) ใหตรงกบชอผใชและรหสผำนททำนไดก ำหนดไวตอนทตดตงโปรแกรม AppServ เมอกรอกขอมลขำงตนแลว กดปม Ok เพอเปนกำรสรำงกำรเชอมตอฐำนขอมล
หลงจำกททำนไดสรำงกำรเชอมตอกบระบบฐำนขอมล MySQL ขนแลว ขนตอนตอไปเปนกำรสรำงฐำนขอมลใหม (Create new database) โดยใหทำนคลกเมำสปมขวำทชอกำรเชอมตอ เชน “MySQLDB” และคลกท “New Database..” จะไดหนำตำงดงรปท 5 จำกนนตงชอฐำนขอมลใหม ใสชอฐำนขอมล เชน “test” เลอก character set เปนแบบ utf8—UTF-8 Unicode และเลอก Collation เปนแบบ utf8_general_ci กดปม Ok เพอสรำงฐำนขอมลใหม
11
รปท 4 แสดงกำรตงคำกำรเชอมตอกบระบบฐำนขอมล MySQL
รปท 5 แสดงกำรสรำงฐำนขอมลใหม
2.2.3 น าเขาขอมล (import) ทสรางขนสระบบฐานขอมล
ขนตอนตอไปเปนกำรน ำเขำไฟลขอมล .xls ทสรำงขนในขนตอนท 2.2.1 เขำสฐำนขอมล ดงแสดงในรปท 6 โดยคลกทชอฐำนขอมลทสรำงขนใหม เชน test จำกนนคลกขวำท “Tables” และเลอก “Import Wizard” จำกนนเลอก นำมสกลไฟลทจะ Import เปน Excel file (*.xls)
12
กดปมเลอกไฟล (“…”) ในสวน “Import from” จำกนนเลอกไฟล player_sample.xls ท save ไวในขนตอนท 2.2.1 เลอก Sheet1 กดปม “Next” ดงแสดงในรปท 6
ระบหมำยเลขแถวทมชอฟลด (Field name row) เปนแถวท 1 และแถวขอมลเรมตน (First data row) เปนแถวท 2 กดปม “Next” ดงแสดงในรปท 6
ตงชอ target table เปน “player_sample” กดปม “Next” ดงแสดงในรปท 7
ยอมรบคำชนดขอมล (type) ของแตละคอลมนทโปรแกรมก ำหนดให โดยกดปม “Next” ดงแสดงในรปท 7
ยอมรบโหมดกำรน ำเขำขอมลทระบบก ำหนดให โดยกดปม “Next” ดงแสดงในรปท 7
เมอกดปม Start โปรแกรมกจะท ำกำร Import ขอมลทสรำงขนในไฟล .xls มำไวในฐำนขอมลน ดงแสดงในรปท 7
ใหทำนท ำซ ำกระบวนกำรทงหมดใหมในหวขอ 2.2.3 โดยใหน ำเขำไฟล .xls ทเหลออก 2 ไฟล คอ ไฟล club_sample.xls ไปสตำรำง club_sample และ น ำเขำไฟล country_sample.xls ไปสตำรำง country_sample
รปท 6 แสดงขนตอนกำรน ำเขำขอมล .xls
13
รปท 7 แสดงขนตอนกำรน ำเขำขอมล .xls (ตอ)
2.2.4 ก าหนดคยหลก (primary key) ใหกบแตละตาราง
ขนตอนตอไป ทำนตองก ำหนดคอลมนทเปนคยหลก (primary key) ใหกบแตละตำรำงทสรำงขนใหม โดยคลกทชอฐำนขอมลทสรำงขนใหม เชน test จำกนนคลกท “Tables” และเลอกชอ Table คอ club_sample และกดปม “Design Table” ดงรปท 8
ในชองคอลมนขวำสดของแถวแรกซงเปนชอคอลมนทจะใชเปนคยหลก คอ club_id ใหคลกหนงครง โดยโปรแกรมจะแสดงสญญลกษณของคยหลก ดงรปท 8 จำกนนกดปม Save
ใหทำนท ำซ ำกระบวนกำรทงหมดใหมในหวขอ 2.2.4 โดยก ำหนดคยหลกใหกบอก 2 ตำรำงทเหลอ คอ ตำรำง country_sample และตำรำง player_sample ดงรปท 8
14
รปท 8 แสดงขนตอนกำรก ำหนดคยหลกใหกบตำรำง
15
บทท 3. การตงคาการแปลงขอมล
3.1) การตงคาครงแรกกอนการใชงานโปรแกรม Configuration
3.1.1 ก าหนดคา Environment Variable
กอนททำนจะสำมำรถเรมตนกำรใชงำนโปรแกรม Configuration ได ทำนตองก ำหนดคำ environment variable ชอ SKAF_HOME เสยกอน เพอเปนกำรระบคำของโฟลเดอรทจะใหโปรแกรมใชในกำรจดเกบไฟลขอมลผลลพธลงบนเครองของทำน ซงกำรตงคำนจะท ำครงเดยวคอเมอทำนเรมตนใชงำนครงแรก
โดยขนตอนแรกทำนตอง copy โฟลเดอร “SKM_user_tools\skaf_home” ไปยงโฟลเดอรททำนตองกำรใชจดเกบขอมลผลลพธบนเครองของทำน
ขนตอนตอไป เปนกำรเพม environment variable โดยวธกำรก ำหนด environment variable ท ำโดยคลกขวำท “My Computer” แลวเลอก “Property” และคลกท “Advanced system settings” (หรอ “Advanced” ใน Windows XP) หนำจอ System Properties จะแสดงขน จำกนนใหทำนเลอกท Advanced tab และคลกทปม Environment Variable ดงรปท 9
รปท 9 แสดงกำรก ำหนดคำ environment variable
จำกนน ในสวนของ User variables ใหทำนคลก “New..” เพอเพม environment variable โดยก ำหนดให Variable name เปน SKAF_HOME และ Variable value เปน path ของโฟลเดอร “skaf_home” ททำนได copy ไปวำงไวในขนตอนแรก จำกนนคลก OK ดงรปท 10
16
รปท 10 แสดงกำรก ำหนดคำ environment variable (ตอ)
นอกจำกน ทำนควรตรวจสอบดวยวำเครองของทำนไดก ำหนดคำ environment variable “JAVA_HOME” ไวแลว หำกเครองของทำนยงไมไดก ำหนดตวแปร JAVA_HOME ทำนตองก ำหนดคำของตวแปร JAVA_HOME ใหเปนโฟลเดอรททำนไดตดตงโปรแกรม JDK ไวบนเครองของทำน (ไมใช JRE)
3.1.2 สราง Internal Database
กำรท ำงำนของโปรแกรม Configuration จ ำเปนตองมกำรใชงำนฐำนขอมลเพอกำรท ำงำนภำยใน (internal database) ดงนนกอนเรมตนกำรใชงำนครงแรกทำนตองสรำง internal database ขนในระบบฐำนขอมล MySQL เสยกอน
โดยขนแรกทำนตองระบคำพนฐำนกำรเชอมตอกบระบบฐำนขอมล MySQL ไดแก dbhost, username, password (ตองตรงกบททำนก ำหนดไวตอนตดตงโปรแกรม AppServ) ในไฟล “<SKAF_HOME>/database.properties” โดย <SKAF_HOME> คอโฟลเดอรททำนก ำหนดคำใน environment variable “SKAF_HOME” ดงตวอยำง
ขนตอนตอไปเปนกำรสรำง internal database ในระบบฐำนขอมล MySQL โดยใหทำนเปดโปรแกรม Navicat คลกขวำทชอกำรเชอมตอ เชน MySQLDB จำกนนเลอก “Execute SQL File” คลกปม “…” ขำงหลงชอง File เพอเลอกไฟล “<SKAF_HOME>/configdb.sql” จำกนนกดปม “Start” เพอสรำงฐำนขอมล ดงรปท 11 และกดปม “Close” ทำนควรจะเหนฐำนขอมลชอ “configdb” ปรำกฏขนมำ หำกไมปรำกฏ ใหกดปม F5 เพอ refresh กำรแสดงผล
หมายเหต: กำรสรำง internal database นควรท ำครงเดยว เฉพำะครงแรกกอนเรมตนกำรใชงำนเทำนน หำกทำนท ำซ ำจะปรำกฏขอควำม error วำ “‘configdb’ database already exists” เนองจำกไดมกำรสรำง internal database ไวแลว error ดงกลำวจงไมเปนปญหำใดๆ ทำนสำมำรถเรมตนใชงำนโปรแกรมไดโดยปกต
17
รปท 11 แสดงขนตอนกำรสรำง internal database
3.2) การเรมตนและหยดการใชงานโปรแกรม Apache Tomcat
กอนเรมตนกำรใชงำนโปรแกรม Configuration ทำนจะตองรนโปรแกรม Apache Tomcat2 บนเครองของทำนเสยกอน โดยใหทำนเปดเขำไปทโฟลเดอร “SKM_User_tools/software/apache-tomcat-7.0.14/bin” จำกนนดบเบลคลกท “startup.bat” เพอเรมกำรท ำงำนของ Apache Tomcat ดงรปท 12 หำกโปรแกรมสำมำรถท ำงำนได จะปรำกฏหนำจอดงรปท 13
หำกทำนตองกำรหยดกำรท ำงำนของโปรแกรม Apache Tomcat ใหทำนดบเบลคลกท “shutdown.bat” ซงอยในโฟลเดอรเดยวกบโปรแกรม “startup.bat”
รปท 12 แสดงขนตอนกำรรนโปรแกรม Apache Tomcat
2 เนองจากโปรแกรม Configuration เขยนโดยใชภาษา JSP จงตองใชโปรแกรม Apache Tomcat ในการประมวลผลผาน HTTP server
18
รปท 13 แสดงขนตอนกำรรนโปรแกรม Apache Tomcat (ตอ)
3.3) เรมตนใชงานโปรแกรม Configuration
ทำนสำมำรถเรยกใชงำนโปรแกรม Configuration ไดโดยเปดโปรแกรม Mozilla Firefox หรอ Google Chrome จำกนนพมพ URL http://localhost:8080/config/ จะปรำกฏหนำจอโปรแกรมดงรปท 14
รปท 14 แสดงกำรเปดโปรแกรม Configuration
หมายเหต หำกไมปรำกฏหนำจอของโปรแกรม กรณำตรวจสอบวำทำนไดรนโปรแกรม Apache Tomcat ตำมขอ 3.2 แลวหรอไม หำกปรำกฏหนำจอโปรแกรมแตมขอควำมแสดง error กรณำตรวจสอบวำทำนไดก ำหนดคำ environment variable ชอ “SKAF_HOME” ตำมขอ 3.1.1 และไดสรำง internal database ตำมขอ 3.1.2 แลวหรอไม
3.4) การก าหนดคาการเชอมตอกบระบบฐานขอมลและ upload ไฟลฐานความรออนโทโลย
ในหนำจอหลกน ผใชตองระบคำกำรเชอมตอกบระบบฐำนขอมลและ upload ไฟลฐำนควำมรออนโทโลย ดงตวอยำงในรปท 15 ดงมรำยละเอยดกำรบนทกคำ ดงน
19
- Sync Data to ก ำหนดชอโฟลเดอรภำยใตโฟลเดอร <SKAF_HOME> ทจะใหโปรแกรมสรำงขนเพอบนทกไฟลตำงๆ ทสรำงขนมำในขนตอนกำรแปลงขอมล (Mapping) โดยตวอยำงนก ำหนดเปน ‘Mapping’
- Database Host ก ำหนดคำกำรเรยกใชฐำนขอมล ในแบบของ JDBC คอ jdbc:mysql://<hostname>/<database name>โดยตวอยำงนก ำหนดเปน ‘jdbc:mysql://127.0.0.1/test’
- Database User ก ำหนดชอผใชของฐำนขอมล โดยตวอยำงนก ำหนดเปน ‘root’ ซงเปนชอผใชงำนเมอตองกำรจะเชอมตอกบฐำนขอมล
- Database Password ก ำหนดรหสผำนของผใชของฐำนขอมล โดยตวอยำงก ำหนดเปน ‘root’ ซงเปนรหสผำนเมอตองกำรจะเชอมตอกบฐำนขอมล (ตองตรงกบทก ำหนดไวตอนตดตงปรแกรม AppServ)
- Ontology File เมอท ำขนตอนตำมขำงตนเสรจแลวท ำกำรเลอกไฟลฐำนควำมรออนโทโลยท ไดท ำกำร Export เตรยมไวเปนไฟล .owl เรยบรอยแลว (จำกขอ 2.1) ท ำกำรเลอกโดยกำรกดปม Browse เมอกดปม Browse จะไดหนำตำงตำมรปท 15 เสรจแลวท ำกำรกดปม Create
รปท 15 แสดงกำรก ำหนดคำกำรเชอมตอฐำนขอมลและ upload ไฟลออนโทโลย
หลงจำกทโปรแกรมสำมำรถเขำถงขอมลในฐำนขอมลและฐำนควำมรออนโทโลยตำมขอมลทก ำหนดในขอ 3.4 แลว ขนตอไปเปนกำรก ำหนดควำมสมพนธระหวำงฐำนขอมลและฐำนควำมรออนโทโลยเพอใชในกำรแปลงขอมล (Data Mapping) ซงแบงไดเปน 3 สวน ไดแก
ก ำหนดควำมสมพนธของคลำสกบตำรำง (Class-Table Mapping)
ก ำหนดควำมสมพนธของคณสมบตกบคอลมน (Property-Column Mapping)
กำรก ำหนดคำกำรแปลงค ำศพท (Vocabulary Mapping)
ดงมรำยละเอยดขนตอนในหวขอ 3.5 - 3.7
20
3.5) การก าหนดความสมพนธของคลาสกบตาราง (Class-Table Mapping)
ขนตอนแรกของกำรแปลงขอมล (Data Mapping) เปนขนตอนกำรก ำหนดควำมสมพนธของคลำสกบตำรำง (Class-Table Mapping) จำกตวอยำงออนโทโลยเรองนกฟตบอล จะประกอบดวย 4 คลำสหลกทอยในระดบบนสด (ระดบแรกใตคลำส ‘Any’) ไดแก Player, Country, Position, Football club ดงรปท 16
รปท 16 ตวอยำงคลำสหลกในระดบบนสด (top-level class) ในออนโทโลย
กำรก ำหนดคำควำมสมพนธของคลำสกบตำรำง (Class-Table Mapping) ส ำหรบแตละคลำสหลก ท ำไดโดยกดปม ‘Add More’ ดงรปท 17 จะไดหนำจอตำมภำพ
รปท 17 แสดงขนตอนกำรก ำหนดควำมสมพนธระหวำงคลำสกบตำรำง (Class - Table Mapping)
ก ำหนดควำมสมพนธระหวำงคลำส (Class) กบตำรำงฐำนขอมล (Table) ตำมขนตอนดงน
- เลอกชอคลำส (Class) ในออนโทโลยทจะระบควำมสมพนธ โดยในตวอยำงเลอกปนคลำส ‘Player’
21
- เลอกชอตำรำงในฐำนขอมล (Database Table) ในตวอยำงเลอกเปนตำรำง ‘Player_sample’ - เลอกชอคณสมบต (Property) ทจะใชเปนคณสมบตทใชเกบคำบงช (Unique Property) ในตวอยำงเลอกเปน
‘has_player_id’3 - ในสวนกำรก ำหนดคยหลกของตำรำง (Primary Key) เนองจำกผใชจะตองก ำหนดไวแลวในตอนสรำงฐำนขอมล
โปรแกรมจะท ำกำรใสคำใหโดยอตโนมตโดยผใชไมตองระบซ ำ - ใสชอของคณสมบตทอำนเขำใจได (Property Label) เปน ในตวอยำงก ำหนดเปน ‘หมำยเลขประจ ำตว’ - กดปม ‘Save’ เพอบนทกคำ หรอกด ‘Cancel’ หำกตองกำรยกเลกกำรก ำหนดคำ
ท ำซ ำขนตอนท 3.5 เพอก ำหนดคำควำมสมพนธของอก 3 คลำสทเหลอ ไดแก Country, Football club, Position ใหสมพนธกบตำรำงฐำนขอมล country_sample, club_sample, player_sample** ตำมล ำดบ เมอเสรจแลวจะปรำกฏรำยกำรควำมสมพนธของคลำสกบตำรำงฐำนขอมลทผใชก ำหนด (List of Class – Table Mapping) แสดงดงรปท18
หมายเหต **เนองจำกขอมลทสมพนธกบคลำสต ำแหนงนกฟตบอล (Position) ปรำกฏอย ในตำรำง ‘player_sample’ จงตองเลอกตำรำงเปน ‘player_sample’ และคอลมนทเปนคยหลกคอ (player_id) ตำมล ำดบ
รปท 18 แสดงรำยกำรควำมสมพนธของคลำสกบตำรำงฐำนขอมลทผใชก ำหนด (List of Class – Table Mapping)
3.6) การก าหนดความสมพนธของคณสมบตกบคอลมน (Property-Column Mapping)
ขนตอนตอไปเปนขนตอนกำรก ำหนดควำมสมพนธระหวำงคณสมบตของคลำสกบคอลมน (Property-Column Mapping) โดยคณสมบตของคลำสตำมมำตรฐำน OWL สำมำรถแบงออกไดเปน 2 ชนด ไดแก คณสมบตแบบ Datatype property กบ Object property
ส ำหรบออนโทโลยทสรำงโดยโปรแกรม Hozo นน โปรแกรมจะพจำรณำประเภทของคณสมบตของคลำส ดงน
3 ชอ property ในโปรแกรม Hozo เมอ Export ใหอยในแบบไฟล OWL แลวจะมค าน าหนา (prefix) เปน ‘has_’ เสมอ เชน หากก าหนด property ชอ ‘player_id’ ในโปรแกรม Hozo เมอ export เปนแบบ OWL แลว จะมชอเปน ‘has_player_id’
22
- Datatype property เปน property ทมชนดควำมสมพนธเปนแบบ a/o กบ datatype เชน string หรอ integer เปนตน
- Object property เปน property ทมชนดควำมสมพนธเปนแบบ p/o กบ คลำสอนๆ
รปท 19 แสดงตวอยำงกำรจ ำแนก property ในแบบ Datatype property กบ Object property ของคลำส Player โดยมขนตอนกำรก ำหนดควำมสมพนธของ Property แตละชนด ดงน
รปท 19 แสดงตวอยำงกำรจ ำแนก Datatype property กบ Object property ของคลำส Player
3.6.1 Datatype Property Mapping
ทำนสำมำรถก ำหนดควำมสมพนธของคณสมบตของคลำส โดยคลกปม ทอยหลงชอคลำส เชน Player ดงรปท 18 กจะปรำกฏหนำจอดงรปท 20 ใหทำนท ำกำรคลกปม ‘Add More’ เพอทจะเพม Property ของคลำส Player กจะปรำกฏหนำจอดงรป
รปท 20 แสดงขนตอน Property – Column Mapping
Datatype property
Object property
23
จำกนนเลอก Datatype Property Mapping ดงรปท 21
ในชอง Property เลอกชอ property ของคลำสจำกรำยกำร เชน ‘has_age’
ในชอง Column เลอกคอลมน (Column) ในฐำนขอมลทมขอมลสมพนธกบ property ทเลอกไว เชน ‘age’
ในชอง Property Label ระบชอทใชอธบำย property ทเลอกไว เชน ‘อำย’ จำกนนคลกปม ‘Save’
รปท 21 แสดง Datatype Property Mapping
จำกนนท ำซ ำขนตอนท 3.6.1 ใหม โดยเลอกก ำหนดควำมสมพนธใหกบ Datatype property ทเหลออยของคลำส Player ไดแก has_name และ has_goals สวน has_player_id นนไมตองก ำหนดควำมสมพนธเนองจำกไดก ำหนดใหเปน Unique property ไปแลว
3.6.2 Object Property Mapping
หลงจำกททำนคลกปม ทอยหลงชอคลำส เชน Player ดงรปท 18 กจะปรำกฏหนำจอดงรปท 20 ใหทำนท ำกำรคลกปม ‘Add More’ เพอทจะเพม Property ของคลำส Player
จำกนนเลอก Object Property Mapping ดงรปท 22
ในชอง Property เลอกชอ property ของคลำสจำกรำยกำร เชน ‘has_club’
ในชอง Property Range โปรแกรมจะก ำหนดใหอตโนมตโดยพจำรณำจำกขอมลในฐำนควำมรออนโทโลย ในตวอยำงคอ ‘Football_club’
ในชอง From Table โปรแกรมจะก ำหนดใหอตโนมต ตำมขอมลทก ำหนดในขนตอน Class-Table Mapping จำกตวอยำง คอ ‘player_sample’
24
ในชอง To Table เลอกตำรำงฐำนขอมลทมขอมลสมพนธกบคลำสทระบใน Property Range เชน ‘club_sample’
ในชอง Foreign Key เลอกชอคอลมนซงเปน Foreign Key ของตำรำงทระบใน From Table ทอำงองไปยงคยหลกของตำรำงทระบใน To Table เชน ‘club_id’ แตหำกตำรำงทระบใน From Table กบ ตำรำงทระบใน To Table เปนตำรำงเดยวกนแลว กจะไมปรำกฏชอง Foreign Key ขนมำใหเลอก
ในชอง Property Label ระบชอทใชอธบำย property ทเลอกไว เชน ‘ชอสโมสรของนกฟตบอล’ จำกนนคลกปม ‘Save’
รปท 22 แสดง Object Property Mapping
จำกนนท ำซ ำขนตอนท 3.6.2 ใหม โดยเลอกก ำหนดควำมสมพนธใหกบ Object property ทเหลออยของคลำส Player ไดแก has_country และ has_position
เมอไดท ำกำรก ำหนดคณสมบตตำมขนตอนท 3.6.1 และ 3.6.2 แลว จะไดหนำจอผลลพธเปนรำยกำรของขอมลคณสมบต ดงตวอยำงในรปท 23 ซงสวนสฟำเปนขอมลของ Datatype Property และสวนสชมพเปนขอมลของ Object
Property หำกทำนตองกำรลบขอมลใดสำมำรถคลกทปม หรอหำกตองกำรแกไขใหคลกทปม เพอลบขอมลเดม และ คลกทปม ‘Add More’ เพอเพมขอมลใหมเขำไปแทน
รปท 23 แสดงตวอยำงรำยกำรขอมลกำรแปลงคณสมบต (List of Property Mapping)
25
หลงจำกเสรจขนตอนนแลว ใหทำนท ำซ ำขนตอนทงหมดในขอ 3.6 โดยใหทำนก ำหนดควำมสมพนธระหวำงคณสมบตกบคอลมน ส ำหรบอก 3 คลำสทเหลอ ไดแก Position, Country, Football club เมอท ำครบแลวกเปนกำรเสรจสนกระบวนกำรน
3.7) การก าหนดคาการแปลงค าศพท (Vocabulary Mapping)
ขนตอนตอไปเปนขนตอนกำรก ำหนดคำกำรแปลงค ำศพท (Vocabulary Mapping) ขนตอนนเปนกำรจบคคำของขอมลทอยในตำรำงฐำนขอมล กบคลำสแตละคลำส
ตวอยำงเชน ขอมลล ำดบชนของคลำส (class hierarchy) ของคลำส ‘Country’ ดงในรปท 24 จะปรำกฏคลำสของประเทศตำงๆ เชน england, south korea, argentina, thailand เปนตน ซงผใชจ ำเปนตองก ำหนดวำคำใดทปรำกฏอยในฐำนขอมลมควำมหมำยเดยวกบแตละคลำสบำง เชน หำกในฐำนขอมลปรำกฏค ำวำ ‘องกฤษ’ และ ‘สหรำชอำณำจกร’ กตองระบใหทง 2 ค ำอำงองถงคลำส ‘england’ เปนตน
รปท 24 แสดงตวอยำงขอมลล ำดบชนของคลำส (class hierarchy) ทใชเปนขอมลอำงองในกำรแปลงค ำศพท
กำรเรมตนกระบวนกำร ใหทำนกลบสหนำหลกโดยคลกทปม ‘home’ ภำยใต ‘Mapping Config’ เพอแสดงรำยกำรคลำส ตวอยำงในรปท 25
คลกทสญลกษณ ทอยหลงชอคลำส4 เชน คลำส ‘Country’ ดงรปท 25 เพอเขำสหนำจอกำรก ำหนดคำกำรแปลงค ำศพท จะปรำกฏหนำจอดงรปท 26
4 จากตวอยาง จะเหนไดวาสญลกษณนจะปรากฏขนส าหรบ 3 คลาสเทานน คอ Country, Football Club และ Position ซงคลาสเหลาน มการก าหนดขอมล class hierarchy จงสามารถใชอางองในการแปลงค าศพทได สวนคลาส Player นนเนองจากไมมการก าหนดขอมล class hierarchy จงไมสามารถใชในอางองในการแปลงค าศพทได (รปท 16)
26
รปท 25 แสดงขนตอนกำรเขำสหนำจอก ำหนดคำกำรแปลงค ำศพท (Vocabulary Mapping)
รปท 26 แสดงขนตอนกำรเขำสหนำจอก ำหนดคำกำรแปลงค ำศพท (Vocabulary Mapping) (ตอ)
คลกปม ‘Add More’ จะปรำกฏหนำจอเพอก ำหนดคำกำรแปลงค ำศพทส ำหรบคลำส ‘Country’ ดงรปท 26
ในชอง Database Table และ ชอง Ontology Class นนโปรแกรมจะใสคำใหโดยอตโนมต ตวอยำงเชน ‘country_sample’ และ ‘Country’ ตำมล ำดบ
ในชอง Determiner นน รำยกำรชอคอลมน (column name) ของตำรำงทระบใน Database Table จะปรำกฏใน combo box ใหทำนเลอกชอคอลมนทจดเกบคำทจะทำนจะท ำกำรแปลงค ำศพท ในตวอยำงนคอคอลมน ‘country_name’ ซงเกบขอมลรำยชอประเทศทงหมดในฐำนขอมล
27
ในชอง Values in Column นน จะปรำกฏรำยกำรขอมลค ำศพททงหมดทปรำกฏในคอลมนทระบใน Determiner ใหทำนเลอกค ำศพททตองกำรและจบคกบคลำสในออนโทโลยทอำงอง ทปรำกฏอยในชอง Subclassesตวอยำงเชน เลอกค ำศพท ‘สเปน’ จบคกบคลำส ‘spain’ ดงรปท 26 จำกนนคลกทปม ‘Save’
ใหทำนเลอกจบคค ำศพททเหลอทปรำกฏอยในชอง Values in Column จนกระทงครบทกค ำศพท กจะปรำกฏรำยกำรขอมลกำรแปลงค ำศพท ดงรปท 27
ทำนสำมำรถลบขอมลโดยคลกท ‘Delete This’ หรอหำกตองกำรแกไข ใหลบขอมลเดมโดยคลกท ‘Delete This’ และก ำหนดคำใหมเขำไปแทนท
รปท 27 แสดงตวอยำงรำยกำรขอมลกำรแปลงค ำศพท (List of Vocabulary Mapping)
ดงตวอยำง หลงจำกทไดก ำหนดตงคำกำรแปลงค ำศพทส ำหรบคลำส ‘Country’ แลว ทำนตองท ำซ ำขนตอนในขอ 3.7 นส ำหรบอก 2 คลำสทเหลอ คอ Football Club และ Position กจะเสรจสนกระบวนกำรน
3.8) บนทกขอมลการตงคาและสรางขอมลผลลพธ
เมอทำนไดท ำกำรตงคำกำรแปลงขอมลทงหมดเรยบรอยแลว ขนตอไปเปนกำรบนทกขอมลทงหมดลงดสกในเครองของทำน (Update configurations) รวมทงใหโปรแกรมสรำงขอมลผลลพธของกำรแปลงขอมล (Update data) ใหเปนขอมลแบบ RDF
3.8.1 การบนทกขอมลการตงคา
กำรบนทกขอมลกำรตงคำกำรแปลงขอมล ท ำโดยคลกท ‘Synchronize’ ภำยใต ‘Mapping Config’ จำกนนคลกทปม ‘Update Configurations’ เพอจดเกบขอมลกำรตงคำทงหมดลงดสกในเครองของทำน ดงรปท 28
28
รปท 28 แสดงขนตอนกำรจดเกบขอมลกำรตงคำกำรแปลงขอมลลงดสก
นอกจำกนหำกทำนตองกำรเรมตนกระบวนกำรตงคำใหมตงแตตน สำมำรถคลกทปม ‘Clear Configurations’ เพอลบขอมลกำรตงคำทงหมดทไดด ำเนนกำรมำตงแตขนตอนท 3.4 (จะไมมผลตอขอมลกำรตงคำทไดจดเกบลงดสกแลว)
3.8.2 การสรางขอมลผลลพธในแบบ RDF
หลงจำกทไดบนทกขอมลกำรตงคำแลว ทำนสำมำรถสงใหโปรแกรมสรำงขอมลผลลพธของกำรแปลงขอมล (Update data) ในแบบ RDF โดยคลกท ‘Synchronize’ ภำยใต ‘Mapping Config’ จำกนนคลกทปม ‘Update Data’ เพอสรำงขอมลผลลพธกำรแปลงขอมลในแบบ RDF ลงดสกในเครองของทำน ดงรปท 29 โดยขอมลผลลพธทโปรแกรมสรำงขนจะถกจดเกบในไฟล ‘<SKAF_HOME>/_DATA_Mapping\Applications\Searching\Data\integrated_data.xml’ ซงสำมำรถน ำไปใชงำนในโปรแกรมประยกตตำงๆ ของเทคโนโลยเวบเชงควำมหมำยได (Semantic Web Technology)
รปท 29 แสดงขนตอนกำรสรำงขอมลผลลพธในแบบ RDF ลงดสก
หมายเหต: ทำนควรจะคลกท ‘Update Configurations’ กอนคลกท ‘Update Data’ เพอปองกนมใหขอมลกำรตงคำสญหำย
29
3.8.3 น าเขาขอมลการตงคา
ทำนสำมำรถน ำเขำขอมลกำรตงคำกำรแปลงขอมลทจดเกบอยในดสกได (Load configurations) ซงอำจจะเปนขอมลททำนไดท ำส ำรองไว (backup) หรอคดลอกไฟล (copy) มำจำกเครองอน โดยคลกท ‘Load’ ภำยใต ‘Mapping Config’ จำกนนในชอง ‘Data Location:’ ใหใหคลกปม Load และเลอกชอโฟลเดอรภำยใต <SKAF_HOME> ทจดเกบไฟลขอมลกำรตงคำไว คลกทปม ‘Load’ ดงรปท 30 เพอน ำเขำขอมลกำรตงคำทงหมดจำกดสก โดยขอมลนจะเขยนทบขอมลกำรตงคำททำนก ำลงด ำเนนกำรอยในโปรแกรม (จะไมมผลตอขอมลกำรตงคำทไดจดเกบลงดสกแลว)
รปท 30 แสดงขนตอนกำรน ำเขำขอมลกำรตงคำจำกดสก
30
บทท 4. การพฒนาระบบสบคนขอมลเชงความหมาย
โปรแกรมระบบสบคนขอมลเชงควำมหมำย (Semantic Search System) เปนระบบทมควำมสำมำรถในกำรสบคนขอมลแบบ RDF ทองตำมขอมลฐำนควำมรออนโทโลยแบบ OWL ได จดเดนของระบบนคอ สำมำรถตงคำรปแบบของกำรสบคนและปรบเปลยนขอมลได ท ำใหสะดวกตอกำรปรบปรงพฒนำระบบสบคนฯ เพอประยกตใชงำนกบขอมลในสำขำตำงๆ
โปรแกรมระบบสบคนขอมลเชงควำมหมำยแบงกำรใชงำนออกเปน 2 สวน คอ สวนกำรตงคำระบบสบคนขอมล และ สวนโปรแกรมระบบสบคนขอมล ดงมรำยละเอยดของแตละสวนดงน
4.1) การตงคาระบบสบคนขอมล
หลงจำกททำนเสรจสนขนตอนของกำรตงคำกำรแปลงขอมล และสรำงขอมลผลลพธในแบบ RDF ดงมละเอยดในบทท 3 แลว โปรแกรม Configuration จะก ำหนดกำรตงคำระบบสบคนขอมลแบบปรยำย (Default configuration) ใหอยำงอตโนมต โดยจดเกบขอมลกำรตงคำไวในโฟลเดอร ‘_DATA_Mapping’ ภำยใตโฟลเดอร <SKAF_HOME> ทำนสำมำรถใชโปรแกรม Configuration ในกำรแกไขกำรตงคำดงกลำว โดยคลกท ‘Home’ ซงอยภำยใต ’Application Config’ ดงจะปรำกฏหนำจอในรปท 31
ในหนำจอน ทำนสำมำรถเลอกทก ำหนดตงคำกำรคนหำส ำหรบคลำสหลกในออนโทโลยตำมตองกำร เชน หำกทำน
ตองกำรตงคำส ำหรบกำรสบคนขอมลนกฟตบอล สำมำรถท ำโดย คลกทสญลกษณ หลงชอคลำส Player ดงรปท 31 กำรตงคำระบบสบคนแบงออกเปน 2 สวน ไดแก กำรก ำหนด Search Property และ กำรก ำหนด Display Property
รปท 31 แสดงรำยกำรคลำสส ำหรบ Application Config
4.1.1 การก าหนด Search Property
Search Property คอ คณสมบตของคลำส (property) ทอนญำตใหระบอยในเงอนไขกำรสบคนได เชน สำมำรถคนหำนกฟตบอลตำมอำยได เปนตน โดยเมอเรมตนนน โปรแกรม Configuration จะก ำหนดใหทกคณสมบตของคลำสเปน Search Property โดยอตโนมต ซงทำนสำมำรถปรบเปลยนไดเองตำมตองกำร ตำมขนตอนตอไปน
31
จำกรปท 32 ทำงดำนซำยมอจะเปนรำยกำรของ Search Property ส ำหรบคลำส Player ซงจะเปนคณสมบตตำง ๆ เกยวกบนกฟตบอล ทผใชสำมำรถใชในกำรคนหำขอมลได ยกตวอยำงเชน ‘has_age’ จะใชในกำรคนหำนกฟตบอลจำกอำย เปนตน
รปท 32 แสดงรำยกำร Search Property
หำกทำนตองกำรลบคณสมบตใดๆ ออกจำกรำยกำรของ Search Property เชน ถำทำนไมตองกำรใหผใชสำมำรถ
คนหำนกฟตบอลตำมอำยได สำมำรถคลกท สญญลกษณ หลง ‘has_age’ เพอลบคณสมบตนออกจำกรำยกำรของ Search Property เปนตน
หำกทำนตองกำรเพม Search Property สำมำรถ ท ำโดยคลกทปม ‘Add More’ กจะปรำกฏหนำจอดงรปท 33 โดยทำนตองคลกเลอกท checkbox หนำ Search Property จำกนนเลอกชอคณสมบตของคลำส Player ทตองกำรใหเปน Search Property เชน หำกทำนตองกำรเพมคณสมบต ‘has_age’ ใหกลบมำเปน Search Property เพอใหผใชสำมำรถคนหำนกฟตบอลตำมอำยได กสำมำรถเลอก ‘has_age’ จำก combobox ได ทงนหำกตองกำรเปลยนแปลงคำทเลอกไวใหคลกท ‘Clear’
รปท 33 แสดงกำรเพมรำยกำร Search Property
32
ส ำหรบในชอง Property Label ซงเปนค ำอธบำยของคณสมบตนทจะแสดงใหกบผใชเมอสบคนขอมล หำกทำนเวนวำงไว โปรแกรมกจะใชคำ Property Label ททำนไดก ำหนดไวในขนกำรตงคำกำรแปลงขอมล (ในขนตอนท 3.6) แตหำกทำนตองกำรก ำหนด Property Label ทแตกตำงไปจำกคำดงกลำว ทำนสำมำรถใสคำใหมลงไปไดในชองน จำกนนคลกทปม ‘Save’
4.1.2 การก าหนด Display Property
Display Property คอ คณสมบตของคลำส (property) ทจะแสดงอยในผลลพธกำรสบคน เชน ใหแสดงชอนำมสกลของผเลนแตละคนในผลลพธกำรคนหำนกฟตบอล เปนตน โดยเมอเรมตนนน โปรแกรม Configuration จะก ำหนดใหทกคณสมบตของคลำสเปน Display Property โดยอตโนมต ซงทำนสำมำรถปรบเปลยนไดเองตำมตองกำร ตำมขนตอนตอไปน
จำกรปท 34 ทำงดำนขวำมอจะเปนรำยกำรของ Display Property ส ำหรบคลำส Player ซงจะเปนคณสมบตตำง ๆ เกยวกบนกฟตบอล ทจะแสดงอยในผลลพธกำรคนหำขอมล ยกตวอยำงเชน ‘has_age’ จะแสดงขอมลอำยของผเลนแตละคนในผลลพธกำรคนหำนกฟตบอล เปนตน
รปท 34 แสดงรำยกำร Display Property
หำกทำนตองกำรลบคณสมบตใดๆ ออกจำกรำยกำรของ Display Property เชน ถำทำนไมตองกำรใหแสดงอำย
ของผเลนในผลลพธกำรคนหำ สำมำรถคลกท สญญลกษณ หลง ‘has_age’ เพอลบคณสมบตนออกจำกรำยกำรของ Display Property เปนตน
หำกทำนตองกำรเพม Display Property สำมำรถ ท ำโดยคลกทปม ‘Add More’ กจะปรำกฏหนำจอดงรปท 35 โดยทำนตองคลกเลอกท checkbox หนำ Display Property จำกนนเลอกชอคณสมบตของคลำส Player ทตองกำรใหเปน Display Property เชน หำกทำนตองกำรเพมคณสมบต ‘has_age’ ใหกลบมำเปน Display Property เพอใหแสดงอำยของผเลนได กสำมำรถเลอก ‘has_age’ จำก combobox ได ทงนหำกตองกำรเปลยนแปลงคำทเลอกไวใหคลกท ‘Clear’
33
ส ำหรบในชอง Property Label ซงเปนค ำอธบำยของคณสมบตนทจะแสดงใหกบผใชเมอสบคนขอมล หำกทำนเวนวำงไว โปรแกรมกจะใชคำ Property Label ททำนไดก ำหนดไวในขนกำรตงคำกำรแปลงขอมล (ในขนตอนท 3.6) แตหำกทำนตองกำรก ำหนด Property Label ทแตกตำงไปจำกคำดงกลำว ทำนสำมำรถใสคำใหมลงไปไดในชองน จำกนนคลกทปม ‘Save’
รปท 35 แสดงกำรเพมรำยกำร Display Property
4.1.3 การก าหนด Search Property และ Display Property แบบอางองไปยงคลาสอน
กำรก ำหนด Search Property และ Display Property นนไมเพยงแตจะสำมำรถเลอกคณสมบตของคลำสทตองกำรคนหำเทำนน แตยงสำมำรถเลอกคณสมบตทอำงองไปยงคลำสอนไดอกดวย ตวอยำงเชน ทำนอำจตองกำรใหผลลพธกำรคนหำนกฟตบอลแสดงชอของผจดกำรทมฟตบอลของสโมสรทนกฟตบอลสงกดอย โดยทชอผจดกำรทมเปนคณสมบตของคลำส ‘Football club’ มไดเปนคณสมบตของ ‘Player’ เปนตน
รปท 36 แสดงตวอยำงคณสมบตแบบอำงองไปยงคลำสอนของคลำส ‘Player’
has_club>>has_label
34
ทงนคณสมบตแบบอำงองไปยงคลำสอนนน จะตองสำมำรถอำงองผำนคลำสหลกได ดงตวอยำงแสดงในรปท 36 คณสมบตแบบอำงองไปยงคลำสอนของคลำส ‘Player’ ม 3 สมบต ไดแก ‘has_country’ (อำงองไปยงคลำส ‘Country’) ‘has_position’ (อำงองไปยงคลำส ‘Position’) ‘has_club’ (อำงองไปยงคลำส ‘Football club’) ดงนนทกคณสมบตของคลำส ‘Country’ ‘Position’ ‘Football club’ จงสำมำรถก ำหนดใหเปน Search Property และ Display Property ไดทงหมด กำรเรยกชอคณสมบตแบบอำงองไปยงคลำสอนจะอยในแบบ ‘<ชอ property ของคลำสหลก>’>>’<ชอ property ของคลำสอำงอง>’ เชน has_club>>has_label ใชอำงองถงชอคณสมบตดงตวอยำงในรปท 36 เปนตน
โดยปกตแลวหำกทำนก ำหนดคณสมบตแบบ Object Property ใหเปน Display Property เชน ‘has_club’ กจะเทยบเทำกบทำนก ำหนด‘has_club>>has_club_id’ ใหเปน Display Property (โปรแกรมจะก ำหนดใหอยำงอตโนมต โดยท ‘has_club_id เปน Unique Property ของคลำส ‘Football club’) ในกรณนผลลพธของกำรสบคนจะแสดงเปนรหสของสโมสรฟตบอลซงจะยำกตอกำรเขำใจของผใช
ดงนนส ำหรบ Display Property ทเปนคณสมบตชนด Object Property ทำนควรลบคำเดมออก ดงตวอยำงในรปท 37 เชน ลบ ‘has_club’ ออกจำกรำยกำรของ Display Property จำกนนเพม Display Property ใหมใหเปนคณสมบตแบบอำงองไปยงคลำสอนแทน เชน ก ำหนดใหเปนคณสมบตทมขอมลชอสโมสร (‘has_club>>has_label’) โดยคลกปม ‘Add More’ จะไดหนำจอดงรปท 38
รปท 37 แสดงกำรก ำหนด Display Property เปนคณสมบตแบบอำงองไปยงคลำสอน
จำกนนใหคลกท checkbox หนำ Display Property และเลอกคณสมบต เชน ‘has_club’ จำก combobox ของ property จำกนนคลกท combobox ของ property อกครงเพอเลอก ‘has_label’ ชอของ Property จะแสดงเปน ‘has_club>>has_label’ ดงรปท 38 จำกนนคลกปม Save เพอบนทกขอมลทแกไข
35
รปท 38 แสดงกำรก ำหนด Display Property เปนคณสมบตแบบอำงองไปยงคลำสอน (ตอ)
4.1.4 การบนทกขอมลการตงคา
กำรบนทกขอมลกำรตงคำระบบสบคนขอมล ท ำโดยคลกท ‘Synchronize’ ภำยใต ‘Application Config’ จำกนนคลกทปม ‘Update Configurations’ เพอจดเกบขอมลกำรตงคำทงหมดลงดสกในเครองของทำน ดงรปท 39
นอกจำกนหำกทำนตองกำรเรมตนกระบวนกำรตงคำระบบสบคนขอมลใหมตงแตตน สำมำรถคลกทปม ‘Clear Configurations’ เพอลบขอมลกำรตงคำทงหมดทไดด ำเนนกำรมำตงแตขนตอนท 4.1.1 (จะไมมผลตอขอมลกำรตงคำทไดจดเกบลงดสกแลว)
รปท 39 แสดงขนตอนกำรจดเกบขอมลกำรตงคำระบบสบคนขอมลลงดสก 4.1.5 น าเขาขอมลการตงคา
ทำนสำมำรถน ำเขำขอมลกำรตงคำระบบสบคนขอมลทจดเกบอยในดสกได (Load configurations) ซงอำจจะเปนขอมลททำนไดท ำส ำรองไว (backup) หรอคดลอกไฟล (copy) มำจำกเครองอน โดยคลกท ‘Load’ ภำยใต ‘Application Config’ จำกนนในชอง ‘Data Location:’ ใหคลกปม Load และเลอกชอโฟลเดอรภำยใต <SKAF_HOME> ทจดเกบไฟลขอมลกำรตงคำไว คลกทปม ‘Load’ ดงรปท 40 เพอน ำเขำขอมลกำรตงคำทงหมดจำกดสก โดยขอมลนจะเขยนทบขอมลกำรตงคำททำนก ำลงด ำเนนกำรอยในโปรแกรม (จะไมมผลตอขอมลกำรตงคำทไดจดเกบลงดสกแลว)
36
รปท 40 แสดงขนตอนกำรน ำเขำขอมลกำรตงคำระบบสบคนขอมลจำกดสก
4.2) การใชงานระบบสบคนขอมล
4.2.1 เรมตนใชงานโปรแกรมระบบสบคนขอมลเชงความหมาย
ทำนสำมำรถเรยกใชงำนโปรแกรม Semantic Search System ไดโดยเปดโปรแกรม Internet Explorer, Mozilla Firefox หรอ Google Chrome จำกนนพมพ URL http://localhost:8080/search/ จะปรำกฏหนำจอโปรแกรมดงรปท 41
รปท 41 แสดงกำรเปดโปรแกรม Semantic Search System
หมายเหต หำกไมปรำกฏหนำจอของโปรแกรม กรณำตรวจสอบวำทำนไดรนโปรแกรม Apache Tomcat ตำมขอ 3.2 แลวหรอไม หำกปรำกฏหนำจอโปรแกรมแตมขอควำมแสดง error กรณำตรวจสอบวำทำนไดก ำหนดคำ environment variable ชอ SKAF_HOME ตำมขอ 3.1.1 แลวหรอไม พรอมตรวจสอบไฟล ‘<SKAF_HOME>/skaf.properties’ วำในบรรทดสดทำยของไฟลมกำรก ำหนดคำตวแปร APP_PATH เปน “data | <โฟลเดอรใต SKAF_HOME ทเกบขอมลตงคำของระบบสบคน>” เชน APP_PATH = data | _DATA_Mapping
4.2.2 การก าหนดเงอนไขการสบคนขอมล
ทำนสำมำรถเรมตนกำรคนหำขอมล โดยเลอกคลำสของสงทตองกำรคนหำในชอง Path เชน เลอก Path เปน ‘Player’ ดงรปท 42 จำกนนก ำหนดเงอนไขของกำรคนหำตำมขนตอน ดงน
37
รปท 42 แสดงตวอยำงกำรก ำหนดเงอนไขกำรสบคนขอมล
1. เลอกชอคณสมบตทจะใชคนหำจำก Search Property combobox โดยรำยกำรของคณสมบตทปรำกฏใน combobox จะเปนตำมททำนไดก ำหนดไวในขนตอนกำรตงคำระบบสบคนขอมล (ในขนตอนท 4.1.1) ตวอยำงกำรเลอกชอคณสมบตทใชคนหำ เชน หำกทำนตองกำรคนหำขอมลของนกฟตบอลตำมประเทศบำนเกด ใหเลอก ‘has_country’ ดงรปท 42
2. เลอกเครองหมำยเปรยบเทยบส ำหรบเงอนไขกำรคนหำจำก Search operator combobox ซงม 3 รปแบบ ไดแก
Is A – เปนกำรคนหำผลลพธทงหมดทมควำมสมพนธกบคำทตองกำรคนหำเปนแบบ Subclass-of เชน หำกผใชคนหำผลลพธทมเงอนไขแบบ ‘has_country’ ‘Is A’ และเลอกคำเปน ‘european’ ดงรปท 42 กจะไดผลลพธทมคณสมบตประเทศบำนเกด (‘has_country’) มคำเปน ‘spain’ และ ‘england’ ดวย โดยเครองหมำยเปรยบเทยบแบบ Is A นจะปรำกฏขนเมอผใชเลอก Search property ทเปนแบบ Object Property เทำนน
Contains – เปนกำรคนหำผลลพธทงหมดทมคำตรงกบ หรอเปนสวนหนงของขอควำมทตองกำรคนหำ เชน หำกผใชคนหำผลลพธทมเงอนไขแบบ ‘has_name’ ‘contains’ และใสคำเปน ‘ร’ กจะไดผลลพธทมคณสมบตชอ (‘has_name’) มคำเปน ‘รนย’ ‘ปำรค ‘ดรอกบำ’ ‘ตอเรส’ ดวย โดยเครองหมำยเปรยบเทยบแบบ contains นจะปรำกฏขนเมอผใชเลอก Search property ทเปนแบบ Datatype Property เทำนน
=, <, <=, >, >= - เปนกำรคนหำผลลพธทงหมดทมคำเทำกบ นอยกวำ นอยกวำหรอเทำกบ มำกกวำ มำกกวำหรอเทำกบคำทตองกำรคนหำ ตำมล ำดบ เชน หำกผใชคนหำผลลพธทมเงอนไขแบบ ‘has_age’ ‘>’ และใสคำเปน ‘25’ กจะไดผลลพธทมคณสมบตอำย (‘has_name’) มคำมำกกวำ 25 เปนตน โดยเครองหมำยเปรยบเทยบรปแบบนจะปรำกฏขนเมอผใชเลอก Search property ทเปนแบบ Datatype Property เทำนน และจะใชไดกบกำรเปรยบเทยบคำทเปนชนดตวเลขเทำนน
3. ระบคำทตองกำรคนหำ โดยหำกตวเปรยบเทยบเปนแบบ ‘Is A’ กจะปรำกฏคำเปนรำยกำรของคลำสทสมพนธกบคณสมบตนน (Range) ขนมำใหผใชเลอก หำกเปนควำมสมพนธแบบ Contains โปรแกรมจะอนญำตใหผใชปอนขอควำมแบบ String ได แตหำกเปนสญลกษณเปรยบเทยบ ( =, <, <=, >, >= ) ผใชกจะสำมำรถปอนคำแบบตวเลขได
ผใชสำมำรถเพมเงอนไขกำรคนหำไดเรอยๆ มำกกวำ 1 เงอนไข โดยไมจ ำกดจ ำนวนเงอนไข โดยกำรเพมเงอนไขจะเปนกำรกรองผลลพธ (FILTER) ใหมจ ำนวนลดลงเรอยๆ ตำมจ ำนวนเงอนไขทเพมขน หำกผใชตองกำรลบเงอนไขใดทก ำหนดไว สำมำรถคลกทปม หลงเงอนไขทตองกำรลบ ดงรปท 42
Class to search
Search Property Search Operator Search Value Remove search condition
Search Condition
38
4.2.3 ผลลพธการสบคนขอมล
เมอผใชระบเงอนไขกำรคนหำใดๆ โปรแกรมจะท ำกำรสบคนขอมลตำมเงอนไขนนโดยทนท และจะแสดงผลลพธทงหมดทตรงกบเงอนไขกำรคนหำนน ตำมรำยกำร Display Property ทก ำหนดไวในขนตอน 4.1.2 ดงรปท 43
หำกผลลพธของกำรแสดงผลมจ ำนวนมำกกวำ 20 รำยกำร โปรแกรมจะแสดงผลเปนแบบหลำยหนำ โดยจะแสดงรำยกำรหนำในสวนลำงของหนำจอ เพอใหผใชสำมำรถคลกเลอกหนำของผลลพธไดครงละ 20 รำยกำร ดงรปท 43
รปท 43 แสดงตวอยำงผลลพธของกำรสบคนขอมล
Display properties
Page number Search Results
39
จดท าโดย
หองปฏบตการวจยเทคโนโลยภาษาธรรมชาตและความหมาย ศนยเทคโนโลยอเลกทรอนกสและคอมพวเตอรแหงชาต
http://www.nectec.or.th/
ตดตอสอบถาม
ดร.มารต บรณรช Email: [email protected]
ดร.เทพชย ทรพยนธ Email: [email protected]
ปรบปรงลาสด: 23 กมภาพนธ 2555
Top Related