Neo4j: GraphDB Foundations with Cypher
วันที่เขียน 11/5/2562 15:45:51     แก้ไขล่าสุดเมื่อ 19/9/2569 7:35:58
เปิดอ่าน: 4708 ครั้ง

ระบบฐานข้อมูลเชิงกราฟบนโปรแกรม Neo4j เบื้องต้น ระบบฐานข้อมูลเชิงกราฟเหมาะสำหรับนำมาใช้จัดการข้อมูลที่อยู่ในรูปแบบไม่มีโครงสร้าง หรือ NoSql โดยโปรแกรมจัดการฐานข้อมูล Neo4j นั้นเป็นที่นิยมและมีการนำมาประยุกต์ใช้จริงในระบบฐานข้อมูลของบริษัทต่างๆ เช่น Ebay, Walmart, IBM, HP, CISCO เป็นต้น โดยระบบจัดการฐานข้อมูลเชิงกราฟ Neo4j นั้นมีหลายรูปแบบให้เลือกใช้ ทั้งแบบที่เก็บค่าบริการสำหรับการนำไปใช้งานในเชิงพาณิชย์ และแบบที่ไม่เก็บค่าบริการเพื่อนำไปใช้งานในเชิงการศึกษาและวิจัย

ระบบฐานข้อมูลเชิงกราฟบนโปรแกรม Neo4j  เบื้องต้น ระบบฐานข้อมูลเชิงกราฟเหมาะสำหรับนำมาใช้จัดการข้อมูลที่อยู่ในรูปแบบไม่มีโครงสร้าง หรือ NoSql โดยโปรแกรมจัดการฐานข้อมูล Neo4j นั้นเป็นที่นิยมและมีการนำมาประยุกต์ใช้จริงในระบบฐานข้อมูลของบริษัทต่างๆ เช่น  Ebay, Walmart, IBM, HP, CISCO  เป็นต้น   โดยระบบจัดการฐานข้อมูลเชิงกราฟ Neo4j นั้นมีหลายรูปแบบให้เลือกใช้ ทั้งแบบที่เก็บค่าบริการสำหรับการนำไปใช้งานในเชิงพาณิชย์ และแบบที่ไม่เก็บค่าบริการเพื่อนำไปใช้งานในเชิงการศึกษาและวิจัย สำหรับโปรแกรม Neo4j  สามารถดาวน์โหลดได้ที่  Neo4j Dowload Center ซึ่งมีให้ทั้งระบบปฎิบัติ  Windows และ Mac OS X  ผู้ใช้สามารถเลือกดาวน์โหลดทั้งแบบ  Neo4j Desktop หรือ  Neo4j sever

ในที่นี้เลือกดาวน์โหลด Neo4j Community Sever ไม่จำกัดระยะเวลาในการใช้งาน ขณะที่  Desktop version จะให้ใช้ฟรี 30 วัน ขณะเดียวกัน Neo4j ต้องการใช้  Java  ให้ตรวจสอบแครื่องว่ามีไฟล์ JDK หรือไม่ ถ้าไม่มีก็ให้ทำการติดตั้งก่อน  เมื่อดาวน์โหลดโปรแกรมเสร็จเรียบร้อยให้ทำการแตกไฟล์ไว้ใน โฟล์เดอร์ที่เราต้องการ ในที่นี้ จะนำไปไว้ที่ Desktop ในโฟล์เดอร์ชื่อ neo4j-community-3.3.2 หลังจากนั้นให้ทำการเปิด command prompt แบบ  Admin   ให้ไปที่ตำแหน่งไฟล์ของ neo4j  ที่แตกไว้ให้ทำการไปยัง โฟล์เดอร์ Bin    

 C:\Users\Wanvimol\Desktop\neo4j-community-3.3.2\bin

ให้ทำการเรียกไฟล์    neo4j.bat  ทำการติดตั้ง service  ดังนี้

C:\Users\Wanvimol\Desktop\neo4j-community-3.3.2\bin\ neo4j.bat install-service

หลังจากนนั้นให้ทำการรัน service ดังรูป

C:\Users\Wanvimol\Desktop\neo4j-community-3.3.2\bin\ neo4j.bat install-service

 

เมื่อทำการติดตั้งเรียบร้อยแล้วจะเห็นคำว่า Neo4j is ready อยู่แสดงว่าใช้งานได้แล้ว การเรียกใช้งานโปรแกรมสามารถเรียกผ่านบราวเซอร์จาก Port 7474  โดยพิมพ์ http://localhost:7474/browser/   ให้ทำการ login ด้วย username:  neo4j  password: neo4j   ในครั้งแรก  หลังจากนั้นทำการเปลี่ยนรหัสผ่าน

 

Cypher Language

โดยปกติในระบบฐานข้อมูลเชิงสัมพันธ์เราจะใช้ภาษา SQL  ในการเรียกดูข้อมูล (Select) แต่ถ้าในระบบฐานข้อมูลเชิงกราฟจะใช้ภาษา  Cypher  สำหรับในการคิวรีเรียกดูข้อมูล โดยจะมีการกำหนด Node แทน Object ที่ใช้เก็บข้อมูลใน Database  ในการอ้างอิง Node จะเขียนชื่อ node ในวงเล็บ ( )  เช่น (:Movie),  (:Person), (:Actor)   และภายใน Node จะมีการกำหนดชื่อ (Label)  และ คุณสมบัติ (Properties) ให้แต่ละ Node  เช่น (a:Actor{name: ‘Tom’),    (p:Person{name:  ‘Jen’}),  (movie:Movie {title: ‘Game of Thorne’})  และเมื่อรันผลลัพธ์จะแสดงเป็นรูปวงกลมๆ

 

 ()                     //node ไม่ระบุชื่อ สามารถอ้างถึง node ใด ๆ ในฐานข้อมูลได้

(p:Person)          //ใช้ตัวแปรชื่อ p และติด label Person

(p:Person {name:Jen})      //ใช้ตัวแปรชื่อ p และติด label Person และกำหนดคุณสมบัติชื่อ Jen

(:Technology)       //ไม่ใช้ตัวแปร แต่ติด label Technology

(work:Company)      //ใช้ตัวแปรชื่อ work และติด label Company

 

ความสัมพันธ์  (Relationship)  จะทำให้เราสามารถระบุประเภทเพื่อค้นหาหรือสร้างได้   และแต่ละ Node สามารถมีความสัมพันธ์ (Relationship)  ระหว่างกันได้หลายความสัมพันธ์  โดยความสัมพันธ์จะใช้สัญลักษณ์ [ ]  เชื่อมกับ Node  ทิศทางความสัมพันธ์จะใช้สัญลักษณ์   ขีดหนึ่งขีด  “-”  หรือ “--”   หรือ เส้นลูกศร “->” ในการระบุทิศทางความสัมพันธ์ระหว่าง Node ได้ เช่น  (actor:Actor)-[:Acted-In]->(movie:Movie)   หรือจะไม่กำหนดทิศทางก็ได้  (p1:Person)-[:Has_contact]-(p2:Person)

 

จากภาพเป็นการแสดงข้อมูลของนักแสดงชื่อ  Emily Clark ที่แสดงหนังเรื่อง A Game of Thorne ในปี 2011 จากรูปภาพข้างต้นสามารถเขียนคำสั่งคิวรีได้ดังนี้

MACTH  (actor: Actor{name:’Emily Clark’}) - [:Acted-In] -> (movie:Movie{title: ‘ A Game of Throne’}

WHERE      movie.produced = 2011

RETURN  actor, movie

  • คำสั่งหลักใน Cypher ที่ควรรู้
    • MATCH () เป็นคำสั่งที่ใช้ในการค้นหา Node หรือ relationship ที่มีอยู่แล้วใน database ถ้าให้เปรียบเทียบกับ SQL ก็จะคล้ายกับ SELECT
    • RETURN เป็นคำสั่งที่ใช้ส่งค่ากลับผ่านตัวแปรที่เราอ้างอิงไว้จากคำสั่ง MATCH  ดังตัวอย่าง



 

ตัวอย่าง

ต้องการค้นหานักแสดงที่ Tom Hanks  ติดต่อและเกิดในปีค.ศ. 1960 และหลังปี ค.ศ. 1960 และ มีรายได้เกิน $10M จากหนังเรื่องเดียว สามารถเขียนคำสั่งได้ดังนี้

MATCH (tom:Person{name:'Tom Hanks'})

MATCH  (tom)-[:HAS_CONTACT]->(actor:Person)

MATCH (actor)-[role:ACTED_IN]-> (movie:Movie)

WHERE  actor.born >= 1960 And  role.earnings > 10000000

RETURN actor.name AS Contactname, role.earnings as Earnt, actor.born AS Born

ORDER BY  role.earnings DESC

ส่วนคำสั่ง  Create Update Delete  สามารถดูได้จากเอกสารเพิ่มเติมคลิ๊กที่นี้

ไฟล์คำสั่ง  create data และ คำสั่ง delete ลากไปใส่ในส่วน import

เรียบเรียงโดย

อ.ดร.วรรณวิมล  นาดี

 
   



คำสำคัญ :
กลุ่มบทความ :
หมวดหมู่ :
แชร์ :
https://erp.mju.ac.th/acticleDetail.aspx?qid=955
ความคิดเห็นทั้งหมด (0)
ไม่มีข้อมูลตามเงื่อนไขที่ท่านกำหนด
รายการบทความการแลกเปลี่ยนเรียนรู้หมวดหมู่ : กลุ่มงานสายวิชาการ
เกมการเงิน: นวัตกรรมการเรียนรู้เพื่อพัฒนาความรู้ทางการเงินและส่งเสริมการบริการวิชาการสู่สังคม » บทนำ ในยุคที่สภาพแวดล้อมทางเศรษฐกิจและการเงินมีการเปลี่ยนแปลงอย่างรวดเร็ว ประชาชนจำเป็นต้องเผชิญกับการตัดสินใจทางการเงินที่ซับซ้อนมากขึ้น ไม่ว่าจะเป็นการวางแผนการใช้จ่าย การบริหารหนี้สิน การออม การลงทุน และการบริหารความเสี่ยงทางการเงิน ความรู้ทางการเงิน (Financial Literacy) จึงกลายเป็นทักษะที่สำคัญต่อการดำรงชีวิตและการสร้างความมั่นคงทางเศรษฐกิจของบุคคลและครัวเรือน อย่างไรก็ตาม การพัฒนาความรู้ทางการเงินผ่านการเรียนการสอนแบบบรรยายเพียงอย่างเดียวอาจไม่สามารถสร้างความเข้าใจและเปลี่ยนแปลงพฤติกรรมทางการเงินได้อย่างมีประสิทธิภาพ ดังนั้น การนำแนวคิดการเรียนรู้เชิงประสบการณ์ (Experiential Learning) และการจัดการเรียนรู้แบบเกม (Game-Based Learning) มาประยุกต์ใช้ จึงเป็นอีกแนวทางหนึ่งที่ช่วยให้ผู้เรียนสามารถเรียนรู้ผ่านการลงมือปฏิบัติ การคิดวิเคราะห์ และการตัดสินใจในสถานการณ์จำลองที่ใกล้เคียงกับชีวิตจริง เกม การเงิน (Financial Games) จึงได้รับการยอมรับว่าเป็นนวัตกรรมการเรียนรู้ที่ช่วยส่งเสริมความรู้ ทักษะ และพฤติกรรมทางการเงินได้อย่างมีประสิทธิภาพ ทั้งในระบบการศึกษาและการบริการวิชาการแก่สังคม ความสำคัญของเกมการเงิน เกมการเงินเป็นเครื่องมือการเรียนรู้ที่ออกแบบให้ผู้เรียนได้มีส่วนร่วมในการแก้ปัญหาและตัดสินใจทางการเงินภายใต้เงื่อนไขหรือสถานการณ์จำลองต่าง ๆ ซึ่งช่วยให้ผู้เรียนสามารถเชื่อมโยงองค์ความรู้ทางทฤษฎีกับการประยุกต์ใช้ในชีวิตจริงได้อย่างเป็นรูปธรรม การเรียนรู้ผ่านเกมช่วยส่งเสริมให้ผู้เรียนเกิดความเข้าใจในประเด็นทางการเงินที่สำคัญ ได้แก่ การวางแผนการเงิน การบริหารรายรับรายจ่าย การจัดการหนี้สิน การออม การลงทุน และการบริหารความเสี่ยง นอกจากนี้ยังช่วยพัฒนาทักษะการคิดวิเคราะห์ การตัดสินใจ การแก้ปัญหา และการทำงานร่วมกับผู้อื่น ซึ่งเป็นทักษะสำคัญในศตวรรษที่ 21 ด้วยเหตุนี้ เกมการเงินจึงไม่ได้เป็นเพียงกิจกรรมเพื่อความสนุกสนาน แต่เป็นเครื่องมือที่ช่วยสร้างประสบการณ์การเรียนรู้ที่สามารถนำไปสู่การเปลี่ยนแปลงพฤติกรรมทางการเงินของผู้เรียนได้อย่างมีประสิทธิผล บอร์ดเกมการเงินในปัจจุบัน บริษัท ฟินไดซ์ เอ็ดดูเคชั่น จำกัด เป็นผู้พัฒนาเกมการเงินที่มุ่งเน้นการสร้างการเรียนรู้ผ่านประสบการณ์จริง โดยออกแบบเกมให้สอดคล้องกับสถานการณ์ทางการเงินที่บุคคลต้องเผชิญในชีวิตประจำวัน ซึ่งประกอบด้วยเกมสำคัญ ดังนี้ 1. Calculate your net worth รู้หน้าไม่รู้หนี้ เกมรู้หน้าไม่รู้หนี้มุ่งเน้นการสร้างความเข้าใจเกี่ยวกับภาระหนี้สินและสถานะทางการเงินที่แท้จริงของบุคคล เกมนี้จะช่วยฝึกทักษะการบริหารสินทรัพย์ การคำนวณความมั่งคั่งสุทธิ และการจัดการสภาพคล่อง ผ่านการจำลองชีวิตจริงได้ 2. Shop Me Please ซื้อฉันเถอะ เกมซื้อฉันเถอะเป็นเกมที่จำลองสถานการณ์การเลือกซื้อสินค้าและบริการภายใต้งบประมาณที่จำกัด ผู้เล่นจะต้องพิจารณาความจำเป็น ความคุ้มค่า และผลกระทบจากการใช้จ่ายแต่ละรายการ เกมนี้ช่วยพัฒนาทักษะการวางแผนการใช้จ่าย การจัดลำดับความสำคัญทางการเงิน และการตัดสินใจบริโภคอย่างมีเหตุผล 3. Risky Lossy มีฉันไว้ อุ่นใจนะ Risky Lossy เป็นเกมที่เสริมสร้างความเข้าใจด้านการบริหารความเสี่ยงและการประกันภัย โดยเฉพาะ ช่วยให้ผู้เล่นเข้าใจว่าการโอนย้ายความเสี่ยงด้วยประกันสามารถปกป้องความมั่งคั่งในชีวิตจริงได้ เน้นการเรียนรู้เรื่องความเสี่ยงและผลตอบแทน 4. The Next Step บันไดภาษี The Next Step เป็นบอร์ดเกมจำลองสถานการณ์ภาษีเงินได้บุคคลธรรมดาที่ออกแบบโดย Findice โดยจำลองกระแสรายได้ รายจ่าย และให้ผู้เล่นวางแผนใช้สิทธิลดหย่อนภาษี เป้าหมายหลักของเกมคือการทำความเข้าใจโครงสร้างอัตราภาษีแบบก้าวหน้าเพื่อหลีกเลี่ยงการเสียภาษีเกินความจำเป็น 5. Trade In Trade Out แลกไปแลกมา Trade In Trade Out เป็นการ์ดเกมและบอร์ดเกมจำลองสถานการณ์การแลกเปลี่ยนสิ่งของ (Barter System) ออกแบบมาเพื่อสอนพื้นฐานการเงิน การต่อรอง และความสำคัญของการประเมินมูลค่าสิ่งของ โดยไม่มีเงินตราเป็นสื่อกลาง ผู้เล่นจะต้องสวมบทบาทในยุคที่ยังไม่มีเงินสด และต้องใช้วิธีนำสิ่งของที่มีอยู่ไปแลกเปลี่ยนกับผู้เล่นคนอื่นเพื่อให้ได้ไอเทมที่ต้องการ 6. Trader Hunter หุ้นซิ่งทะลุกระดาน Trader Hunterเป็นเกมจำลองการลงทุนในตลาดหุ้นที่ เกมนี้ช่วยให้ผู้เล่นได้ปูพื้นฐานการลงทุนในหุ้น 8 กลุ่มอุตสาหกรรม เรียนรู้การทำกำไรทั้งสายเก็งกำไรระยะสั้น (Day Trade) และสายออมหุ้นระยะยาวเพื่อรับปันผล (Value Investor) พร้อมสร้างความเข้าใจเรื่องการกระจายความเสี่ยง การวิเคราะห์ข้อมูล และการรับมือกับข่าวสารเหตุการณ์โลกที่มีผลกระทบต่อราคาหุ้น โดยเป้าหมายหลักคือการเรียนรู้วิธีบริหารพอร์ตการลงทุนและเสริมสร้างความเข้าใจเกี่ยวกับการลงทุนอย่างมีเหตุผลและการบริหารความเสี่ยงในการลงทุน การประยุกต์ใช้เกมการเงินในงานการศึกษา เกมการเงินสามารถนำมาประยุกต์ใช้ในการจัดการเรียนการสอนทั้งในระดับมัธยมศึกษา อาชีวศึกษา และอุดมศึกษา โดยเฉพาะในสาขาการเงิน การบัญชี เศรษฐศาสตร์ และบริหารธุรกิจ เนื่องจากช่วยให้ผู้เรียนสามารถเรียนรู้ผ่านการปฏิบัติจริงมากกว่าการจดจำเนื้อหาเชิงทฤษฎี การใช้เกมการเงินในชั้นเรียนช่วยส่งเสริมรูปแบบการเรียนรู้แบบ Active Learning ทำให้ผู้เรียนมีส่วนร่วมในการเรียนรู้มากขึ้น อีกทั้งยังช่วยพัฒนาทักษะการคิดวิเคราะห์ การแก้ปัญหา การสื่อสาร และการทำงานเป็นทีม นอกจากนี้ ผู้สอนยังสามารถใช้เกมเป็นกรณีศึกษาเพื่อเชื่อมโยงกับเนื้อหารายวิชาต่าง ๆ เช่น การวางแผนการเงินส่วนบุคคล การบริหารความเสี่ยง การลงทุน และการเป็นผู้ประกอบการ โดยผลลัพธ์ที่สำคัญคือผู้เรียนสามารถพัฒนาความรู้ทางการเงินควบคู่กับการพัฒนาทักษะที่จำเป็นต่อการทำงานและการดำรงชีวิตในอนาคต การประยุกต์ใช้เกมการเงินในงานบริการวิชาการ นอกจากประโยชน์ด้านการศึกษาแล้ว เกมการเงินยังสามารถนำไปใช้เป็นเครื่องมือสำคัญในการดำเนินงานบริการวิชาการแก่สังคม โดยเฉพาะการส่งเสริมความรู้ทางการเงินให้แก่ประชาชน นักเรียน ผู้ประกอบการ วิสาหกิจ
  กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานสายวิชาการ
ผู้เขียน ประภาพร กิจดำรงธรรม  วันที่เขียน 16/9/2569 15:58:17  แก้ไขล่าสุดเมื่อ 19/9/2569 4:29:40   เปิดอ่าน 25  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
การใช้เครื่องมือ Image Recognition สำหรับผู้เริ่มต้นด้วย CNN ใน R Studio เป็นแนวทางให้ผู้ใช้สามารถนำเทคนิค Deep Learning มาประยุกต์กับงานจำแนกรูปภาพผ่านเครื่องมือและไลบรารีที่ » การใช้ ICT เพื่อเพิ่มประสิทธิภาพในการปฏิบัติงาน (การใช้ AI เพื่อเพิ่มประสิทธิภาพในการปฏิบัติงาน)
การอบรมเชิงปฏิบัติการนี้มุ่งเน้นการนำเทคโนโลยีสารสนเทศ (ICT) โดยเฉพาะปัญญาประดิษฐ์ (AI) มาประยุกต์ใช้เพื่อยกระดับประสิทธิภาพการทำงาน ผู้เข้าร่วมจะได้เรียนรู้การใช้เครื่องมือ AI อัจฉริยะในการจัดการ...
  กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานสายวิชาการ
ผู้เขียน พิชิต สิทธิกัน  วันที่เขียน 4/9/2569 6:01:41  แก้ไขล่าสุดเมื่อ 19/9/2569 6:49:15   เปิดอ่าน 36  ครั้ง | แสดงความคิดเห็น 0  ครั้ง
การใช้เครื่องมือ Image Recognition สำหรับผู้เริ่มต้นด้วย CNN ใน R Studio เป็นแนวทางให้ผู้ใช้สามารถนำเทคนิค Deep Learning มาประยุกต์กับงานจำแนกรูปภาพผ่านเครื่องมือและไลบรารีที่ » ระดมความคิดเห็นพิจารณาร่างมาตรฐนอาชีพและคุณวุฒิวิชาชีพ สาขาวิชาชีพอุตสาหกรรมดิจิทัล อาชีพนักพัฒนาระบบบปัญญาประดิษฐ์ ระดับ 5
การประชุมระดมความคิดเห็นนี้จัดขึ้นเพื่อพิจารณาและปรับปรุงร่างมาตรฐานอาชีพนักพัฒนาระบบปัญญาประดิษฐ์ ระดับ 5 โดยมุ่งเน้นการกำหนดสมรรถนะ ทักษะ และความรู้ที่จำเป็นสำหรับบุคลากรในอุตสาหกรรมดิจิทัลให้สอ...
  กลุ่มงานตามสมรรถนะบุคลากร   กลุ่มงานสายวิชาการ
ผู้เขียน พิชิต สิทธิกัน  วันที่เขียน 4/9/2569 5:57:12  แก้ไขล่าสุดเมื่อ 19/9/2569 6:49:23   เปิดอ่าน 45  ครั้ง | แสดงความคิดเห็น 0  ครั้ง